[Amazon Lightsail] VPCピアリングしたいリージョンがコンソールに出ない場合にはCLIを使おう

こんにちは、菊池です。

今回は小ネタです。Amazon Lightsailでは、VPCピアリングがサポートされていますので、ピア接続したAWSのデフォルトVPCとリソースを連携することが可能です。

AWS LightsailのVPC Peering機能を試してみた #reinvent

LightsailのVPCピアリング

ピアリングするためには、コンソールの[アカウント]から、

[詳細設定]に進み、

リージョン単位のピア接続を有効化します。と、思ったら、VPCピア対象のリージョンがバージニア(us-east-1)と東京(ap-northeast-1)しか表示されていないことに気がつきました。

2017年12月現在、Lightsailは以下のリージョンで提供されています。

  • バージニア(us-east-1)
  • オハイオ(us-east-2)
  • オレゴン(us-west-1)
  • アイルランド(eu-west-1)
  • ロンドン(eu-west-1)
  • フランクフルト(eu-central-1)
  • シンガポール(ap-southeast-1)
  • シドニー(ap-southeast-2)
  • 東京(ap-northeast-1)
  • ムンバイ(ap-south-1)

という訳で、コンソールから有効化できないリージョンに対してVPCピアリングするため、AWS CLIを使って試してみました。

VPCピアリングの有効化には、peer-vpcコマンドを使用し、--regionで対象リージョンを指定します。

$ aws lightsail peer-vpc --region ap-southeast-2
{
    "operation": {
        "status": "Succeeded",
        "resourceType": "PeeredVpc",
        "isTerminal": true,
        "operationDetails": "vpc-xxxxxxxx",
        "statusChangedAt": 1514702214.695,
        "location": {
            "availabilityZone": "all",
            "regionName": "ap-southeast-2"
        },
        "operationType": "PeeredVpc",
        "resourceName": "vpc-xxxxxxxx",
        "id": "3d194d1b-2132-40ba-b489-xxxxxxxxxxxx",
        "createdAt": 1514702214.695
    }
}

画面上にないリージョンも問題なく設定できました。

ピアリング状態に確認には、is-vpc-peeredを使います。

$ aws lightsail is-vpc-peered --region ap-southeast-2
{
    "isPeered": true
}

また、ピアリングの無効化は、unpeer-vpcを使いましょう。

$ aws lightsail unpeer-vpc --region ap-southeast-2
{
    "operation": {
        "status": "Succeeded",
        "resourceType": "PeeredVpc",
        "isTerminal": true,
        "operationDetails": "vpc-xxxxxxxx",
        "statusChangedAt": 1514702390.325,
        "location": {
            "availabilityZone": "all",
            "regionName": "ap-southeast-2"
        },
        "operationType": "UnpeeredVpc",
        "resourceName": "vpc-xxxxxxxx",
        "id": "6b9e6217-4e82-481d-9e7d-xxxxxxxxxxxx",
        "createdAt": 1514702390.325
    }
}

結果、Lightsailが使用可能なリージョンでは、画面にないリージョンでも全てピアリングができました。ちなみに、AWS CLIで有効化した後にコンソールを確認すると、有効化したリージョンが全て表示されてましたw

最後に

シンプルなGUIで利用可能なAmazon Lightsailですが、一部、AWS CLIなどのコマンドでないと利用できない操作があったりします。

CLIのリファレンスなどを眺めると、思いもよらない機能を見つけられるかもしれませんw