hyewon's study
AWS Skillbuilder : Introduction to AWS CloudFormation (Korean) 본문
AWS CloudFormation
AWS CloudFormation: 개발자와 시스템 관리자가 AWS 리소스를 프로그래밍 방식으로 생성하고 관리할 수 있는 서비스입니다. 사용자는 템플릿을 사용하여 관련 AWS 리소스를 쉽게 생성하고 관리할 수 있습니다. CloudFormation은 이러한 리소스의 배포 및 업데이트를 담당하므로, 사용자는 이에 대한 예측 가능한 방식으로 AWS 인프라를 관리할 수 있습니다.
AWS CloudFormation 구성요소
템플릿(Template): AWS CloudFormation에서 템플릿은 AWS 리소스를 정의하고 구성하는 JSON 또는 YAML 포맷의 파일입니다. 이 템플릿은 원하는 인프라를 정확하게 설명하고 CloudFormation이 해당 인프라를 생성하도록 지시합니다. 템플릿은 인프라를 구성하는 여러 섹션을 포함할 수 있으며, 각 섹션은 리소스, 매개 변수, 출력 등을 정의합니다. 템플릿을 사용하여 AWS 서비스 및 리소스 간의 관계, 종속성, 구성을 명확하게 정의할 수 있습니다.
스택(Stack): CloudFormation에서 스택은 템플릿을 기반으로 생성된 인프라의 집합입니다. 스택은 CloudFormation 서비스에서 관리되며, 템플릿에 정의된 AWS 리소스를 생성, 업데이트 및 삭제하는 데 사용됩니다. 스택은 템플릿에 정의된 리소스와 해당 구성을 반영하며, 특정한 시점에서 인프라의 상태를 나타냅니다. 스택을 사용하면 인프라를 관리하는 데 있어서 단일 유닛으로 작업할 수 있으며, 스택을 통해 인프라를 생성하거나 업데이트할 때에는 해당 인프라의 일관성을 유지할 수 있습니다.
실습시작
1. CloudFormation 그리드 생성
1.1 CloudFormation 그리드 생성
① AWS 콘솔로 들어가 검색 필드에서 CloudForamation을 입력한 다음, 목록에서 선택합니다.

② 스택 생성을 클린한 다음 템플릿 파일 업로드로 지정해주고 활동 정보에 다운로드한 wordpress.template 파일을 선택합니다.

1.2 CloudFormation 규모 살펴보기
① 스택 생성 페이지에서 스택 이름 WordPress입력하고 활동 정보에 있는 DB비밀번호, DB 루트 비밀번호,DB사용자를 입력하고 Instance Type을 살펴봅니다.

InstanceType 은 t3.micro 이지만 t1.micro , t2.nano 또는 t2.micro를 선택할 수도 있습니다.
InstanceType:
Description: WebServer EC2 instance type
Type: String
Default: t3.micro
AllowedValues:
- t1.micro
- t2.nano
- t2.micro
- t3.micro
ConstraintDescription: must be a valid EC2 instance type.
1.3 CloudFormation 옵션 살펴보기
옵션 페이지에는 태그, 역할, 고급 설정을 구성할 수 있습니다.
- 태그: 태그는 비용과 같은 목적으로 사용되는 데 사용할 수 있는 경우의 키-값과 동일합니다.
- 권한 : AWS CloudFormation에서 자격을 가질 수 있는 기존 AWS Identity and Access Management(AWS IAM) 서비스 역할입니다.
- 스택 실패 옵션:
- 프로비저닝 실패 시 동작
- 모든 스택 리소스 롤백: 그리드 생성이 실패하면 백업 여부를 확인하여 일반적으로 사용하지 않습니다.
- 성공적으로 프로비저닝된 리소스 보존: 마지막 충전 상태를 유지한 채 다음 그리드 작업 때 삭제됩니다.
- 롤백 중에 새로 생성된 리소스 삭제
- 삭제 정책 선택: 삭제 에 따라 생성된 리소스를 유지하거나 삭제합니다.
- 새로 생성된 리소스를 모두 삭제: 연결 삭제에 관계 없이 롤백하고 생성된 리소스를 삭제합니다.
- 프로비저닝 실패 시 동작
- 스택 정책 : 그리드 업데이트가 필요하지 않은 상태에서 보호하려는 노력을 정의합니다. 기본적으로 모든 전력은 그리드를 업데이트할 수 있습니다.
- 스택 생성 옵션
- Timeout: CloudFormation은 그리드 생성에 할당된 시간(분)을 설정할 수 있습니다. 그리드 생성이 완료되지 않고 설정된 시간이 초과되면 CloudFormation은 그리드 생성을 실패로 처리하고 해당 상태에서 백업합니다. 기본적으로 그리드 생성에는 시간 제한이 없습니다.
- 종단 보호: 이그리드 방전을 방지하며, 사용자가 종료 방지 기능이 활성화되지 않은 그리드를 삭제하려고 시도하면 삭제가 실패하고 그리드는 그대로 유지됩니다. 이렇게 하면 그리드가 그 상태로 유지됩니다.

여기까지 AWS CloudFormation에서 리소스를 버퍼에 생성합니다.
2. CloudFormation 모니터링
① 템플릿 탭을 선택합니다. 템플릿 탭에서 폴더의 내용이 표시됩니다.

② 파라미터 탭을 선택합니다. 파라미터 탭에서 소수의 볼륨과 매개변수 값이 표시됩니다.

③ 이벤트 탭은 선택합니다. 이벤트 탭에서 그리드 생성 시 주요 이벤트가 각 이벤트 시간 대신 대신 최신 이벤트가 맨 위에 표시되고 CREATE_IN_PROGRESS 또는 CREATE_COMPLETE 와 동일한 여러 이벤트와 해당 상태를 볼 수 있습니다.

2.1 CloudFormation 살펴보기
① 리소스 탭을 선택합니다. 리소스 탭에서 그리드의 일부분인 리소스가 표시됩니다. 처음에는 하나 또는 두 번만 표시할 수 있습니다.

- 논리 ID: 논리 ID는 영숫자(A-Za-z0-9)로 구성되어야 하며, 폴더의 다른 부분을 참조하기 위해 이름을 사용합니다.
- 물리적 ID: 물리적 ID는 해당 부품에 실제로 부여된 ID이며, AWS CloudFormation 외부에서 사용자를 식별하는 데 사용됩니다.
- 유형: 유형은 리소스의 존재를 식별합니다.
- 상태: 상태는 그리드 생성 중에 발생하는 다양한 상황을 나타냅니다. CREATE_IN_PROGRESS는 생성이 진행 중임을 나타내고, CREATE_COMPLETE는 생성이 완료되었음을 나타내며, CREATE_FAILED는 생성이 실패했음을 나타냅니다.
※ 논리적 ID에 정의된 리소스
- WebServerSecurityGroup: 80(HTTP) 포트를 사용하여 보안 그룹입니다.
- VPC: 다른 인스턴스에 사용되는 Virtual Private Cloud입니다.
- InternetGateway: 인터넷에 액세스하기 시작합니다.
- AttachGateway: 인터넷 라이선싱에 연결하는 방법입니다.
- PublicSubnet1: 첫 번째 퍼블릭입니다.
- PublicSubnet2: 두 번째 퍼블릭입니다.
- PublicRouteTable: VPC의 등급 테이블입니다.
- PublicRoute: 거리 테이블의 퍼블릭 경로입니다.
- PublicSubnet1RouteTableAssociation: 첫 번째 단락을 퍼블릭 테이블에 연결하는 방법입니다.
- PublicSubnet2RouteTableAssociation: 두 번째 종료를 퍼블릭 테이블에 연결하는 방법입니다.
- WebServer: 워드프레스 서버로 생성되는 Amazon EC2입니다.
2.2 CloudFormation 살펴보기
① CloudFormation 콘솔에서 출력 탭을 션택합니다. WebsiteURL 및 InstanceSessionURL 값을 텍스트 편집기로 복사합니다.

2.3 웹 브라우저를 사용하여 워드프레스 사이트에 연결
① 새 웹 브라우저에 WebsiteURL 값을 복사 붙여넣기하여 입력합니다.
- 사이트명 : 아무거나 입력
- 사용자 이름: Student
- 비밀번호 : Student123
- 비밀번호 확인: 당신이 암호를 사용하는지 확인합니다 .
- 귀하의 이메일 : 이메일 주소를 입력합니다.

② 워드프레스를 설치한 다음 아까 했던 방식대로 로그인합니다.


2.4 세션 관리자를 통해 EC2연결
① InstanceSessionURL 값을 복사붙여넣기하여 입력합니다. 메시지 세션 관리자를 통해 워드프레스 설치에 사용되는 EC2에 연걸됩니다.
ps -ef #실행중인 프로세스를 확인

3. 그리드 삭제
① AWS 콘솔에서 검색 필드에 CloudFormation을 입력한 다음, 목록에서 선택하고 왼쪽 탐색 창에서 스택을 선택합니다.

② WordPress를 선택하고 삭제 버튼을 선택하고 스택 삭제를 선택합니다.

③ 그리드 상태가 DELETE_IN_PROGRESS 로 변경되었습니다. 그리드 생성을 모니터링하는 것과 동일한 방식으로 이벤트 탭을 사용하여 그리드를 삭제하여 모니터링할 수 있습니다.

느낀점
이 실습은 cloudforamtion의 기초적인 것을 다루며 아무런 기초가 없는 대학생들에게 알맞은 실습이라고 느꼈다. CloudFormation이 AWS 리소스 즉, 인프라를 생성하고 관리하는 서비스라는 것을 알게됐다. DevOps와 클라우드 인프라 관리에 있어 매우 중요한 요소들이며, CloudFormation은 이러한 요소들을 잘 지원해주는 도구임을 느꼈다. WORDPROCESS 스택을 생성하고 WEBSITEURL을 통해서 WORKPROCESS 사이트에 연결할 수 있다는 점이 흥미로웠다.
출처: AWS Skillbuilder
'AWS' 카테고리의 다른 글
AWS educate: AWS Database (0) | 2024.05.29 |
---|---|
AWS Skillbuilder: Getting Started with DevOps on AWS(Korean) (0) | 2024.05.22 |
AWS Skillbuilder : Building with Amazon Aurora Databases (Korean) (0) | 2024.05.22 |
AWS Educate: AWS Identity and Access Management(IAM) 실습 (0) | 2024.05.07 |
AWS Educate: Amazon Storage Service(Amazon S3) 실습 (0) | 2024.05.07 |