dshimizu/blog/alpha

とりとめのないITブログ

AWS CLIでLightsailのVPCピアリングを有効化する

LightsailはAWSアカウント上のVPCとは別のネットワーク環境で起動する。(Lightsail専用のVPC上で起動しているように見える) そのため、何もしてない状態でAWSアカウントの他のリソース(例えばRDS等)に接続しようとすると、インターネットを経由しなければならない。

現状ではLightsail側のVPCはデフォルトVPCに対してのみPeering接続がサポートされている。

LightsailのVPCピアリング

Lightsailのマネジメントコンソールから一発でできるが、今回はAWS CLIを利用して接続してみる。

VPC Peeringを有効にする場合のコマンドは下記。オプションは環境に合わせて使い分ける。

$ aws lightsail peer-vpc --region <リージョン名> [--profile ]

実行してみる。下記のような出力がなされれば成功しているはず。

$ aws lightsail peer-vpc --region ap-northeast-1 --profile hogehoge
{
    "operation": {
        "status": "Succeeded",
        "resourceType": "PeeredVpc",
        "isTerminal": true,
        "operationDetails": "vpc-********",
        "statusChangedAt": **********.***,
        "location": {
            "availabilityZone": "all",
            "regionName": "ap-northeast-1"
        },
        "operationType": "PeeredVpc",
        "resourceName": "vpc-********",
        "id": "********-****-****-****-************",
        "createdAt": **********.***
    }
}

確認コマンドは下記。オプションは環境に合わせて(ry

$ aws lightsail peer-vpc --region <リージョン名> [--profile ]

実行してみる。trueとなっているのでpeeringされている。

$ aws lightsail is-vpc-peered --region ap-northeast-1 --profile hogehoge
{
    "isPeered": true
}

これで完了。

解除するときは下記。オプションは(ry

$ aws lightsail unpeer-vpc --region <リージョン名> [--profile ]

まとめ

LightsailのVPCと、AWSアカウント上のデフォルトVPCとのPeeringするやり方について書いた。 少なくとも2019年5月時点ではデフォルトVPCとしかつなげないのが少し残念だが、Lightsailを使って他のAWSリソースにアクセスさせたい場合は役に立ちそう。

参考