AWS PrivateLink でエンドツーエンドの HTTPS 接続を有効にするには、どうすれば良いですか?
最終更新日: 2019 年 8 月 20 日
コンシューマー VPC のクライアントと、サービスプロバイダー VPC の Network Load Balancer の背後で実行されているアプリケーションとのエンドツーエンド HTTPS 接続が必要です。AWS PrivateLink を使用してこれを行うには、どうすれば良いですか?
解決方法
- OpenSSL を使用するアプリケーション用の自己署名 X509 証明書を作成します。次に、ターゲットの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにインストールします。
重要: 証明書署名要求 (CSR) で指定する共通名がウェブサイトの完全修飾ドメイン名であることを確認してください。このエントリが、ユーザーがサイトにアクセスしたときに表示されるドメイン名 (www.example.com など) と一致しない場合、証明書エラーを受け取る可能性があります。 - AWS Certificate Manager (ACM) を使用して、ドメイン名の証明書をリクエストします。
注意: 証明書の不一致問題を防ぐため、ドメインのワイルドカード証明書をプロビジョニングすることをお勧めします。詳細については、ACM 証明書の特性でワイルドカード名を参照してください。 - Network Load Balancer の TLS リスナーを作成します。設定中に、デフォルト SSL 証明書の [ACM から] を選択します。次に、手順 2 で作成した SSL 証明書を選択します。
- AWS PrivateLink を使用して接続しているサービスのインターフェイスエンドポイントを作成します。
- Amazon Route 53 でドメイン用のプライベートホストゾーンを作成します。
- 手順 5 で作成したプライベートホストゾーンを手順 4 で作成したインターフェイスエンドポイントを持つ VPC に関連付けます。
- ドメイン名を使用してトラフィックをインターフェイスエンドポイントにルーティングします。設定中に、手順 5 で作成したプライベートホストゾーンにエイリアスレコードセットを作成します。エイリアスターゲットの場合、トラフィックをルーティングするインターフェイスエンドポイントの DNS 名を選択します。
- 新しいレコードセットを使用して、サービスエンドポイントにアクセスします。インターフェイスエンドポイントのプライベート IP アドレスで、DNS が正しく解決されることを確認してください。