アベイラビリティーゾーン毎に使用できるVPCエンドポイントを調べてみた
リージョンにはアベイラビリティーゾーン (以下 AZ)が複数ありますが、AZ毎にできることが微妙に違ったりします。VPCエンドポイントもその1つです。今回は東京リージョンの各AZで、VPCエンドポイントの対応状況を調べて見ました。
調べてみる
まず、私のアカウントのアベイラビリティーゾーンのマッピングを確認します。
$ aws ec2 describe-availability-zones --query 'AvailabilityZones[].[ZoneName,ZoneId]' --output text ap-northeast-1a apne1-az4 ap-northeast-1c apne1-az1 ap-northeast-1d apne1-az2
VPCエンドポイントを一覧表示するコマンド結果を必要な項目に絞ります。
$ aws ec2 describe-vpc-endpoint-services \ --query 'sort_by(ServiceDetails,&ServiceName)[*].[ServiceName,join(`, `,AvailabilityZones)]' \ --output table
ap-northeast-1d
で対応していないエンドポイントがいくつかありますね。(2020/04/03現在)
----------------------------------------------------------------------------------------------------------------- | DescribeVpcEndpointServices | +---------------------------------------------------------+-----------------------------------------------------+ | aws.sagemaker.ap-northeast-1.notebook | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.access-analyzer | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.acm-pca | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.application-autoscaling | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.appmesh-envoy-management | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.appstream.api | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.appstream.streaming | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.athena | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.autoscaling | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.autoscaling-plans | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.awsconnector | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.cloudformation | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.cloudtrail | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.codebuild | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.codecommit | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.codepipeline | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.config | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.datasync | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.dynamodb | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ebs | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ec2 | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ec2messages | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ecr.api | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ecr.dkr | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ecs | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ecs-agent | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ecs-telemetry | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.elastic-inference.runtime | ap-northeast-1a, ap-northeast-1c | | com.amazonaws.ap-northeast-1.elasticbeanstalk | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.elasticbeanstalk-health | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.elasticfilesystem | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.elasticfilesystem-fips | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.elasticloadbalancing | ap-northeast-1a, ap-northeast-1c | | com.amazonaws.ap-northeast-1.elasticmapreduce | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.events | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.execute-api | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.git-codecommit | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.glue | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.kinesis-firehose | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.kinesis-streams | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.kms | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.logs | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.monitoring | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.qldb.session | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.rds-data | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.rekognition | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.s3 | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.sagemaker.api | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.sagemaker.runtime | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.secretsmanager | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.servicecatalog | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.sns | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.sqs | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ssm | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.ssmmessages | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.states | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.storagegateway | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.sts | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | | com.amazonaws.ap-northeast-1.transfer | ap-northeast-1a, ap-northeast-1c | | com.amazonaws.ap-northeast-1.transfer.server | ap-northeast-1a, ap-northeast-1c | | com.amazonaws.ap-northeast-1.workspaces | ap-northeast-1a, ap-northeast-1c, ap-northeast-1d | +---------------------------------------------------------+-----------------------------------------------------+
まとめ
このようにAZでの対応状況が異なるので設計する際はご注意ください。あと、そもそも対応していないVPCエンドポイントは表示されないので、他のリージョンと見比べてみてください。