AWS PrivateLinkでサービスを提供する手順(提供者側の設定)
生徒
「先生、AWS PrivateLink(エーダブリュエス プライベートリンク)って使うと便利そうですが、サービスを提供する側はどんな設定をすればいいんですか?」
先生
「良い質問ですね。PrivateLinkを使って自分のサービスを他のユーザーに提供する場合、提供者側の設定が必要です。具体的にはVPCエンドポイントサービスを作成し、そこにネットワークロードバランサーを関連付ける方法を取ります。」
生徒
「なるほど。じゃあ、実際にどんな手順を踏めばいいのか教えてください!」
先生
「それでは、初心者でもわかるように手順をひとつずつ解説していきましょう。」
1. AWS PrivateLinkとは何かを理解しよう
AWS PrivateLink(エーダブリュエス プライベートリンク)は、インターネットを経由せずに、他のVPC(ブイピーシー:仮想プライベートクラウド)やSaaS(サース:ソフトウェア・アズ・ア・サービス)と安全に接続できる仕組みです。提供者側はVPCエンドポイントサービスを構築し、利用者側は自分のVPCにエンドポイントを作成して接続します。
2. 提供者側が準備すべきもの
サービスを提供する側がAWS PrivateLinkを使うには、いくつかの準備が必要です。
- サービスを動かすVPCとサブネット
- ターゲットとなるEC2インスタンスやコンテナ
- ネットワークロードバランサー(NLB:エヌエルビー)
- VPCエンドポイントサービスの設定
特にネットワークロードバランサーは、サービスとエンドポイントをつなぐ重要な役割を果たします。
3. ネットワークロードバランサーを作成する
まずはネットワークロードバランサー(Network Load Balancer:ネットワークロードバランサー)を作成します。NLBはレイヤ4で動作するロードバランサーで、VPCエンドポイントサービスと組み合わせることで、他のVPCからセキュアにサービスを利用できるようになります。
作成の流れは次のとおりです。
- ロードバランサーの種類で「ネットワークロードバランサー」を選択
- 対象のサブネットを指定
- リスナー(受け口)を設定
- ターゲットグループを作成し、バックエンドのEC2などを登録
4. VPCエンドポイントサービスを作成する
NLBを準備できたら、次にVPCエンドポイントサービスを作成します。手順は以下の通りです。
- AWSマネジメントコンソールで「VPC」サービスを開く
- 「エンドポイントサービス」を選択し、新規作成
- 関連付けるNLBを指定
- 利用者の接続承認を必須にするかを設定
- 作成したサービスに一意の名前(サービス名)が付与される
このサービス名を、利用者に伝えることで接続してもらえるようになります。
5. 承認とアクセス制御の設定
利用者が接続要求を送ってきた場合、提供者側が承認することで接続が確立されます。承認方式は次の2つです。
- 手動承認:利用者ごとに提供者が手動で承認する。
- 自動承認:特定のAWSアカウントや組織に対して自動的に承認する。
また、IAM(アイエーエム:Identity and Access Management)ポリシーを利用して、利用可能なアカウントを制御できます。
6. サービス提供の具体例
例えば、ログ収集サービスを提供する場合を考えてみましょう。提供者側はEC2でログ受け取りアプリケーションを動かし、NLBを介してエンドポイントサービスを公開します。利用者は自分のVPCからVPCエンドポイントを作成して接続することで、安全にログを送信できます。
このように、金融、医療、セキュリティ分野など高いセキュリティが求められる業界でPrivateLinkは広く活用されています。
7. 初心者向けのたとえ
AWS PrivateLinkでサービスを提供する手順を日常に例えると「社員専用の受付口」を作るようなものです。提供者は社員証を持つ人だけ通れる入口を準備し、利用者はその入口を通って安全に会社に入ります。外部の正面玄関(インターネット)を通らないので、安全で安心なのです。