記事検索

検索ワードを入力してください。
Sky Tech Blog
【AWS】VPC間の​連携:PrivateLinkの​実現方​法と​注意ポイント

【AWS】VPC間の​連携:PrivateLinkの​実現方​法と​注意ポイント

AWS PrivateLinkを使用して異なるVPC間(異なるアカウントを含む)を連携させる方法について説明しています。VPC Peeringの制限を回避し、PrivateLinkを利用したシステム間連携の手順と注意点を解説しています。

AWSで異なるVPC間(アカウントが違う場合も含む)を連携させたいという場面がしばしばあるかと思います。
比較的よく知られているものとしてVPC PeeringでVPC間を直接つなげる方法がありますが、 VPC Peeringを用いる場合は連携するVPC間でIPアドレスがかぶらないようにしたり、 複数のVPC間を連携させる場合はそれぞれを相互に接続する必要があるなどいくつか制限が存在します。

今回はVPC Peeringを用いないVPC間の連携方法であるAWS PrivateLink (以下、「PrivateLink」)について 簡単にですが解説と注意点についてご紹介いたします。

PrivateLinkの​特徴と​条件

PrivateLinkとはAWSで提供されている単体のサービス名ではなく、 VPCエンドポイントとVPCエンドポイントサービスを組み合わせた プライベートな通信によるシステム間連携を表します。

接続元ではVPCエンドポイントを作成、接続先ではVPCエンドポイントサービスを作成し それらをAWSの閉域網の中で直接接続する仕組みとなります。

AWS公式ページ:AWS PrivateLink の概念

PrivateLinkを実現するためには以下の条件が必要となります。

  • 接続元にVPCエンドポイントが存在する
  • 接続先にVPCエンドポイントサービスが存在する
  • 接続先のVPCエンドポイントサービスの先にNetwork Load Balancer (以下、「NLB」)が存在する

PrivateLinkの​構築手順

構築の大まかな手順は以下の通りとなります。

1.接続先側で​VPCエンドポイントサービスを​作成する

  • ロードバランサーのタイプでネットワークを選択し、呼び出したいNLBを指定する
  • エンドポイントの承諾が必要にチェックを入れる

2.作成した​VPCエンドポイントサービスの​サービス名を​控える

3.作成した​VPCエンドポイントサービスの​プリンシパル許可設定の​タブを​開き接続元の​アカウントを​以下のように​指定する​*

arn:aws:iam::(アカウントID):root

4.接続元側で​VPCエンドポイントを​作成する

  • タイプで「NLB と GWLBを使用するエンドポイントサービス」を選択し、サービス設定では手順2.で控えたVPCエンドポイントサービス名を指定する。
  • クロスアカウントの場合は、「サービスの検証」ボタンを押下して正当性を確認する。
    ※この際に手順3.のプリンシパルの設定を正しく行う必要がある。
  • 対象のサブネットやセキュリティグループも設定する。

5.接続先側の​エンドポイントサービスを​開き、​エンドポイント接続タブの​状態を​確認。

  • 承諾待ちであった場合、対象のエンドポイント接続を選択し、アクションから「エンドポイント接続リクエストの承諾」を実行。
    ※手順2.でエンドポイントの承諾が必要にチェックを入れた場合に承諾の手順が発生する。

PrivateLinkの​注意点

比較的簡単な設定で異なるアカウント間を接続できるようになりますが、以下の注意点が存在します。

  • 接続元側で動作するVPCエンドポイントのAZに対し、接続先側でも有効なNLBのバックエンドが同じAZ上に存在する必要がある
  • 接続先側では、リクエストのIPアドレスはNLBのIPに変換される

特に一つ目の動作するAZに関しては注意が必要です。接続元側のEC2ではなくVPCエンドポイントのAZと、VPCエンドポイントサービスの先にいるシステムの同一のAZが対となって呼び出されるので、同じAZの組み合わせが存在しない場合はエラーになってしまいます。

今回はPrivateLinkを用いたシステム間連携を紹介いたしました。

NLBが必要であることがハードルではありますが、 すでにNLBが存在しているシステムの場合はVPC Peeringよりも簡単かつ 制限なく連携が取れると思います。

複数のVPCが相互に連携する場合はPrivateLinkだけで実現することはまた難しい場合もあり 状況によってはAWS Transit Gatewayの方が有効な場合もあります。 VPC Peeringが必要なのか、PrivateLinkが利用できるのかを踏まえて システム間の連携方法を検討してみてください。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム