こんばんは。小寺です。
AWSマネージメントコンソールにアクセスするときってどうされていますか。
プライベートアクセスなるものがGAになっております。
https://aws.amazon.com/about-aws/whats-new/2023/05/aws-management-console-private-access/
どのような仕組みなの?
プライベートアクセスという言葉に思わず反応しちゃいますよね。
仕組としては、AWS マネジメント コンソールの VPC エンドポイント ポリシーを使用して実装できます。静的コンテンツ (JavaScript、CSS、画像) や AWS PrivateLink で有効になっていないAWSリソースへアクセスするには、インターネット接続が引き続き必要です。
VPCエンドポイントはマネジメントコンソールでアクセスするリージョンごとに以下の2つが必要です。
・com.amazonaws.region.console
・com.amazonaws.region.signin
また、 US East (N. Virginia)リージョンにもアクセスの有無に関わらずVPCエンドポイントが必要です。
ネットワーク トラフィックをそれぞれの VPC エンドポイントにルーティングるためのDNS設定も必要です。
DNS側でaws.amazon.comのゾーンを作成して、CNAME設定を行います。
・AWS サインイン VPC エンドポイント用:region.signin.aws.amazon.com
・AWS マネジメントコンソール VPC エンドポイント用:region.console.aws.amazon.com
・米国東部 (バージニア北部) (us-east-1) の AWS サインイン VPC エンドポイント用:signin.aws.amazon.com
基本的にはこちらのDNSレコードでOKですが、サービスによってはsupport.console.aws.amazon.com、s3.console.aws.amazon.comなどFQDNが異なる場合があります。
どんなときに活用できそう?
オフィシャルドキュメントを確認する限りはクローズドネットワークに閉じてアクセスを目指すというよりは、
AWS マネジメント コンソールへのアクセスを、組織内のAWSアカウントに限定して利用をする意味合いが強いです。
メリットとしては、ユーザーがネットワーク内から意図していないAWSアカウントにサインインするのを防ぐことができます。
以下はVPCエンドポリシーで2アカウントのみに限定してる例です。
{ "Version": "2012-10-17",
"Statement": [ { "Effect": "Allow", "Principal": "", "Action": "", "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalAccount": [ "111122223333", "222233334444" ] } } } ] }
試してみる VPCエンドポイント作成
VPCエンドポイントを作成してみます。
VP追加設定で「DNS名を有効化」をチェックしておきます。
ポリシーは今回はフルアクセスで作成します。
試してみる Route53設定
Route53で「aws.amazon.com」ホストゾーンを作成してみます。
ホストゾーンにVPCを紐づけます。ホストゾーンを作成します。
接続してみる
CFテンプレートが提供されているので、VPCエンドポイント経由でS3アクセスの確認ができます。
対象リージョン
以下のリージョンで利用できます。東京リージョンでの利用が待ち遠しいですね。
・US East (Ohio)
・US East (N. Virginia)
・US West (Oregon)
・Europe (Ireland)
・Asia Pacific (Singapore)