AWS 클라우드 정보 기반
AWS에 인프라나 서비스를 제공하려면 AWS 자원을 정의할 템플릿이 필요합니다.
템플릿은 포맷된 YAML 또는 JSON 파일입니다.YAML 파일은 대부분 구성에 사용됩니다.
이 템플릿들은 선택한 텍스트 편집기에서 만들 수 있습니다. 저는 vs 코드를 더 좋아합니다.
템플릿은 모든 AWS 리소스를 설명합니다.네가 구름을 사용하여 형성하면
템플릿을 자동으로 만들려면 JSON 스크립트를 만들어야 합니다.
템플릿을 만들려면cloudFormation 디자인어를 사용할 수 있습니다. 필요한 모든 자원을 투입해야 하고, 필요한 모든 의존항을 지정해야 합니다. 마지막으로 이 디자인을 템플릿으로 저장해야 합니다.
creating a template that provisions an s3 bucket using a designer
템플릿을 배치할 때, 우리는aws에서 창고를 만듭니다.스택 제공
템플릿에 정의된 자원을 aws 계정에 넣습니다.
템플릿은 여러 번 재사용할 수 있습니다.상상해 보십시오. 우리는 여러 지역에 응용 프로그램을 배치하여 백업하기를 희망합니다.영역마다 자원을 만들지 않습니다.
클라우드 포메이션에서 템플릿을 만들고 여러 구역에 배치할 수 있습니다.
스택을 만들려면 템플릿이 필요합니다.또한 템플릿이 스택에 생성되고
스택에는 AWS 리소스가 포함됩니다.
또한 템플릿은 AWS S3 스토리지 통에 저장하거나 로컬 시스템에서 업로드할 수 있습니다.
Some of the Benefits of using CloudFormation
AWS Template and it's components
AWST 템플릿 형식 버전: 2010-09-09
설명:>-
EC2 인스턴스를 사용하여 LAMP 스택에 Wordpress 설치 만들기
매개변수:
키워드:
설명: 인스턴스에 대한 SSH 액세스를 활성화하는 기존 EC2 키 쌍의 이름
"AWS::EC2::KeyPair:::KeyName"을 입력합니다.
ConstraintDescription: 기존 EC2 키 쌍의 이름이어야 합니다.
인스턴스 유형:
설명: WebServer EC2 인스턴스 유형
유형:문자열
기본값: t2.작았어
허용 값:
-t1.미니어처
-t2.나노 기술
-t2.미니어처
-t2.작았어
-t2.중등이었어
-t2.크다
ConstraintDescription: 유효한 EC2 인스턴스 유형이어야 합니다.
위치:
설명: SSH-EC2 인스턴스에 사용할 수 있는 IP 주소 범위
유형:문자열
MinLength:'9'
MaxLength:'18'
기본값: 0.0.0.0/0
AllowedPattern:'(\d{1,3}).(\d{1,3}).(\d{1,3}).(\d{1,3})/(\d{1,2})'
ConstraintDescription: x.x.x.x/x 형식의 유효한 IP CIDR 범위여야 합니다.
데이터베이스 이름:
기본값:wordpressdb
설명:WordPress 데이터베이스 이름
유형:문자열
MinLength:“1”
MaxLength:'64'
허용 모드: "[a-zA-Z][a-zA-Z0-9]"
ConstraintDescription: 문자로 시작해야 하며 영숫자만 포함해야 합니다.
데이터베이스 사용자:
노에조: "정말"
설명:WordPress 데이터베이스 관리자 계정 사용자 이름
유형:문자열
MinLength:“1”
MaxLength:'16'
허용 모드: "[a-zA-Z][a-zA-Z0-9]"
ConstraintDescription: 문자로 시작해야 하며 영숫자만 포함해야 합니다.
데이터베이스 암호:
노에조: "정말"
설명:WordPress 데이터베이스 관리자 계정 비밀번호
유형:문자열
MinLength:'8'
MaxLength:'41'
허용 모드: "[a-zA-Z0-9]"
ConstraintDescription: 영숫자만 사용할 수 있습니다.
DBRootPassword:
노에조: "정말"
설명: MySQL 루트 암호
유형:문자열
MinLength:'8'
MaxLength:'41'
허용 모드: "[a-zA-Z0-9]"
ConstraintDescription: 영숫자만 사용할 수 있습니다.
리소스:
WebServerSecurityGroup:
유형: "AWS::EC2::SecurityGroup"
속성:
그룹 설명:>-
포트 80+SSH 액세스를 통해 HTTP 액세스 설정
SecurityGroupIngress:
-IpProtocol:tcp
FromPort:'80'
토포터: "80"
CidrIp:0.0.0.0/0
-IpProtocol:tcp
FromPort:'22'
토포터: "22"
시드리프:!참조 위치
네트워크 서버:
유형: "AWS::EC2::Instance"
속성:
ImageId:'ami-01419b804382064e4'
InstanceType:!Ref InstanceType
보안 그룹:!Ref WebServerSecurityGroup
키워드:!참조 키 이름
메타데이터:
인스턴스:
설명: "이 서버는 WiredBrain 커피 블로그를 호스팅합니다."
IP 주소:
유형: "AWS::EC2::EIP"
IPAssoc:
유형: "AWS::EC2::EIPAssociation"
속성:
InstanceId:!Ref 네트워크 서버
EIP:!참조 IP 주소
산출:
사이트 주소:
가치가입
- ''
--“http://”
- !게타트
- 네트워크 서버
- 공용 도메인 이름
-/wordpress
설명: WordPress 웹 사이트
주의: 서로 다른 aws 자원에 대한 템플릿을 작성하는 방법에 대한 정보가 필요하면 https://docs.aws.amazon.com/cloudformation/를 통해awscloudFormation 문서 영역을 보십시오
메타데이터는 자원을 배치할 때 자원에 대해 임의의 코드를 실행하는 데 사용됩니다.예를 들어, 모든 linux AMI 이미지는 일련의 사전 구축 스크립트를 미리 설치하여 EC2 실례를 설정하고 설정할 수 있다.
이러한 스크립트의 예는 다음과 같습니다.
스택 생성, 스택 업데이트, 오류 감지 및 스택 삭제를 처리합니다.엔진이 템플릿에서 실행될 때
AWS 서비스를 작성합니다.
Diff steps in creating a stack in aws portal
단계 1: 템플릿 지정2단계: 스택 세부 정보 지정
3단계: 스택 옵션 구성
4단계: 검토 및 작성
How CloudFormation handles dependencies
의존 관계를 처리하는 더 좋은 방법은 특정한 순서에 따라 의존 관계, 즉 구름 형성을 만들 필요가 없다는 것이다.매개변수를 사용하여 의존 관계를 자동으로 해석할 수 있습니다.매개 변수는 cloudFormation 템플릿에 값을 주입하는 방법입니다. 이 템플릿은 창고를 만들고 업데이트하는 데 사용됩니다. 즉, 실행할 때 필요한 의존항을 템플릿의 적당한 위치에 주입합니다.
매개 변수와 맵을 사용하여cloudFormation 템플릿을 확장할 수 있습니다. 이것은 여러 장면에 배치할 수 있는 재사용 가능한 템플릿을 만들 수 있습니다.매개 변수를 사용하는 주요 원인 중 하나는 우리가 다시 사용할 수 있도록 하는 것이다
템플릿으로 여러 자원 배치를 실행합니다.예를 들어 dev, stage,prod env에 대해 데이터베이스 증빙 서류, 키name, InstanceType 등 세 개의 서로 다른 매개 변수를 가진 diff 창고가 있지만, 모두 같은 템플릿으로 구축된 것이다.
AWS에 스택을 만들 때는 dbname,dbuser,dbpassword 등 7개의 매개 변수를 입력해야 합니다.
db 루트 암호, 실례 형식, 키 이름, ssh 위치.
한 마디로 하면cloudFormation은 우리의 aws 서비스를 관리하는 기초 구조인 코드 서비스이다.추가 구성 관리
aws 리소스를 제공하는 데 사용할 수 있는 도구는 Ansible, Jenkins, 22 terraform입니다.
Reference
이 문제에 관하여(AWS 클라우드 정보 기반), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ehis0075/aws-cloudformation-basics-1m6f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)