AWS lambdaでルートテーブルを切り換えたくて、どうやるのかぁと、試してみました。
python3、boto3を使えればなんてことはない。
- 下のpythonが全てです。
import boto3
def lambda_handler(event, context):
ec2 = boto3.resource('ec2')
route_table = ec2.RouteTable('rtb-XXXXXXXXXXXXX')
print(route_table.routes_attribute)
res = route_table.create_route(
DestinationCidrBlock='10.0.0.0/16', <- 追加したいルート
GatewayId='igw-XXXXXXXXXXXXXX',
)
print(res)
print(route_table.routes_attribute) <- 追加されたか確認
あとは、IAMロールをlambdaにアタッチしてあげれば、動きます。
今回は簡単のため、IAMロールはEC2FullAccessにしています。
以上です。