type
status
date
slug
summary
tags
category
icon
password
理論
1. SSL/TLS証明書と通信の暗号化
- *SSL(Secure Sockets Layer)とTLS(Transport Layer Security)**は、インターネット上でデータを安全に転送するためのプロトコルです。SSLはTLSの前身であり、現在はほとんどのシステムでTLSが使用されています。
- クライアントとサーバー間の通信を暗号化するためには、SSL/TLS証明書が必要です。これにより、通信が盗聴や改竄から保護されます。
- *AWS証明書マネージャー(ACM)**は、AWS上でSSL/TLS証明書を簡単に管理できるサービスです。これを使用すると、証明書の発行や更新を自動化できます。
2. AWSのロードバランサー
- *Application Load Balancer(ALB)**は、HTTP/HTTPSトラフィックをターゲットインスタンスに転送する際に使用されるロードバランサーです。ALBはレイヤー7(アプリケーション層)で動作し、URLパスやホストヘッダーに基づいてトラフィックをルーティングすることができます。
- *Network Load Balancer(NLB)**は、TCPトラフィックを高速で処理するために使用されるロードバランサーで、レイヤー4(トランスポート層)で動作します。NLBは、高速な通信が求められるケースや、静的IPアドレスを必要とするシナリオに適しています。
3. エンドツーエンド暗号化
- エンドツーエンド暗号化は、データが送信元から受信先に到達するまでの全経路で暗号化されることを意味します。これにより、途中でデータが傍受されても解読できません。
- クライアントからウェブサーバーまでの通信を暗号化するために、SSL/TLS証明書をALBに設定して、ALBがクライアントとの接続を暗号化し、その後の通信をEC2インスタンスに暗号化された状態で転送することが一般的です。
4. SSL/TLS証明書の配置場所
- ALBにSSL証明書を設定する場合、ALBがクライアントとの暗号化通信を担当し、その後の通信(ALBとEC2インスタンス間)はオプションで暗号化するか、平文で転送することも可能です。
- EC2インスタンスにSSL証明書を設定する場合、ALBがSSLの終端処理を行わず、インスタンス間でもSSL通信を行う必要があります。これを「エンドツーエンド暗号化」と呼びます。
5. CloudFrontとターゲットグループ
- Amazon CloudFrontは、AWSのCDN(コンテンツ配信ネットワーク)サービスで、グローバルなキャッシュを使用してウェブコンテンツを高速に配信します。CloudFrontを使ってSSL証明書を設定し、オリジンサーバー(ターゲットグループ)との接続を暗号化することができます。
- ターゲットグループは、ロードバランサーの背後に配置されるリソースの集合で、ALBやNLBがどのインスタンスにトラフィックを転送するかを決定します。
これらの知識を理解することで、AWS環境でのセキュアなアプリケーションホスティングやトラフィックのロードバランシングに関する適切な選択ができるようになります。
実践

一問道場
質問 #49
ある企業がAWSでウェブアプリケーションをホストし、トラフィックを複数のAmazon EC2インスタンスにロードバランスすることを計画しています。セキュリティ要件の1つは、クライアントとウェブサーバー間での通信のエンドツーエンド暗号化を有効にすることです。
どのソリューションがこの要件を満たしますか?
- A.
EC2インスタンスをアプリケーションロードバランサー(ALB)の背後に配置します。
AWS証明書マネージャー(ACM)を使用してSSL証明書をプロビジョニングし、その証明書をALBに関連付けます。
SSL証明書をエクスポートして各EC2インスタンスにインストールします。
ALBをポート443でリッスンし、インスタンスのポート443にトラフィックを転送するように構成します。
- B.
EC2インスタンスをターゲットグループに関連付けます。
AWS証明書マネージャー(ACM)を使用してSSL証明書をプロビジョニングします。
Amazon CloudFrontディストリビューションを作成し、SSL証明書を使用するように設定します。
CloudFrontをターゲットグループをオリジンサーバーとして使用するように設定します。
- C.
EC2インスタンスをアプリケーションロードバランサー(ALB)の背後に配置します。
AWS証明書マネージャー(ACM)を使用してSSL証明書をプロビジョニングし、その証明書をALBに関連付けます。
サードパーティ製のSSL証明書をプロビジョニングし、それを各EC2インスタンスにインストールします。
ALBをポート443でリッスンし、インスタンスのポート443にトラフィックを転送するように構成します。
- D.
EC2インスタンスをネットワークロードバランサー(NLB)の背後に配置します。
サードパーティ製のSSL証明書をプロビジョニングし、それをNLBおよび各EC2インスタンスにインストールします。
NLBをポート443でリッスンし、インスタンスのポート443にトラフィックを転送するように構成します。
解説
この質問は、「クライアントからEC2インスタンスまでの通信をエンドツーエンドで暗号化するために、どのソリューションが適切か」を問うています。選択肢を詳しく検討し、正しい解答を導きます。
要件のポイント
- エンドツーエンド暗号化: クライアントからロードバランサー(ALBまたはNLB)を経由し、EC2インスタンスに至るまで通信が暗号化される必要があります。
- HTTPS通信: クライアントからロードバランサー、およびロードバランサーからEC2インスタンス間でHTTPS通信を確立。
- SSL証明書の適切な配置: 通信の暗号化を担保するため、ロードバランサーとEC2インスタンスの両方にSSL証明書が必要です。
選択肢の分析
A.
- 構成:
- ALBでAWS証明書マネージャー(ACM)の証明書を使用し、ALBとクライアント間を暗号化。
- ACM証明書をエクスポートしてEC2インスタンスにインストールし、ALBとEC2間も暗号化。
- ALBがポート443でリッスンし、EC2インスタンスのポート443にトラフィックを転送。
- 評価:
ACM証明書を直接エクスポートしてEC2インスタンスにインストールすることはできません。そのため、この構成は実現不可能です。
- 結論: 不正解。
B.
- 構成:
- CloudFrontでACM証明書を使用し、クライアントとCloudFront間を暗号化。
- CloudFrontからターゲットグループ(EC2インスタンス)への通信をHTTPSで行う。
- 評価:
CloudFrontは一般的にキャッシュ分散のために使用され、ロードバランサーとしての機能を補うものではありません。また、CloudFrontとEC2インスタンス間の暗号化要件を満たすための設定が曖昧です。
- 結論: 不正解。
C.
- 構成:
- ALBでACM証明書を使用し、クライアントとALB間を暗号化。
- サードパーティ製のSSL証明書を使用してEC2インスタンスにインストールし、ALBとEC2間も暗号化。
- ALBがポート443でリッスンし、インスタンスのポート443にトラフィックを転送。
- 評価:
サードパーティ製SSL証明書をEC2インスタンスにインストールすることで、ALBとEC2インスタンス間の通信も暗号化され、要件を完全に満たします。
- 結論: 正解。
D.
- 構成:
- NLBを使用し、サードパーティ製のSSL証明書をNLBとEC2インスタンスの両方にインストール。
- NLBがポート443でリッスンし、インスタンスのポート443に転送。
- 評価:
NLBは通常、レイヤー4(TCP/UDP)での動作を目的としており、HTTPSのプロトコルレベルの処理は行いません。そのため、NLBを用いてエンドツーエンド暗号化を設定するのは非効率的です。
- 結論: 不正解。
解答: C
エンドツーエンドの暗号化を実現するには、ロードバランサーとEC2インスタンスの両方にSSL証明書を配置し、ALBとサードパーティ製証明書の組み合わせが最も適切です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/169d7ae8-88e2-801e-8592-e830ead6559e
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章