【新機能】AWS OpsWorksのエンドポイントが各リージョンに追加されました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

今日の新機能はこちら。8月15日にリリースされたものです。

AWS OpsWorksに2つのアップデートがありました。1つはソウルリージョンで使えるようになったこと。もう一つはエンドポイントの追加です。

これまでのOpsworksには2つのエンドポイントが提供されていました。1つはus-east-1(ヴァージニア)リージョンで、GovCloud、中国北京リージョン、ap-south-1(ムンバイ)リージョン、ap-northeast-2(ソウル)リージョン以外のリージョンのOpsWorksリソースに対してアクセスが可能でした。またap-south-1(ムンバイ)リージョンのエンドポイントは、ムンバイリージョンのリソースのみアクセスが出来ました。

今回エンドポイントが追加されたことにより、GovCloudと中国北京リージョン以外のリージョンは、それぞれOpsWorksスタックと同じリージョンのエンドポイントを利用してOpsWorksリソースにアクセス出来るようになりました。

ということでやってみました!

やってみた

AWS CLIを使ってOpsWorksスタックを作成します。スタックを作成するリージョンは--stack-regionで指定します。--regionはこれまで「us-east-1」固定でしたが、今回のアップデートで自分がスタックを作りたいリージョンのエンドポイントを指定することが出来るようになりました。

$ aws --region ap-northeast-1 opsworks create-stack \
--name test-stack \
--stack-region ap-northeast-1 \
--service-role-arn arn:aws:iam::123456789012:role/aws-opsworks-service-role \
--default-instance-profile-arn arn:aws:iam::123456789012:instance-profile/aws-opsworks-ec2-role \
--configuration-manager Name=Chef,Version=12 

{
    "StackId": "7229fe34-ca38-xxxx-xxxx-xxxxxxxxxxxx"
}

--regionでap-northeast-1を指定して、describe-stacksを実行します。スタック情報が取得できます。

$ aws --region ap-northeast-1 opsworks describe-stacks
{
    "Stacks": [
        {
            "StackId": "7229fe34-ca38-xxxx-xxxx-xxxxxxxxxxxx",
            "ServiceRoleArn": "arn:aws:iam::123456789012:role/aws-opsworks-service-role",
            "VpcId": "vpc-xxxxxxxx",
            "DefaultRootDeviceType": "instance-store",
            "Name": "test-stack",
            "HostnameTheme": "Layer_Dependent",
            "UseCustomCookbooks": false,
            "UseOpsworksSecurityGroups": true,
            "Region": "ap-northeast-1",
            "DefaultAvailabilityZone": "ap-northeast-1a",
            "CreatedAt": "2016-08-23T05:36:42+00:00",
            "CustomCookbooksSource": {},
            "ConfigurationManager": {
                "Version": "12",
                "Name": "Chef"
            },
            "ChefConfiguration": {},
            "DefaultSubnetId": "subnet-xxxxxxxx",
            "DefaultInstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/aws-opsworks-ec2-role",
            "Attributes": {
                "Color": null
            },
            "DefaultOs": "Ubuntu 12.04 LTS",
            "Arn": "arn:aws:opsworks:ap-northeast-1:123456789012:stack/7229fe34-ca38-xxxx-xxxx-xxxxxxxxxxxx/",
            "AgentVersion": "LATEST"
        }
    ]
}

aws configureでDefault regionを設定している場合には--regionは不要です。

$ aws configure
AWS Access Key ID [****************XXXX]:
AWS Secret Access Key [****************XXXX]:
Default region name [ap-northeast-1]:
Default output format [None]:

$ aws opsworks describe-stacks
{
    "Stacks": [
        {
..snip..

さいごに

これまでいちいちus-east-1リージョンのエンドポイントを使わなくてはいけませんでしたが、これからは自分が使いたいリージョンのエンドポイントを利用してOpsWorksにアクセスできます。APIのリクエスト/レスポンスの向上が期待できますね!