ヤマムギ

growing hard days.

*

別アカウントのVPCからAWS PrivateLinkを使う

      2023/02/12

VPC エンドポイントサービス (AWS PrivateLink)を参考にしました。

NLB + EC2 の構成

右側サービス側のNLB+EC2の構築手順は割愛します。
NLBは内部向けにしました。
EC2は以下のユーザーデータで、画面上にインスタンスの情報が表示されるWebサーバーにしています。

エンドポイントサービスの作成

VPCの[エンドポイントサービスの作成]から作成しました。
NLBを選択して、[エンドポイントの承諾が必要]を有効にしました。

VPCエンドポイントサービス、プリンシパルの許可を設定

作成したエンドポイントサービスを選択して、[ホワイトリストにプリンシパルを追加する]アクションから、コンシューマー側(呼び出し元)のアカウントを追加しました。
123456789012 はもう一方のアカウントIDです。

arn:aws:iam::123456789012:root

arn:aws:iam::123456789012:rootの形式で指定すると、アカウントID123456789012でVPCエンドポイントの作成が許可されたIAMユーザー、IAMロールがVPCエンドポイントを作成できます。
もしもエンドポイントサービスを提供する側が、ほかアカウントで許可されるIAMロールやIAMユーザーを限定したい場合は、arn:aws:iam::123456789012:user/usernameや、arn:aws:iam::123456789012:role/rolenameを指定します。

VPCエンドポイントの作成に必要なので、サービス名をメモっておきました。

VPCエンドポイントの作成

123456789012のアカウントで、VPCエンドポイントを作成しました。

[サービスを名前で検索]を選択して、メモっておいたサービス名を入力して[検証]ボタンを押下しました。
操作しているIAMユーザーにVPCエンドポイントの作成が許可されていれば、サービスが見つかります。

サポートされるAZはNLBが設定されているAZのみになりました。

作成すると、[承諾の保留中]となりました。

エンドポイントサービスで承諾する

エンドポイントサービス側のアカウントに戻り、[エンドポイント接続]タブで承諾をしました。

コンシューマーEC2から接続してみる。

EC2インスタンスを起動して、curlコマンドで、VPCエンドポイントのDNSにリクエストしてみました。

エンドポイントサービス側のEC2インスタンスの情報が見れました。

エンドポイント作成後に特定のエンドポイントからのリクエストを拒否したい場合

エンドポイントサービス側で、「エンドポイント接続リクエストの却下」を選択します。
状態がRejectになり、接続しようとしてもエラーになります。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

Cloud9初回アクセス時にCodeCommitのリポジトリを自動でクローンする

CloudFormationからCloud9環境を作成する際に、Reposito …

Amazon API GatewayのIAM認証の動作を確認しました

API GatewayのIAM認証は、IAMユーザーが実行できるように認証する、 …

AWS Wavelengthゾーンを有効にする

画面上で確認しておきたかったので有効にしておきました。 AWS Waveleng …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

AWS CLIからIAM Identity CenterへサインインしてCodeCommitのリポジトリを使用する

Macで操作しました。 AWS CLIバージョンアップ [crayon-6a37 …

AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う

この記事はSelenium/Appium Advent Calendar 201 …

Amazon Chimeのチャットを使ってみました

Amazon Chimeはビデオミーティングや配信したりというサービスですが、チ …

RDS for MySQL のインスタンスタイプ変更

当ブログのデータベースは、RDS for MySQLです。 個人利用ですし、障害 …

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順

ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …

5分でAlexaスキルを作る

「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …