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リソースにアクセスさせたい場合は役に立ちそう。