
AWS を使用しています。アプリケーション ロード バランサー (ALB) が前面にある自動スケーリング ("ターゲット") グループ内の EC2 インスタンスで実行されているシンプルなアプリケーション サーバーがあります。ALB のドメイン名は、DNS で開発サブドメイン ( など) に CNAME マッピングされています。したがって、 、 、PostMan などdev.myapp.example.com
を使用して に HTTP 要求を発行し、そこから応答を取得できます。これらの要求は、ALB (自動スケーリング グループ内) の背後にある EC2 インスタンス間で負荷分散されます。curl
wget
http://dev.myapp.example.com
MyCloudDB
これらの EC2 インスタンスで実行されているアプリケーション サーバーは、サードパーティの Database-as-a-Service に接続する必要があります。この質問では、このクラウド DB を「 」と呼びます。
EC2インスタンスを手動でプロビジョニングし、そこにアプリケーションサーバーをデプロイする場合、EC2インスタンスと通信するにはMyCloudDB
、MyCloudDB
、EC2インスタンスのパブリックIPを/32サブネットでアクセスリストする必要があります(正直に言うと、/32サブネットではなぜなのか分からない)。たとえば、AWS がインスタンスのパブリック IP を として割り当てた場合、に1.2.3.4
ログインしてMyCloudDB
のアクセス リスト エントリを追加する必要があります1.2.3.4/32
。そうして初めて、アプリケーション サーバー (新しい EC2 インスタンスで実行中) が に接続できるようになりますMyCloudDB
。
この許可/アクセス リスト設定を ALB とその自動スケーリング グループと互換性のあるものにする方法を考えています。明らかに、自動スケーリング グループ内の EC2 インスタンスは一時的なものであり、自動スケーリング ルールに応じて起動および終了されます。これを動的/柔軟にする必要があるため、MyCloudDB
ALB の背後にある EC2 インスタンスからのリクエストを「信頼する」ように指示する方法が必要です。そして、当然ながら、セキュリティを緩めすぎて自分自身に頭痛の種を作らないようにする必要があります。
はMyCloudDB
3 種類のネットワーク アクセス オプションを提供します。
- IP アクセス リスト (_現在私が使用しているもののみ)
- VPC ピアリング
- これにより、アプリVPCと
MyCloudDB
VPCをピアリングできるようになります
- これにより、アプリVPCと
- プライベートエンドポイント
- AWS PrivateLinkが接続できるようにする
MyCloudDB
- AWS PrivateLinkが接続できるようにする
- 管理REST API
- RESTful(Webサービス)API経由でIPアクセスリストを管理できます
MyCloudDB
EC2インスタンスライフサイクルフックを作成して、インスタンスのIPアドレスをIPアクセスリストに追加するスクリプトを実行したりcurl
、他のツールを実行したりできます。
自動化の観点から言えば、私が実際に持っているオプションは、VPC ピアリング、プライベート エンドポイント (PrivateLink)、または API 呼び出しの 3 つです。API 呼び出しオプションの長所と短所を区別することはできますが、"木を見て森を見る「VPC ピアリングと PrivateLink オプション」を参照してください。
あ大きな呼びかけ最終的には、この ALB を新しい (一時的な) 環境に展開する管理を行う CloudFormation テンプレートが必要になります。そのため、この接続ソリューションは、ALB の背後にある EC2 インスタンスで機能するだけでなく、CloudFormation 経由でプロビジョニングされる ALB でも機能する必要があります。
私の状況、コンテキスト、ニーズを考慮すると、VPC ピアリングと PrivateLink の利点と欠点は何ですか?
答え1
これはまさに PrivateLink が作られた目的です。彼らは事実上、VPC にネットワーク インターフェイスを配置し、ユーザーはそれにアクセスします。彼ら側では、それは NLB に到達し、彼らのデータベースに送られます。これは最小限の権限であり、私が行うことです。
VPC ピアリングにより、より多くのネットワークがより多くのネットワークに開放されます。IP 範囲が衝突すると、状況はさらに難しくなります。この状況では、利点は見当たりません。
IP アクセス リストが唯一のオプションである場合は、自動スケーリング グループに静的 IP が必要になります。各サブネットに NAT ゲートウェイを作成し、その Elastic IP をホワイトリストに登録することで、これを実現できます。