AWS ウェブホスティングアーキテクチャの主要コンポーネント
以下のセクションでは、AWS クラウドでデプロイされるウェブホスティングアーキテクチャの主要なコンポーネントについていくつか概説し、従来型のウェブホスティングアーキテクチャとの違いを説明します。
ネットワーク管理
AWS クラウドでは、他のお客様のネットワークから自分のネットワークを分離する機能で、より安全でスケーラブルなアーキテクチャが可能になります。セキュリティグループがホストレベルのセキュリティ (ホストセキュリティセクションを参照) を提供する一方で、Amazon Virtual Private Cloud
Amazon VPC は AWS でのネットワークのセットアップの詳細を完全にコントロールするサービスです。こうしたコントロールの例としては、ウェブサーバーのパブリック側のサブネットの作成や、データベースのインターネット接続がないプライベートサブネットの作成があります。さらに、Amazon VPC では、ハードウェアバーチャルプライベートネットワーク (VPN) を使用してハイブリッド型アーキテクチャを作成でき、また固有のデータセンターの拡張機能として AWS クラウドを使用できます。
Amazon VPC には、お使いのネットワークの従来型の IPv4
コンテンツ配信
ウェブトラフィックが地理的に分散している場合、インフラストラクチャ全体を世界中にレプリケートすることは常に実現可能であるとは限らず、費用効果も間違いなく高くありません。コンテンツ配信ネットワーク
CloudFront を使用すると、エッジロケーションのグローバルネットワークを使用して、動的、静的、ストリーミングコンテンツを含むウェブサイトを配信できます。CloudFront は可能な限り最高のパフォーマンスでコンテンツが配信されるように、コンテンツのリクエストを、最も近いエッジロケーションに自動的にルーティングします。CloudFront は、Simple Storage Service (Amazon S3)
他の AWS のサービスと同様に、CloudFront を使用するための契約やは月々の最低使用料金は不要です。サービスを通じて実際に配信されたコンテンツの量に応じてお支払いいただくだけです。
また、ウェブアプリケーションインフラストラクチャのエッジキャッシュに対する既存のソリューションは、AWS クラウドでも問題なく動作するはずです。
パブリック DNS の管理
ウェブアプリケーションを AWS クラウドに移行するには、ドメインネームシステム
ホストセキュリティ
AWS では、エッジでのインバウンドネットワークトラフィックのフィルタリングに加えて、ウェブアプリケーションではホストレベルでネットワークトラフィックフィルタリングを適用することも推奨しています。Amazon EC2
1 つ以上のセキュリティグループを各 EC2 インスタンスに割り当てることができます。各セキュリティグループは、各インスタンスへの適切なトラフィックを許可します。セキュリティグループは、特定のサブネットまたは IP アドレス、リソースのみが EC2 インスタンスにアクセスできるように設定できます。また、他のセキュリティグループを参照して、特定のグループに属する EC2 インスタンスへのアクセスを制限することもできます。
図 3 の AWS ウェブホスティングアーキテクチャでは、ウェブサーバークラスターのセキュリティグループが、ウェブレイヤーのロードバランサーからのみ、かつポート 80 と 443 (HTTP と HTTPS) の TCP 経由でのアクセスのみを許可します。一方、アプリケーションサーバーのセキュリティグループは、アプリケーションレイヤーのロードバランサーからのアクセスのみを許可します。このモデルでは、サポートエンジニアも EC2 インスタンスにアクセスする必要があります。これは AWS Systems Manager Session Manager で実現できます。セキュリティに関するさらに詳しい説明については、AWS クラウドセキュリティ
クラスター全体のロードバランシング
ハードウェアロードバランサーは、従来型のウェブアプリケーションアーキテクチャで使用される一般的なネットワークアプライアンスです。AWS では、Elastic Load Balancing
その他のホストとサービス
従来型のウェブホスティングアーキテクチャでは、ホストの大半が静的 IP アドレスを持ちます。AWS クラウドでは、ホストの大半がダイナミック IP アドレスを持ちます。それぞれの EC2 インスタンスには、パブリックとプライベートの両方の DNS エントリがあり、インターネットを通じてアドレス指定されますが、DNS エントリと IP アドレスは、インスタンスを起動するときに動的に割り当てられます。手動で割り当てることはできません。静的 IP アドレス (AWS 用語で Elastic IP アドレス) は、起動後の実行中インスタンスに割り当てることができます。プライマリデータベース、集中ファイルサーバー、EC2 がホストするロードバランサーなど、一貫したエンドポイントを必要とするインスタンスとサービスでは、Elastic IP アドレスを使用する必要があります。
ウェブアプリケーション内でのキャッシング
インメモリアプリケーションキャッシュは、頻繁に使用される情報をキャッシュすることにより、サービスの負荷を減らし、データベースレイヤーのパフォーマンスとスケーラビリティを向上させることができます。Amazon ElastiCache