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にしています。
以上です。