ウェブサーバー環境 - AWS Elastic Beanstalk

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

ウェブサーバー環境

次の図は、ウェブサーバー環境枠の Elastic Beanstalk アーキテクチャの例と、そのタイプの環境枠でのコンポーネントの連携を示しています。


      AWS Elastic Beanstalk アーキテクチャ図

環境はアプリケーションの中心です。この図では、環境は最上位の実線内に示されています。環境を作成すると、Elastic Beanstalk はアプリケーションの実行に必要なリソースをプロビジョニングします。環境用に作成された AWS リソースには、1 つの Elastic Load Balancing ロードバランサー (図の ELB)、Auto Scaling グループ、および 1 つ以上の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスがあります。

すべての環境に、ロードバランサーを指定する CNAME (URL) が含まれます。環境には、myapp.us-west-2.elasticbeanstalk.com などの URL があります。この URL は、Amazon Route 53 で CNAME レコードを使用することによって、abcdef-123456.us-west-2.elb.amazonaws.com のような別名の Elastic Load Balancing URL になります。Amazon Route 53 は、可用性と拡張性に優れたドメインネームシステム (DNS) ウェブサービスです。このサービスは、インフラストラクチャに対して安全で信頼できるルーティングを提供します。DNS プロバイダに登録したドメイン名は、CNAME にリクエストを転送します。

ロードバランサーは、Auto Scaling グループに属する Amazon EC2 インスタンスの前に配置されていますAmazon EC2 Auto Scaling は、アプリケーションへの負荷の増大に対応するために追加の Amazon EC2 インスタンスを自動的に開始します。アプリケーションへの負荷が軽減されると、Amazon EC2 Auto Scaling はインスタンスを停止しますが、少なくとも 1 つのインスタンスは実行されたままです。

Amazon EC2 インスタンスで実行するソフトウェアスタックは、コンテナタイプに応じて変わります。コンテナの種類によって、その環境に使用するインフラストラクチャのトポロジとソフトウェアスタックが定義されます。例えば、Apache Tomcat コンテナを含む Elastic Beanstalk 環境は、Amazon Linux オペレーティングシステム、Apache ウェブサーバー、および Apache Tomcat ソフトウェアを使用します。サポートされているコンテナタイプのリストについては、「Elastic Beanstalk でサポートされているプラットフォーム」を参照してください。これらのコンテナタイプのいずれかが、アプリケーションを実行する各 Amazon EC2 インスタンスによって使用されます。さらに、各 Amazon EC2 インスタンスでは、ホストマネージャー (HM) と呼ばれるソフトウェアコンポーネントも実行されますホストマネージャーは以下を行います。

  • アプリケーションのデプロイ

  • イベントとメトリクスの収集と取得(コンソール、API、またはコマンドラインを使用)。

  • インスタンスレベルのイベントの生成

  • アプリケーションログファイルで重大エラーがないかどうかを監視

  • アプリケーションサーバーの監視

  • インスタンスコンポーネントへの修正プログラムの適用

  • アプリケーションのログファイルのローテーションと、Amazon S3 への公開

ホストマネージャーは、メトリクス、エラーとイベント、サーバーインスタンスのステータスをレポートします。これらの情報は、Elastic Beanstalk コンソール、API、CLI を通じて利用できます。

この図では、Amazon EC2 インスタンスが 1 つのセキュリティグループに属しています。セキュリティグループは、インスタンスのファイアウォールのルールを定義します。デフォルトでは、Elastic Beanstalk によって 1 つのセキュリティグループが定義されます。この場合、全員がポート 80 (HTTP) を使用して接続できます。複数のセキュリティグループを定義することもできます。たとえば、データベースサーバーに対してセキュリティグループを定義できます。Amazon EC2 セキュリティグループの詳細、および Elastic Beanstalk アプリケーションに対してこのセキュリティグループを設定する方法については、「セキュリティグループ」を参照してください。