https://qiita.com/tyoshitake/items/c5176c0ef4de8d7cf5d8
前提:VPC、サブネット、セキュリティグループはすべてデフォルトを使用
-- 1. コマンド等のインストール
-- 1.1 aws cli version 2 インストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
-- 1.2 jqインストール
sudo yum -y install jq
-- 2. スタック作成
AWSTemplateFormatVersion: "2010-09-09"
Description: Provision EC2
Resources:
EC2:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-0404778e217f54308
KeyName: key1
InstanceType: t3.nano
Tags:
- Key: Name
Value: test
Outputs:
EC2PublicIP:
Value: !GetAtt EC2.PublicIp
Description: Public IP of EC2 instance
aws cloudformation validate-template \
--template-body file://a.yaml
aws cloudformation create-stack \
--stack-name stack01 \
--template-body file://a.yaml
-- 3. スタック一覧
aws cloudformation list-stacks
aws cloudformation describe-stacks \
--stack-name stack01
-- 4. クリーンアップ
-- スタック削除
aws cloudformation delete-stack \
--stack-name stack01
aws ec2 describe-instances | jq -r '.Reservations.Instances | { InstanceId, State }'