AWS_Cloudformation으로 환경 구축해 보았다②
5040 단어 CloudFormationAWS
htps : // 코 m / 시니 _ 요시 오카 / ms / 487662c0749 7b1 또는 8c
전회의 계속으로, Network 레이어는 작성 완료.
다음과 같은 간단한 구성으로 이번에는 CloudFormation에서 EC2 인스턴스와 보안 그룹을 만듭니다.
템플릿 만들기
① CloudFormation의 yml을 작성할 때 CloudFormation의 Rain(CLI 실행 툴)을 사용하여 템플릿(EC2용 yml과 보안 그룹용 yml)을 출력한다.
Rain 사용법에 대한 자세한 내용은 아래 URL을 참조하십시오.
htps : //에서 v.ぁsss d. jp / 아 rc c ぇ s / 아 ws-c ぉ d d ぉ r 마치 온 - 라인 /
② 출력된 yml 각각을 크로스 스택 참조하도록 파라미터를 넣는다.
Secutiry.yml
AWSTemplateFormatVersion: "2010-09-09"
Description: Template generated by rain
Resources:
MySecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow SSH from ALL
SecurityGroupEgress:
- Description: Outbound
CidrIp: 0.0.0.0/0
IpProtocol: tcp
FromPort: 22
ToPort: 22
#CidrIpv6: CHANGEME # Optional
#DestinationPrefixListId: CHANGEME # Optional
#DestinationSecurityGroupId: CHANGEME # Optional
SecurityGroupIngress:
- Description: Inbound
CidrIp: 0.0.0.0/0
IpProtocol: tcp
FromPort: 22
ToPort: 22
#CidrIpv6: CHANGEME # Optional
#SourcePrefixListId: CHANGEME # Optional
#SourceSecurityGroupId: CHANGEME # Optional
#SourceSecurityGroupName: CHANGEME # Optional
#SourceSecurityGroupOwnerId: CHANGEME # Optional
Tags:
- Key: Name
Value: TEST-SG
VpcId: vpc-0af10c6c61fb430cc
Outputs:
MySecurityGroupGroupId:
Value: !GetAtt MySecurityGroup.GroupId
Export:
Name: TEST-SGfromCF
파라미터 메모
SecurityGroupEgress : 보안 그룹 아웃 바운드
SecurityGroupIngress : 보안 그룹 인바운드
Outputs : GetAtt 함수를 사용하여 MySecurityGroup의 GroupId를 "TEST-SGfromCF"의 이름 태그로 내보내기
Application.yml (EC2 인스턴스 생성)
AWSTemplateFormatVersion: "2010-09-09"
Description: Template generated by rain
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
KeyName: Secret-key
AvailabilityZone: ap-northeast-1a
ImageId: ami-0f27d081df46f326c
InstanceType: t2.micro
NetworkInterfaces:
- AssociatePublicIpAddress: true
#DeleteOnTermination: false # Optional
#Description: CHANGEME # Optional
DeviceIndex: "0"
GroupSet:
- !ImportValue TEST-SGfromCF
SubnetId: subnet-068305cddc05d01bd
#SecurityGroupIds:
#- !ImportValue TEST-SGfromCF
#SecurityGroups:
#- !ImportValue TEST-SGfromCF
#SubnetId: subnet-068305cddc05d01bd
Tags:
- Key: Name
Value: TEST-EC2_fromCF
#UserData: CHANGEME # Optional
#Volumes:
#- Device: CHANGEME
#VolumeId: CHANGEME
파라미터 메모
KeyName : 개인 키의 이름 (.pem은 필요 없음)
ImageId: ami-0f27d081df46f326c←AmazonLinux
AssociatePublicIpAddress: true ← 공용 IP 주소를 자동으로 할당
DeviceIndex: "0"← 자동으로 공용 IP 주소를 할당할 때는 "0"으로 설정
GroupSet: Import 함수로 보안 그룹 탐색
스택 만들기
관리 콘솔 - CloudFormation에서 스택 만들기를 클릭하고,
Application.yml과 Secutiry.yml을 업로드하여 스택을 만듭니다.
이벤트 탭의 스테이터스가 CREATE_COMPLETE가 되어 있으면, 정상적으로 작성된 것을 확인할 수 있다.
작성한 EC2에 보안 그룹이 적용되어 EC2에 비밀 키를 사용하여 SSH 연결할 수 있음을 확인했다.
마지막으로
EC2의 보안 그룹과 관련하여 혼란스러운 부분이 있으므로 아래에 메모를 남겨 둡니다.
①NetworkInterfaces하하의 GroupSet・・・EC2 인스턴스 기동시에 새롭게 네트워크 인터페이스를 작성하는 경우에 보안 그룹의 ID를 참조할 때에 사용
②SecurityGroups・・・기본 VPC의 보안 그룹을 작성할 때에 사용
③SecurityGroupIds・・・권장. 참조하는 보안 그룹(AWS::EC2::SecurityGroup)을 생성하여 참조할 때 사용
이 기사는 AWS 초학자를 안내하는 체계적인 동영상 학습 서비스
AWS CloudTech 과제 커리큘럼에서 만들었습니다.
h tps : // 아 ws-c ぉ 우 ㅇ ch. 이 m
Reference
이 문제에 관하여(AWS_Cloudformation으로 환경 구축해 보았다②), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shinichi_yoshioka/items/b027f71a9998a87c46b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
AWSTemplateFormatVersion: "2010-09-09"
Description: Template generated by rain
Resources:
MySecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow SSH from ALL
SecurityGroupEgress:
- Description: Outbound
CidrIp: 0.0.0.0/0
IpProtocol: tcp
FromPort: 22
ToPort: 22
#CidrIpv6: CHANGEME # Optional
#DestinationPrefixListId: CHANGEME # Optional
#DestinationSecurityGroupId: CHANGEME # Optional
SecurityGroupIngress:
- Description: Inbound
CidrIp: 0.0.0.0/0
IpProtocol: tcp
FromPort: 22
ToPort: 22
#CidrIpv6: CHANGEME # Optional
#SourcePrefixListId: CHANGEME # Optional
#SourceSecurityGroupId: CHANGEME # Optional
#SourceSecurityGroupName: CHANGEME # Optional
#SourceSecurityGroupOwnerId: CHANGEME # Optional
Tags:
- Key: Name
Value: TEST-SG
VpcId: vpc-0af10c6c61fb430cc
Outputs:
MySecurityGroupGroupId:
Value: !GetAtt MySecurityGroup.GroupId
Export:
Name: TEST-SGfromCF
AWSTemplateFormatVersion: "2010-09-09"
Description: Template generated by rain
Resources:
MyInstance:
Type: AWS::EC2::Instance
Properties:
KeyName: Secret-key
AvailabilityZone: ap-northeast-1a
ImageId: ami-0f27d081df46f326c
InstanceType: t2.micro
NetworkInterfaces:
- AssociatePublicIpAddress: true
#DeleteOnTermination: false # Optional
#Description: CHANGEME # Optional
DeviceIndex: "0"
GroupSet:
- !ImportValue TEST-SGfromCF
SubnetId: subnet-068305cddc05d01bd
#SecurityGroupIds:
#- !ImportValue TEST-SGfromCF
#SecurityGroups:
#- !ImportValue TEST-SGfromCF
#SubnetId: subnet-068305cddc05d01bd
Tags:
- Key: Name
Value: TEST-EC2_fromCF
#UserData: CHANGEME # Optional
#Volumes:
#- Device: CHANGEME
#VolumeId: CHANGEME
관리 콘솔 - CloudFormation에서 스택 만들기를 클릭하고,
Application.yml과 Secutiry.yml을 업로드하여 스택을 만듭니다.
이벤트 탭의 스테이터스가 CREATE_COMPLETE가 되어 있으면, 정상적으로 작성된 것을 확인할 수 있다.
작성한 EC2에 보안 그룹이 적용되어 EC2에 비밀 키를 사용하여 SSH 연결할 수 있음을 확인했다.
마지막으로
EC2의 보안 그룹과 관련하여 혼란스러운 부분이 있으므로 아래에 메모를 남겨 둡니다.
①NetworkInterfaces하하의 GroupSet・・・EC2 인스턴스 기동시에 새롭게 네트워크 인터페이스를 작성하는 경우에 보안 그룹의 ID를 참조할 때에 사용
②SecurityGroups・・・기본 VPC의 보안 그룹을 작성할 때에 사용
③SecurityGroupIds・・・권장. 참조하는 보안 그룹(AWS::EC2::SecurityGroup)을 생성하여 참조할 때 사용
이 기사는 AWS 초학자를 안내하는 체계적인 동영상 학습 서비스
AWS CloudTech 과제 커리큘럼에서 만들었습니다.
h tps : // 아 ws-c ぉ 우 ㅇ ch. 이 m
Reference
이 문제에 관하여(AWS_Cloudformation으로 환경 구축해 보았다②), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shinichi_yoshioka/items/b027f71a9998a87c46b8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(AWS_Cloudformation으로 환경 구축해 보았다②), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shinichi_yoshioka/items/b027f71a9998a87c46b8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)