1. はじめに
- 2024/11に、Privatelinkのクロスリージョン接続が可能になったとのこと。実業務でも使えそうなため、基本動作を確認する。
2. 予習
- いくつか関連記事を見て、以下のように理解した。
- すごくざっくり言って、Privatelinkは、自分のVPCからInternetに出ずに、(a)S3などのAWSサービス、(b)datadogなどのSaaS、(c) NLBなどを用いてユーザが作成したエンドポイントサービス の3つのどれかに接続することができる。
- 2024/11の本機能のリリース時点で、クロスリージョン接続可能なのは(b)と(c)。
- 業務で使いたいのは(c)なので、(c)の構成を検証する。
3. やったこと
- 東京リージョンにVPC、サブネット、EC2インスタンス(curlクライアント)を作成する。
- 大阪リージョンにVPC、サブネット、Internal NLB,EC2インスタンス(nginx)を作成し、NLBのターゲットグループにnginxを登録する。
- 大阪リージョンのVPCにエンドポイントサービスを作成し、公開対象リージョンとして東京を追加する。
- 東京リージョンのVPCにインターフェースエンドポイントを作成し、接続先として大阪リージョンのエンドポイントサービスを指定する。
- 東京リージョンのcurlクライアントから大阪リージョンのnginxまで接続できることを確認する。
4. 構成図
5. 手順
5.1 事前準備
- 東京リージョンにVPC1, サブネット, EC2インスタンス(Amazon Linux 2023)を作成する。
- 大阪リージョンにVPC2, サブネット, EC2インスタンス(Amazon Linux 2023にnginxをインストール)を作成する。
- 大阪リージョンのサブネットにInternal NLBを作成し、nginxのEC2インスタンスを含むターゲットグループを設定する。
5.2 エンドポイントサービスの作成(大阪リージョン)
- VPC > エンドポイントサービス -> エンドポイントサービスを作成 を選択。
- 作成済のInternal NLBを選択する。
- 「サポートされているリージョン」は最初空白となっているので、このエンドポイントサービスにアクセスさせたい他のリージョンを追加する。(今回は東京リージョンを追加)
- 他はデフォルトの値とする。
-
作成が完了したら、サービス名「com.amazonaws.vpce.ap-northeast-3.vpce-svc-123456789012345」をメモする。
-
このエンドポイントサービスは大阪リージョン(自リージョン)と、東京リージョン(追加指定)のインタフェースエンドポイントから接続可能。
5.3 インタフェースエンドポイントの作成(東京リージョン)
- VPC > エンドポイント > エンドポイントを作成 を選択。
- タイプは「NLBとGWLBを使用するエンドポイントサービス」を選択。
5.4 リクエストの承諾(大阪リージョン)
- エンドポイントサービス側でリクエストを承諾する。
5.5 接続確認
- 東京リージョンのEC2インスタンスから、作成したインターフェイスエンドポイント経由でcurlできることを確認。
[ec2-user@ip-10-0-2-65 ~]$ curl vpce-xxxxxxxxxxxxxxxxx-xxxxxxxx.vpce-svc-xxxxxxxxxxxxxxxxx.ap-northeast-3.vpce.amazonaws.com
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
6. ユースケース
- 業務上のシステムで以下の構成のものがある。
- 自システム(Consumer)は東京リージョン/大阪リージョンの両ACT構成
- 対向システム(Provider)は東京リージョンのみ
- 東京リージョン内では、自システムから対向システムへPrivatelink接続
- 自システム(大阪リージョン)は、peeringを用いて、自システム(東京リージョン)を経由して東京リージョン内のPrivatelinkを利用して接続
- 次作り直すときは、自システム(大阪リージョン)から、対向システムの東京リージョンに対してクロスリージョン接続してもよいかも。
7. 所感
- エンドポイントサービス側の設定で、接続を可能とするリージョンを個別に設定しておくこと以外は、これまでのリージョン内Privatelinkの設定と大差なく、普通に使って行けそうな気がした(料金の違いはあるが、、)。