AWS lambdaでルートテーブル作成

AWS lambdaでルートテーブルを切り換えたくて、どうやるのかぁと、試してみました。

python3、boto3を使えればなんてことはない。

  1. 下の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にしています。

以上です。