知らなくても困らないAWSリージョンのパーティション
AWSにはいくつかのリージョンをまとめる「パーティション」という概念が存在します。ただ、通常利用可能なリージョンはすべてStandard Partitionなので、日本で使う分にはまったく意識する必要はありません。
パーティションの分類はSDKのドキュメントに記載されています。
パーティションによってAPIエンドポイントのドメイン名形式が異なったりするので、このような仕様になっているようです。
AWS Standard partition
リージョン定義
const (
AfSouth1RegionID = "af-south-1" // Africa (Cape Town).
ApEast1RegionID = "ap-east-1" // Asia Pacific (Hong Kong).
ApNortheast1RegionID = "ap-northeast-1" // Asia Pacific (Tokyo).
ApNortheast2RegionID = "ap-northeast-2" // Asia Pacific (Seoul).
ApNortheast3RegionID = "ap-northeast-3" // Asia Pacific (Osaka).
ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai).
ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore).
ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney).
ApSoutheast3RegionID = "ap-southeast-3" // Asia Pacific (Jakarta).
CaCentral1RegionID = "ca-central-1" // Canada (Central).
EuCentral1RegionID = "eu-central-1" // Europe (Frankfurt).
EuNorth1RegionID = "eu-north-1" // Europe (Stockholm).
EuSouth1RegionID = "eu-south-1" // Europe (Milan).
EuWest1RegionID = "eu-west-1" // Europe (Ireland).
EuWest2RegionID = "eu-west-2" // Europe (London).
EuWest3RegionID = "eu-west-3" // Europe (Paris).
MeSouth1RegionID = "me-south-1" // Middle East (Bahrain).
SaEast1RegionID = "sa-east-1" // South America (Sao Paulo).
UsEast1RegionID = "us-east-1" // US East (N. Virginia).
UsEast2RegionID = "us-east-2" // US East (Ohio).
UsWest1RegionID = "us-west-1" // US West (N. California).
UsWest2RegionID = "us-west-2" // US West (Oregon).
)
パブリックなリージョンが分類されるパーティションです。普通のリージョンはすべてこの中に入っています。普段我々が利用するリージョンはすべてこちらです。
AWS China partition
リージョン定義
const (
CnNorth1RegionID = "cn-north-1" // China (Beijing).
CnNorthwest1RegionID = "cn-northwest-1" // China (Ningxia).
)
その名の通りAWSの中国リージョンです。中国リージョンはエンドポイントのドメインも違ったり、認可がないとが使えないなど通常リージョンとは大きく異なります。ちなみにAWSは中国で"AWS"の商標をめぐる裁判に敗れています。そのためドキュメントに登場する”AWS”は商標ではなく、単なる略称とされています。
参考
Amazon Web Services launches appeal after losing $12m AWS trademark war in China to local biz Actionsoft
AWS GovCloud(US) partition
リージョン定義
const (
UsGovEast1RegionID = "us-gov-east-1" // AWS GovCloud (US-East).
UsGovWest1RegionID = "us-gov-west-1" // AWS GovCloud (US-West).
)
米国政府専用のAWSサービスです。日本にいる限りお目にかかることはないと思われます。
AWS GovCloud(米国)
AWS ISO (US) partition
リージョン定義
const (
UsIsoEast1RegionID = "us-iso-east-1" // US ISO East.
UsIsoWest1RegionID = "us-iso-west-1" // US ISO WEST.
)
ISO partitionという記述しかありません。特に説明はなく、これだけでは詳細は一切不明です。
Go SDKのソースを確認すると、endpoints.jsonファイルでAPIエンドポイントのURLが定義されています。たとえばIAMのus-iso-east-1リージョンエンドポイントは以下のように定義されています。
"iam" : {
"endpoints" : {
"aws-iso-global" : {
"credentialScope" : {
"region" : "us-iso-east-1"
},
"hostname" : "iam.us-iso-east-1.c2s.ic.gov"
}
},
"isRegionalized" : false,
"partitionEndpoint" : "aws-iso-global"
},
これによればISOパーティションのエンドポイントはc2s.ic.govドメイン配下にあるようです。ic.govの保有者を.govドメイン用のWhoisサイトで調べると、CIAが保有していることがわかります。
“AWS”, “CIA”でピンときた方がいるかもしれませんが、このパーティションはAWS Secret Regionのようです。AWS Secret RegionはGovCloudとも異なり、US Intelligence Community(IC)とAWSのCommercial Cloud Services (C2S)契約によって構築されたリージョンです。エンドポイントURLもc2s.ic.govドメインなのでちょうど合致します。Secret Regionのエンドポイント情報を通常SDKに入れてしまって大丈夫なのか若干気になるところですが。
この記事が気に入ったらサポートをしてみませんか?