[aws] CloudFormation으로 인스턴스 만들기
11133 단어 CloudFormationAWS
개요
aws
CloudFormatinon를 사용하여 테스트를 위해 하나의 인스턴스를 만듭니다.CloudFormation이란?
AWS 시스템 구성은
JSON 또는 YAML로 작성된 템플릿을 사용하여 관리, 수정, 편집 등을 자동으로 수행할 수 있는 기능입니다.템플릿으로 만든 환경을
スタック라고 합니다.파일을 작성해 두는 것으로 환경을 사용하게 하는 점이 매우 편리합니다.
템플릿 정보
이번에 작성하는 환경의 템플릿은 다음과 같습니다.
테스트용 인스턴스를 하나 시작하는 구성입니다.
내장 함수인
Ref 로 구성을 연결하고 있는 이미지가 됩니다.또한 아래 예에서는 ssh의 SG를
0.0.0.0/0로 하고 있으므로, 각자의 환경에 맞추어 수정해 주세요.# デフォルト記述
AWSTemplateFormatVersion: '2010-09-09'
# Key pair の指定。
# AWSコンソールでパラメータを指定
Parameters:
KeyPair:
Description: KeyPair Name
Type: AWS::EC2::KeyPair::KeyName
# EC2のイメージID
Mappings:
StackConfig:
EC2:
ImageId: 'ami-923d12f5'
Resources:
# VPCの作成
PracticeVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
Tags:
- Key: Name
Value: PracticeVPC
# InternetGateWayの作成
PracticeIGW:
Type: AWS::EC2::InternetGateway
Properties:
Tags:
- Key: Name
Value: PracticeIGW
# IGWをVPCにアタッチ
AttachIGW:
Type: AWS::EC2::VPCGatewayAttachment
Properties:
InternetGatewayId: !Ref PracticeIGW
VpcId: !Ref PracticeVPC
# RouteTableの作成
PracticePublicRoute:
Type: AWS::EC2::RouteTable
Properties:
VpcId: !Ref PracticeVPC
Tags:
- Key: Name
Value: PracticePublicRoute
# Routeingの設定
Route:
Type: AWS::EC2::Route
DependsOn: AttachIGW
Properties:
RouteTableId: !Ref PracticePublicRoute
DestinationCidrBlock: 0.0.0.0/0
GatewayId: !Ref PracticeIGW
# PublicSubnetの作成
PublicSubnet:
Type: AWS::EC2::Subnet
Properties:
AvailabilityZone: ap-northeast-1a
CidrBlock: 10.0.1.0/24
VpcId: !Ref PracticeVPC
Tags:
- Key: Name
Value: PracticePublicSubnet
# SubnetにRouteテーブルを紐づける
PublicSubnetRouteTabelAssociation:
Type: AWS::EC2::SubnetRouteTableAssociation
Properties:
SubnetId: !Ref PublicSubnet
RouteTableId: !Ref PracticePublicRoute
# セキュリティグループの作成
# port22と80を解放
PracticeSG:
Type: AWS::EC2::SecurityGroup
Properties:
VpcId: !Ref PracticeVPC
GroupDescription: PracticeSG
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
Tags:
- Key: Name
Value: PracticeSG
# EC2インスタンスの作成
PracticeEC2:
Type: AWS::EC2::Instance
Properties:
AvailabilityZone: ap-northeast-1a
InstanceType: t2.micro
ImageId: !FindInMap [ StackConfig, EC2, ImageId ]
KeyName: !Ref KeyPair
SubnetId: !Ref PublicSubnet
SecurityGroupIds:
- !GetAtt PracticeSG.GroupId
Tags:
- Key: Name
Value: PracticeEnv
# ElasticIPの作成
PracticeIP:
Type: AWS::EC2::EIP
Properties:
InstanceId: !Ref PracticeEC2
환경 만들기
AWS 콘솔에서 다음과 같이 생성합니다.
サービス → CloudFormation → スタックの作成 → スタックの詳細 → オプションの設定 → スタックの作成작성한 yaml 파일을 업로드합니다.

스택의 이름과 매개변수를 지정합니다.
임의의 이름과 ssh를 수행하는 각자의 개인 키를 지정하십시오.

태그나 IAM 롤, 알람등을 설정할 수 있습니다만 이번은 특별히 설정을 실시하지 않습니다.

스택 만들기를 누르고
CREATE_COMPLETE되면 완료됩니다.
환경 삭제
CloudFormation에서 만든 환경은 대상 스택을 삭제하여 해당 스택에서 만든 환경을 일괄적으로 삭제할 수 있습니다.
Reference
이 문제에 관하여([aws] CloudFormation으로 인스턴스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hrtkjm/items/0a3b9840b1e9d3b67ffc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)