railsがんばる子

Ruby on Railsがんばる子です。胡蝶蘭のECサイトを運営しています。

AWSでVPC構築

コマンドでいきたいので、awscliを入れ入れ

brew install awscli

AWS CLIの設定

設定値はI AMで作成したユーザのCredentialsから

$aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Default region name [None]: us-west-2
Default output format [None]: text

生成される設定ファイル

$cat ~/.aws/config
[default]
output = text
region = us-west-2

$cat ~/.aws/credentials
[default]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

VPC

$ aws ec2 create-vpc --cidr-block 10.0.0.0/16

パブリックなサブネット

$aws ec2 create-subnet --vpc-id vpc-XXXXXXXX --cidr-block 10.0.1.0/24
$aws ec2 create-tags --resources subnet-YYYYYYYY --tags Key=Name,Value=public-subnet
$aws ec2 modify-subnet-attribute --subnet-id subnet-YYYYYYYY --map-public-ip-on-launch

インターネットゲートウェイ

$aws ec2 create-internet-gateway
aws ec2 create-tags --resources igw-ZZZZZZZZ --tags Key=Name,Value=MyIGW
aws ec2 attach-internet-gateway --internet-gateway-id igw-ZZZZZZZZ --vpc-id vpc-XXXXXXXX

ルートテーブル

$aws ec2 create-route-table --vpc-id vpc-XXXXXXXX
$aws ec2 create-tags --resources rtb-AAAAAAAA --tags Key=Name,Value=my-route-table
$aws ec2 create-route --route-table-id rtb-AAAAAAAA --destination-cidr-block 0.0.0.0/0 --gateway-id igw-ZZZZZZZZ
$aws ec2 associate-route-table --route-table-id rtb-AAAAAAAA --subnet-id subnet-YYYYYYYY

ここまでやっておいてインスタンスの生成はCLIが面倒くさくなってしまったのは秘密です。

ちな、インスタンスを作った後はElastic IPでIPを固定化しておくと、とても楽になりますね。


参考にさせていただいたページ

AWS CLIでVPC作成 | tech

aws-cli で使って覚える VPC の作り方と EC2 インスタンスの作り方 - ようへいの日々精進 XP