知らなくても困らない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"
      },

https://github.com/aws/aws-sdk-go/blob/77715064e7f40c41dbd29b1143e2ba4ee17f477a/models/endpoints/endpoints.json#L17981

これによれば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に入れてしまって大丈夫なのか若干気になるところですが。


この記事が気に入ったらサポートをしてみませんか?