EC2スケーリングでDrupalをセットアップするにはどうすればよいですか?
-
16-10-2019 - |
質問
Drupalサイトをスケーリングしたいのですが、DrupalとAmazon EC2でどのようにアプローチするのか疑問に思っていました。これは少し関連しています オンデマンドインスタンスでクラウドでDrupalを使用する方法.
Amazonを使用すると、サーバーを監視できます。特定のメトリックがヒットした場合、ロードバランスのある新しいインスタンスを起動できます。私の質問は次のとおりです。
- Drupalは、ユーザーが物事を行うように特定のファイルを作成しますか?すべてがデータベースにありますか? (すべてのノードが指す個別のデータベースサーバーがあります。)
- セッションはローカルですか、それともデータベースにもありますか?ユーザーがサーバーAに接続し、サーバーBに移動する状況を考えています。ユーザーは何かを失いますか?
それが役立つ場合、私はDrupal 6を使用しています。
解決
Drupal Coreコードは、ユーザーがファイルをアップロードしたときにのみファイルを作成します。サードパーティモジュールを使用すると、他の場合にファイルを作成できます。たとえば、使用している場合 Apache solr検索統合 一部のファイルを作成できます。代替キャッシュシステムを実装するモジュールを使用している場合、一部のファイルも作成できます。
sess_write() 「{Sessions}」テーブルにセッションIDを保存し、の値を一緒に
$user->cache
, 、ユーザーが接続するために使用するIPアドレスと現在のタイムスタンプ。
db_query("UPDATE {sessions} SET uid = %d, cache = %d, hostname = '%s', session = '%s', timestamp = %d WHERE sid = '%s'", $user->uid, isset($user->cache) ? $user->cache : '', ip_address(), $value, time(), $key);
if (db_affected_rows()) {
// Last access time is updated no more frequently than once every 180 seconds.
// This reduces contention in the users table.
if ($user->uid && time() - $user->access > variable_get('session_write_interval', 180)) {
db_query("UPDATE {users} SET access = %d WHERE uid = %d", time(), $user->uid);
}
}
他のヒント
2018年、 Bitnami Debian Linuxとすべての必要なコンポーネントを備えたLAMPスタックを備えたAWS EC2にDrupal 8をインストールするのに適したオプションです。 Drush&Composerを使用して、バージョンコントロール用のCMS、Gitを管理します。使用する必要があります AWS RDS と 弾力性のある豆のように Cluster Server構成でMySQLまたはMariaDBを使用する場合のデータベース同期のロードバランサーとして。