https://www.pulumi.com/docs/get-started/
https://qiita.com/yufuku/items/1c8ca01494e77924ab48
Python: 3.9.13
-- 1. macにPulumiインストール
brew install pulumi/tap/pulumi
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
-- 3. Create new project
mkdir test
cd test
pulumi new aws-python
vim __main__.py
import pulumi
import pulumi_aws as aws
vpc01 = aws.ec2.Vpc(
"vpc01",
cidr_block="10.0.0.0/16",
tags={
"Name": "vpc01",
}
)
subnet_public_a = aws.ec2.Subnet(
"subnet_public_a",
cidr_block="10.0.1.0/24",
availability_zone="ap-northeast-1a",
tags={
"Name": "subnet_public_a",
},
vpc_id=vpc01.id
)
internet_gateway01 = aws.ec2.InternetGateway(
"internet_gateway01",
tags={
"Name": "internet_gateway01",
},
vpc_id=vpc01.id
)
rt_public_a = aws.ec2.RouteTable(
"rt_public_a",
routes=[
{
"cidr_block": "0.0.0.0/0",
"gateway_id": internet_gateway01.id,
},
],
tags={
"Name": "rt_public_a",
},
vpc_id=vpc01.id
)
rt_public_a_subnet_public_a = aws.ec2.RouteTableAssociation(
"rt_public_a_subnet_public_a",
route_table_id=rt_public_a.id,
subnet_id=subnet_public_a.id
)
-- 4. pulumi 実行
pulumi up
aws ec2 describe-vpcs
aws ec2 describe-subnets
aws ec2 describe-internet-gateways
aws ec2 describe-route-tables
-- 5. クリーンアップ
pulumi destroy
pulumi stack rm dev