ロードバランシング用に Lightsail インスタンスを設定する - Amazon Lightsail

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ロードバランシング用に Lightsail インスタンスを設定する

Amazon Lightsail ロードバランサーにインスタンスをアタッチする前に、アプリケーションの設定を評価する必要があります。たとえば、ロードバランサーは多くの場合、データ層がアプリケーションの残りの部分と分離されている方が適切に動作します。このトピックでは、各 Lightsail インスタンスについて説明し、ロードバランシング (または水平スケーリング) を行うかどうか、およびアプリケーションに最適な設定方法についてレコメンデーションを提供します。

一般的なガイドライン: データベースを使用するアプリケーション

データベースを使用する Lightsail アプリケーションの場合、データベースインスタンスをアプリケーションの残りの部分から分離して、データベースインスタンスを 1 つだけにすることをお勧めします。主な理由は、複数のデータベースにデータが書き込まれないようにすることです。1 つのデータベースインスタンスを作成しない場合、ユーザーがたまたまヒットしたインスタンス上のデータベースにデータが書き込まれます。

WordPress

水平スケーリングを行いますか? はい。 WordPress ブログまたはウェブサイトのいずれかです。

Lightsail ロードバランサーを使用する前の設定の推奨事項

  • ロードバランサーの背後で実行されているすべての WordPress インスタンスが同じ場所から情報を保存および取得するように、データベースを分離します。データベースのより高いパフォーマンスが必要な場合、ウェブサーバーとは別個に処理能力やメモリをレプリケートまたは変更することができます。

  • ファイルと静的コンテンツを Lightsail バケットにオフロードします。これを行うには、 WordPress ウェブサイトに WP Offload Media Lite プラグインをインストールし、Lightsail バケットに接続するように設定する必要があります。詳細については、「チュートリアル: インスタンスを WordPressストレージバケットに接続する」を参照してください。

Node.js

水平スケーリングを行いますか? はい。ただし、いくつかの考慮事項があります。

Lightsail ロードバランサーを使用する前に設定に関する推奨事項

  • Lightsail では、Bitnami によってパッケージ化された Node.js スタックには、Node.js、Apache、Redis (インメモリデータベース)、および Python が含まれています。デプロイするアプリケーションに応じて、いくつかのサーバー間でロードバランシングすることができます。ただし、すべてのウェブサーバー間でトラフィックが分散され、Redis が別のサーバーに移動されるようにロードバランサーを設定する必要があります。

  • Redis サーバーを別のサーバーに分割して、すべてのインスタンスと通信します。必要に応じて、データベースサーバーを追加します。

  • Redis の主なユースケースの 1 つは、データをローカルにキャッシュするため、中央のデータベースに継続的にヒットする必要はありません。Redis によるパフォーマンス向上を活用するには、セッション永続性を有効にすることをお勧めします。詳細については、「ロードバランサーのセッション永続性を有効にする」を参照してください。

  • 共有 Redis ノードを作成することもできるため、セッション永続性を使用する各マシンでノードを共有したり、ローカルキャッシュを使用したりすることもできます。

  • Apache を使用してロードバランサーをデプロイする場合は、mod_proxy_balancer を Apache サーバーに含めることを検討してください。

詳細については、「Scaling Node.js applications」を参照してください。

Magento

水平スケーリングを行いますか? はい。

Lightsail ロードバランサーを使用する前の設定の推奨事項

  • Amazon RDS データベースなどの追加のコンポーネントを使用する Magento の AWS リファレンスデプロイを使用できます。Terraform Magento Adobe Commerce on AWS

  • 必ず、セッション永続性を有効にしてください。Magento はショッピングカートを使用しているため、セッションをまたいで複数回訪問するお客様が、新しいセッションで戻ってきたときもショッピングカート内に商品を保持することができます。詳細については、「ロードバランサーのセッション永続性を有効にする」を参照してください。

GitLab

水平スケーリングを行いますか? はい。ただし、考慮事項があります。

Lightsail ロードバランサーを使用する前に設定に関する推奨事項

以下を準備する必要があります。

  • 実行されており、使用準備ができた Redis ノード

  • 共有ネットワークストレージサーバー (NFS)

  • アプリケーションの一元化されたデータベース (MySQL または Postgre SQL)。上記のデータベースに関する一般的なガイドラインを参照してください。

詳細については、 GitLabウェブサイトの「高可用性」を参照してください。

注記

上記の共有ネットワークストレージサーバー (NFS) は、現在 GitLab 設計図では使用できません。

Drupal

水平スケーリングを行いますか? はい。Drupal には、アプリケーションを水平スケーリングする方法を説明する公式ドキュメント「Server Scaling」があります。

Lightsail ロードバランサーを使用する前の設定の推奨事項

異なるインスタンス間でファイルが同期されるように Drupal モジュールを設定する必要があります。Drupal ウェブサイトにはいくつかのモジュールがありますが、本稼働使用ではなくプロトタイプ作成の方に適している可能性があります。

ファイルを Amazon S3 に保存できるモジュールを使用します。これにより、ターゲットインスタンスごとに別個のコピーを保持するのではなく、ファイルを一元化された場所に保存できます。このようにして、ファイルを編集した場合、ヒットしたインスタンスに関係なく、一元化されたストアから更新を取得してユーザーに同じファイルを表示できます。

詳細については、「Scaling Drupal horizontally and in cloud」(Drupal を水平方向とクラウドでスケーリングする) を参照してください。

LAMP スタック

水平スケーリングを行いますか? はい。

Lightsail ロードバランサーを使用する前の設定の推奨事項

  • 別のインスタンスにデータベースを作成する必要があります。ロードバランサーの背後にあるすべてのインスタンスは、この別個のデータベースインスタンスをポイントするため、同じ場所に情報を保存および取得できます。

  • デプロイするアプリケーションに応じて、ファイルシステム (NFS、Lightsail ブロックストレージディスク、または Amazon S3 ストレージ) を共有する方法を検討します。

MEAN スタック

水平スケーリングを行いますか? はい。

Lightsail ロードバランサーを使用する前に設定に関する推奨事項

MongoDB を別のマシンに移動し、Lightsail インスタンス間でルートドキュメントを共有するメカニズムを設定します。

Redmine

水平スケーリングを行いますか? はい。

Lightsail ロードバランサーを使用する前に設定に関する推奨事項

  • Redmine_s3 プラグインを取得し、添付ファイルをローカルファイルシステムではなく Amazon S3 に格納します。

  • 別のインスタンスにデータベースを分離します。

Nginx

水平スケーリングを行いますか? はい。

1 つ以上の Lightsail インスタンスで Nginx を実行し、Lightsail ロードバランサーにアタッチできます。詳細については、「 を使用したウェブアプリケーションのスケーリングNGINX」、パート 1: Load Balancing を参照してください。

Joomla!

水平スケーリングを行いますか? はい。ただし、考慮事項があります。

Lightsail ロードバランサーを使用する前に設定に関する推奨事項

Joomla ウェブサイトに公式ドキュメントはありませんが、コミュニティフォーラムで議論されています。一部のユーザーは、次の設定のクラスターを作成して Joomla インスタンスを水平スケーリングしています。

  • セッション永続化を有効にするように設定された Lightsail ロードバランサー。詳細については、「ロードバランサーのセッション永続性を有効にする」を参照してください。

  • Joomla を実行しているいくつかの Lightsail インスタンスは、Joomla! のドキュメントルートが同期された状態でロードバランサーにアタッチされています。これは、Rsync などのツール、すべての Lightsail インスタンス間でコンテンツの同期を担当する NFSサーバー、または を使用したファイルの共有を使用して実行できます AWS。

  • レプリケーションクラスターで設定されたいくつかのデータベースサーバー。

  • 各 Lightsail インスタンスで設定された同じキャッシュシステム。など、便利な拡張機能がいくつかありますJotCache