✅ CloudFormation이란 ?
- AWS 리소스를 자동으로 생성해주는 서비스이다. 사용하려는 AWS 리소스를 템플릿 파일로 작성하면, CloudFormation이 이를 분석해서 AWS 리소스를 생성한다. 이렇게 생성된 리소스를 스택이라고 한다.
✅ CloudFormation 섹션
- Outputs : 스택의 속성을 볼 때마다 반환되는 값을 설명하는 CloudFormation의 템플릿의 선택적 섹션
- Resources : 템플릿의 여러 주요 섹션 중 하나로 Resources 섹션만 필수 섹션이다.
- 포맷 버전 (선택 사항) : 템플릿 포맷 버전은 API 또는 WSDL 버전과 같지 않다.
- Description (선택 사항) : 템플릿을 설명하는 텍스트 문자열이다. 이 섹션은 항상 템플릿 포맷 버전 섹션 다음에 이어져야 한다.
- Metadata (선택 사항) : 템플릿에 대한 추가 정보를 제공하는 객체
- Parameter (선택 사항) : 조건부 파라미터 값을 지정하는 데 사용할 수 있는 키와 관련된 매핑으로, 조회 테이블과 비슷하다. Resources 및 Outputs 섹션의 Fn::FindinMap 내장 함수를 사용하여 키를 해당 값으로 매핑할 수 있다.
- Conditions(선택 사항) ; 스택 생성 또는 업데이트 시 특정 리소스 속성에 값이 할당되는지 또는 특정 리소스가 생성되는지 여부를 제어하는 조건이다. 예를 들면 스택이 프로덕션용인지 테스트 환경용인지에 따라 달라지는 리소스를 조건부로 생성할 수 있다.
- Transform(선택 사항) : 서버리스 애플리케이션(Lambda 기반 애플리케이션이라고도 함)의 경우, 사용할 AWS Serverless Application Model (AWS SAM)의 버전도 지정합니다. 변환을 지정할 경우 구문을 사용하여 템플릿에 리소스를 선언할 수 있습니다. 이 모델은 사용할 수 있는 구문과 처리 방식을 정의한다.
✅ CloudFormation 작동 방법
템플릿 작성 -> 템플릿 업로드 -> 스택 생성 -> 스택 설정 및 리소스 생성의 4단계로 작동한다.
✅ 템플릿 생성 방법
템플릿은 JSON이나 YAML 형식으로 만들 수 있다. 템플릿의 형식은 CloudFormation 디자이너에서 JSON <-> YAML으로 자유롭게 변경할 수 있다. 디자이너는 템플릿에 선언된 리소스를 그래픽으로 표시하고 편집할 수 있는 기능도 제공한다.
- CloudFormation Designer
AWS CloudFormation 템플릿 생성, 보기 및 수정을 위한 그래픽 도구입니다. Designer를 사용하면 끌어 놓기 인터페이스를 사용해 템플릿 리소스 다이어그램을 생성한 다음 통합 JSON 및 YAML 편집기를 사용하여 세부 정보를 편집할 수 있습니다. AWS CloudFormation의 신규 사용자 또는 숙련된 사용자든 간에 AWS CloudFormation Designer를 통해 템플릿의 리소스 간 연관성을 빠르게 파악하고 템플릿을 쉽게 수정할 수 있습니다.
- Choose template language에서 템플릿을 JSON 또는 YAML 형식으로 볼 수 있다.
- 오른쪽 위의 그림에서 EC2 인스턴스와 InstanceSecurityGroup이 어떻게 연결되어 있는지 볼 수 있다.
✅ CloudFormation 특징
- 표준화된 템플릿 파일로 전체 인프라를 모델링한다.
별도로 인프라를 표준화하는 작업이 필요하지 않고 이미 정의된 CloudFormation을 사용하기만 하면 된다. - 인프라를 코드로 관리한다. (Iac)
코드를 Git과 같은 버전 관리 시스템으로 관리하면 소스코드를 관리하는 것과 비슷하게 인프라를 관리할 수 있다. - 인프라 관리가 편리하다.
템플릿에 리소스를 정의하기만 하면 리소스를 생성하고 리소스가 서로 연계되도록 구성한다. 리소스가 더 이상 필요하지 않으면 스택을 삭제하는 것만으로 전체 리소스를 삭제할 수 있다. - 인프라 구성을 재사용한다.
한번 구성한 인프라는 언제든지 다시 구축할 수 있다. 한 리전에서 사용한 템플릿을 다른 리전에서 동일하게 사용한다. 같은 리전에서 재사용하려면 스택 이름을 다르게 설정한다. - 사용 요금이 없다.
생성된 리소스에 대한 요금만 지불하면 되고 CloudFormation 자체에는 별도 요금이 부과되지 않는다.
✅ AWS S3란
- Simple Storage Service의 약자로 파일 서버의 역할을 하는 서비스이다.
- 내구성과 확장성이 뛰어난 온라인 스토리지 서비스이다. 사용한 스토리지만큼 요금이 청구되며 데이터 전송부분에서는 해당 리전 내에서는 무료이다. (다른 리전으로는 유료) S3에서 인터넷으로 데이터를 송수신 시에도 가격이 매우 저렴하다.
- S3는 단독 스토리지로도 사용할 수 있으며 EC2, EBS, Glacier와 같은 다른 AWS 서비스와도 함께 사용할 수 있어 클라우드 어플리케이션, 컨텐츠 배포, 백업 및 아카이빙, 재해 복구 및 빅데이터 분석을 포함한 다양한 사례에 알맞다.
✅ S3 사용 용어
- 객체(Object) : S3에 데이터가 저장되는 기본 단위로써 파일과 메타데이터로 이루어져있다. 객체 하나의 크기는 1Byte부터 5TB 까지 허용되며 메타데이터는 MIME 형식으로 파일 확장자를 통해 자동으로 설정되며 사용자 임의로도 지정 가능하다.
- MIME 타입이란 ?
이메일과 함께 동봉할 파일을 텍스트 문자로 전환해서 이메일 시스템을 통해 전달하기위해 개발되었다. 현재는 웹을 통해서 여러 형태의 파일을 전달하는데 쓰이고 있다.
- MIME 타입이란 ?
- 버킷(Bucket) : S3에서 생성할 수 있는 최상위 디렉토리의 개념으로 이름은 S3 리전 중에서 유일해야 한다. 계정별로 100개까지 생성 가능하며 버킷에 저장할 수 있는 객체수와 용량은 무제한이다.
- Glacier - 영어로는 빙하라는 뜻으로 매우 저렴한 가격으로 데이터를 저장 할 수 있는 아마존의 스토리지 서비스
- 버전관리 - S3에 저장된 객체들의 변화를 저장. 예를들어 A라는 객체를 사용자가 삭제하거나 변경해도 각각의 변화를 모두 기록하기 때문에 실수를 만회할 수 있다.
✅ S3 옵션
S3는 디렉토리 별로 스토리지 옵션을 지정할 수 있으며 두가지 옵션이 있다.
- 표준스토리지 : S3 서비스 수준 계약으로 객체에 대해 99.999999999%의 내구성을 보장하며 99.99%의 가용성을 제공한다. 하지만 높은 내구성을 보장해야 하는 만큼 비용이 비교적 높으므로 유실되면 안되는 원본 데이터 등의 중요한 데이터를 저장하는 것이 알맞다.
- RRS(Reduced Redundancy Storage) : 표준 스토리보다 저렴한 비용으로 데이터를 저장할 수 있다. RRS 옵션은 여러 시설 전반에 다양한 디바이스에 객체를 저장하며 일반 디스크 드라이브의 400배에 달하는 내구성을 제공하나 표준 스토리지 만큼 많이 객체를 복제하지는 않으므로 원본을 복제한 데이터나 가공한 데이터(예를 들어 썸네일 같은)의 저장에 알맞다.
✅ S3 특징
- 많은 사용자가 접속해도 이를 감당하기 위한 시스템 작업을 하지 않아도 된다.
- 저장할 수 있는 파일 수의 제한이 없다.
- 파일에 인증을 붙여서 무단으로 엑세스 하지 못하도록 할 수 있다.
- 데이터를 여러 시설에서 중복으로 저장해 데이터의 손실이 발생할 경우 자동으로 복원한다.
- 데이터 조작에 HTTP/HTTPS를 통한 API가 사용된다.
✅ S3 사용 이유
- S3는 저장 용량이 무한대이고 파일 저장에 최적화되어 있다. 용량을 추가하거나 성능을 높이는 작업이 필요없다.
- 비용은 EC2와 EBS로 구축하는 것보다 훨씬 저렴
- S3 자체가 수천 대 이상의 매우 성능이 좋은 웹 서버로 구성되어 있어서 EC2와 EBS로 구축했을 때 처럼 Auto Scaling이나 Load Balancing에 신경쓰지 않아도 된다.
- 동적 웹페이지와 정적 웹페이지가 섞여있을 때 동적 웹페이지만 EC2에서 서비스하고 정적 웹페이지는 S3를 이용하면 성능도 높이고 비용도 절감.
- 웹하드 서비스와 비슷하지만, 별도의 클라이언트 설치나 ActiveX를 통하지 않고 HTTP 프로토콜로 파일 업로드/다운로드 처리
- S3 자체로 정적 웹서비스 가능
✅ S3 스토리지 클래스
Amazon S3는 워크로드의 데이터 액세스, 복원력 및 비용 요구 사항에 따라 선택할 수 있는 다양한 스토리지 클래스를 제공한다.
- Intelligent-Tiering
- 알 수 없거나 액세스 패턴이 변경되는 데이터에 대한 자동 비용 절감을 위함
- Standard-IA (Infrequent Access)
- 자주 액세스하지 않지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합
- One Zone-Infrequent Aecess (One Zone-IA)
- 자주 액세스하지 않지만 필요할 때 빠르게 액세스해야 하는 데이터에 적합하다. 최소 3개의 가용 영역(AZ)에 데이터를 저장하는 다른 S3 스토리지 클래스와는 달리, S3 One Zone-IA는 단일 AZ에 데이터를 저장하며 비용이 S3 Standard-IA보다 20% 적게 듭니다.
- Glacier Deep Archive
- 다량의 데이터를 지속적이고 안전하게 저장할 수 있는 장기 스토리지를 오프프레미스 테이프 아카이브 서비스와 경쟁 가능한 가격으로 제공하는 서비스
- 3개 이상의 AWS 가용 영역에 저장되며 12시간 안에 검색될 수 있다.
✅ S3 이벤트 알림
- 새 객체 생성 이벤트 : Amazon S3는 여러 객체 생성 API를 지원한다. 따라서 특정 API(예: s3:ObjectCreated:Put)를 사용할 경우에만 알림을 보내도록 요청하거나, 와일드카드(예: s3:ObjectCreated:*)를 사용하여 API에 관계없이 객체가 생성되면 알림을 보내도록 요청할 수 있다.
- 객체 제거 이벤트 : Amazon S3는 버전이 지정된 객체 및 버전이 지정되지 않은 객체의 삭제를 지원합니다. s3:ObjectRemoved:Delete 이벤트 유형을 사용하여 객체가 삭제되거나 버전이 지정된 객체가 영구적으로 삭제될 경우 알림을 요청할 수 있습니다. 또한 s3:ObjectRemoved:DeleteMarkerCreated를 사용하여 버전이 지정된 객체에 대해 삭제 마커가 생성될 경우 알림을 요청할 수 있습니다. s3:ObjectRemoved:* 와일드카드를 사용하여 객체가 삭제되는 모든 경우에 알림을 요청할 수도 있습니다.
- 객체 복원 이벤트 : Amazon S3은 S3 Glacier 스토리지 클래스에 보관된 객체의 복원을 지원한다. s3:ObjectRestore:Completed를 사용하여 객체 복원 완료 알림을 요청합니다. s3:ObjectRestore:Post를 사용하여 복원 시작 알림을 요청한다.
- RRS(Reduced Redundancy Storage) 객체 손실 이벤트 : Amazon S3가 RRS 스토리지 클래스에서 객체 손실이 확인되면 알림 메시지를 보낸다.
- 복제 이벤트 : Amazon S3는 S3 Replication Time Control (S3 RTC)가 활성화된 복제 구성에 대한 이벤트 알림을 보낸다. 객체 복제가 실패할 경우, 객체가 15분 임계값을 초과할 경우, 객체가 15분 임계값 이후에 복제될 경우, 객체가 더 이상 복제 지표에 의해 추적되지 않을 경우 이러한 알림을 보낸다. 객체가 대상 리전으로 복제될 때 두 번째 이벤트를 게시한다.
- Amazon S3는 다음과 같은 이벤트 게시 대상을 지원한다.
- Amazon Simple Notification Service(Amazon SNS) 주제
- Amazon Simple Queue Service(Amazon SQS) 대기열
- AWS Lambda
✅ IAM (Identity and Access Manager) 이란 ?
- AWS의 리소스에 대한 개별적으로 접근제어와 권한을 가지도록 계정 또는 그룹을 생성, 관리하는 서비스이다.
- 어떤 IAM 계정은 EC2 서비스만 접근할 수 있도록 권한을 부여하고, 다른 IAM 계정은 S3 서비스만 접근할 수 있도록 권한을 나눌 수 있다.
- 초기 AWS 계정 생성시 해당 계정의 모든 AWS 서비스 및 리소스에 완전한 엑세스 권한이 있는 하나의 ID (Single Sign-In ID 라고 한다.) 즉 AWS 계정 루트 사용자로 시작한다.
- 일상적인 작업, 관리 작업조차도 이 루트 사용자 계정으로 사용하지 않는 것을 권장하고 있다.
- 몇가지 계정 서비스 관리 작업을 수행할 때만 루트 사용자 자격 증명을 사용하는 것을 권장한다.
✅ IAM 주요 기능
1. 계정에 대한 공유 엑세스 : 암호나 액세스 키를 공유하지 않고도 AWS 계정의 리소스를 관리하고 사용할 수 있는 권한을 다른 사람에게 부여 가능
2. 세분화된 권한 : 리소스에 따라 여러 사람 또는 EC2 인스턴스에서 실행되는 애플리케이션에 안전하게 제공
3. 멀티 팩터 인증(MFA) : 계정 작업을 위해 암호나 액세스 키뿐 아니라 특별히 구성된 디바이스 코드도 제공
4. 자격 증명 연동 : 기업 네트워크나 인터넷 자격 증명 공급자와 같은 다른 곳에 이미 암호가 있는 사용자에게 AWS 계정에 대한 임시 액세스 권한 부여 가능
5. IAM 액세스 방식 : AWS Management Console, AWS 명령줄 도구(CLI, Window용 PowerShell), AWS SDK, IAM HTTPS API
✅ IAM 용어
- IAM 리소스 - IAM에 저장된 사용자, 그룹 정책 및 자격 증명 곱급자 객체
- IAM 자격 증명 - 식별 및 그룹화에 사용되는 IAM 리소스 객체이다. 정책을 IAM 자격 증명에 연결할 수 있다. 여기에는 사용자, 그룹 및 역할이 포함된다.
- IAM 엔터티 - AWS가 인증에 사용하는 IAM 리소스 객체이다.
- 보안 주체 - AWS 계정 루트 사용자, IAM 사용자 또는 IAM 역할을 사용하여 로그인하고 AWS에 요청하는 사람 또는 애플리케이션이다.
✅ IAM 사용 방법
- AWS Management Console
- AWS 명령줄 도구(CLI)
- AWS SDK
- IAM HTTPS API
✅ IAM 태그(TAG) 기반 관리
https://whchoi98.gitbook.io/aws-iam/iam-tag
https://lascrea.tistory.com/184
✅ IAM 권장 사항
- AWS 계정 루트 사용자 액세스 키 잠금
- 개별 IAM 사용자 만들기
- 그룹을 사용하여 IAM 사용자에게 권한을 할당합니다.
- 최소 권한 부여
- AWS 관리형 정책으로 권한 사용 시작
- 인라인 정책 대신 고객 관리형 정책 사용
- 액세스 레벨을 이용한 IAM 권한 검토
- 사용자에 대한 강력한 암호 정책 구성
- MFA 활성화
- Amazon EC2 인스턴스에서 실행되는 애플리케이션에 역할 사용
- 역할을 사용하여 권한 위임
- 액세스 키를 공유하지 마십시오
- 자격 증명을 정기적으로 교체
- 불필요한 자격 증명 삭제
- 보안 강화를 위해 정책 조건 사용
- AWS 계정의 활동 모니터링
- IAM 모범 사례에 대한 동영상 프레젠테이션
✅ AWS 액세스 수준
- AWS는 서비스의 작업에 대해 다음과 같은 액세스 레벨 분류를 정의한다.
- 목록: 서비스의 리소스를 나열하여 객체가 존재하는지 판단할 수 있는 권한입니다. 이 액세스 레벨의 작업은 객체를 나열할 수 있으나 리소스의 내용을 확인할 수 없습니다. 예를 들어 Amazon S3 작업 ListBucket의 액세스 수준은 목록입니다.
- 읽기: 서비스에서 리소스 내용과 속성을 읽을 수 있으나 편집할 수 없는 권한입니다. 예를 들어 Amazon S3 작업 GetObject 및 GetBucketLocation의 액세스 수준은 Read입니다.
- 쓰기: 서비스에서 리소스를 생성, 삭제하거나 수정할 수 있는 권한입니다. 예를 들어 Amazon S3 작업 CreateBucket, DeleteBucket 및 PutObject는 쓰기 액세스 수준입니다. Write 작업은 리소스 태그 수정을 허용할 수도 있습니다. 그러나 태그 변경만 허용하는 작업은 Tagging 액세스 레벨입니다.
- 권한 관리: 서비스에서 리소스 권한을 부여하거나 수정할 수 있는 권한입니다. 예를 들어 대부분의 IAM 및 AWS Organizations 작업과 Amazon S3 작업 PutBucketPolicy 및 DeleteBucketPolicy 등의 액세스 수준은 권한 관리입니다.
- 태그 지정: 리소스 태그의 상태만 변경하는 작업을 수행할 수 있는 권한입니다. 예를 들어 IAM 작업 TagRole 및 UntagRole은 역할에 대한 태그 지정 또는 태그 취소만 허용하므로 태그 지정 액세스 수준입니다. 그러나 CreateRole 작업은 사용자가 역할을 생성할 때 역할 리소스에 태그를 지정하도록 허용합니다. 이 작업은 태그를 추가하는 것만이 아니므로 Write 액세스 레벨입니다.
✅ AWS EC2란 ?
- AWS에서 안전하고 크기 조정이 가능한 컴퓨팅 용량을 클라우드에서 제공하는 웹서비스이다.
- 이 서비스를 통해서 아마존이 각 세계에 구축한 데이터 센터의 서버용 컴퓨터들의 자원을 원격으로 사용할 수 있다.
- AWS가 제공하는 URL(Public DNS)를 통해 이 컴퓨터에 접근할 수 있다.
✅ EC2 장점
- 용량을 늘리거나 줄일 수 있다. (탄력성)
- 사용한만큼 지불하므로 저렴하다.
- 사용자가 인스턴스를 완전히 제어할 수 있다.
- 보안 및 네트워크 구성, 스토리지 관리 효과적이다.
✅ EC2의 지역 및 가용 영역 선택
- 각 리전은 개별 지역 내 존재하는 지리적 위치를 의미한다.
- 가용영역(AZ)은 리전 내 있는 구분된 가용성 영역을 의미하며 전용선으로 연결되어 있어 마치 한 클러스터인것처럼 동작한다.
- 지역별로, 지역 내에서도 가용영역을 분리하여 강력한 내결함성과 안정성을 얻을 수 있다.
✅ EC2 요금 옵션
- 온디맨드
- 선결제 금액이나 장기 약정 없이 저렴하고 유연하게 EC2를 사용하기 원하는 사용자
- 단기의 갑작스럽거나 예측할 수 없는 워크로드가 있으며, 중단되어서는 안되는 애플리케이션
- EC2에서 처음으로 개발 또는 시험 중인 애플리케이션
- 스팟 인스턴스
- 시작 및 종료 시간이 자유로운 애플리케이션
- 컴퓨팅 가격이 매우 저렴해야만 수익이 나는 애플리케이션
- 대량의 서버 용량 추가로 긴급히 컴퓨팅 파워가 필요한 사용자
- Saving Plans
- 1년 또는 3년 기간의 일정 사용량 약정을 조건으로 EC2 및 Fargate 사용량에 대해 저렴한 요금을 제공하는 유연한 요금
- 예약 인스턴스
- 수요가 꾸준한 애플리케이션
- 예약 용량이 필요할 수 있는 애플리케이션
- 총 컴퓨팅 비용을 절감하기 위해 1년 또는 3년 동안 EC2를 사용하기로 약정할 수 있는 고객
- 전용 호스팅
- EC2에서 Microsoft 및 Oracle 같은 공급업체의 적격 소프트웨어 라이선스를 사용할 경우
- 기존의 물리적 서버에서 EC2를 사용할 경우
- 온디맨드로 구매 가능(시간당).
- 온디맨드 요금과 비교하여 최대 70% 할인된 예약 인스턴스로 구매 가능.
✅ AWS AMI(Amazon Machine Image)
- EC2 인스턴스를 시작하는데 필요한 정보가 들어있는 이미지. 즉 EC2의 복사본이라고 생각하면 된다.
- 다양한 OS의 이미지를 생성할 수 있어 EC2에 필요한 설정이나 환경 구축을 따로 할 필요없이 필요한 이미지를 선택하여 빠르게 생성할 수 있다.
- 직접 AMI를 생성할 필요없이 AWS Marketplace에서 다양한 OS와 환경이 구축되어있는 AMI를 선택하여 EC2를 생성할 수도 있다. (유료)
✅ AMI 구성
- 1개 이상의 Amazon EBS 스냅샷 또는 인스턴스 스토어 기반 AMI의 경우 인스턴스의 루트 볼륨에 대한 템플릿(ex 운영체제, 애플리케이션의 서버, 애플리케이션)
- AMI를 사용하여 인스턴스를 시작할 수 있는 AWS 계정을 제어하는 시작 권한
- 시작될 때 인스턴스에 연결할 볼륨을 지정하는 블록 디바이스 매핑
✅ AMI 사용
- AMI를 생성 및 등록한 다음 새 인스턴스를 시작하기 위해 AMI를 사용할 수 있다. (AMI 소유자가 시작 권한을 부여한 경우 AMI에서 인스턴스를 시작할 수 있다.)
- AMI를 동일한 AWS 리전 또는 다른 AWS 리전으로 복사할 수 있다.
- 더 이상 필요없는 AMI는 등록 취소할 수 있다.
- 고유한 AMI 또는 사전 빌드된 AMI는 특정 리전에만 사용할 수 있다.
- AMI에는 네트워크 엑세스 제어나 공유 기능이 없다.
✅ AWS Auto Scaling이란 ?
- 사용자가 정의한 정책, 일정 및 상태 확인에 따라 자동으로 EC2 인스턴스를 시작하거나 종료하도록 설계된 웹 서비스
- Auto scaling group이란 동일한 사양, 환경 등(동일한 AMI)을 가지고 있는 EC2 인스턴스들의 그룹이다.
- Auto scaling은 인스턴스의 수를 트래픽에 따라 자동으로 조절해준다.
✅ Auto Scaling 구성 요소
- 그룹 - EC2 인스턴스는 그룹에 정리되어 조정 및 관리 목적의 논리적 단위로 처리할 수 있습니다.
- 구성 템플릿 - 그룹에서는 시작 템플릿 또는 시작 구성(권장되지 않음, 제공되는 기능이 적음)을 EC2 인스턴스에 대한 구성 템플릿으로 사용합니다. 인스턴스의 AMI ID, 인스턴스 유형, 키 페어, 보안 그룹, 블록 디바이스 매핑 등의 정보를 지정할 수 있습니다.
- 조정 옵션 - Auto Scaling 그룹을 조정하는 여러 가지 방법을 제공한다. 예를 들어, 지정한 조건의 발생(동적 확장) 또는 일정에 따라 조정하도록 그룹을 구성할 수 있습니다.
✅ Auto Scaling 목적
- 내결함성 향상
- 비정상 상태일 때를 감지하여 종료 후 이를 대체할 인스턴스를 시작
- 복수의 AZ에 배포하도록 Auto Scaling Group을 구성하였을때 하나의 AZ가 사용 불가 상태가 되어도 다른 AZ에 같은 수의 인스턴스가 새로 배포되어 서비스 제공
- 가용성 향상
- 현재 트래픽 요구를 처리할 수 있는 적절한 용량을 갖춤
- 비용 관리 개선
- 필요에 따라 동적으로 인스턴스 수를 확장 / 축소 하면서 사용한 EC2 인스턴스에 대해서만 비용을 지불
✅ Auto Scaling 축소 정책
- 축소 이벤트 발생 시나리오
- 동적 조정 정책을 사용할 때 지표 값의 변화로 그룹 크기가 줄어드는 경우
- 예약된 조정을 사용할 때 예약된 작업의 결과로 그룹 크기가 줄어드는 경우
- 그룹의 크기를 수동으로 줄이는 경우
1. 예시 그림의 Auto Scaling 그룹에는 인스턴스 유형 1개와 가용 영역 2개가 있고 원하는 용량은 인스턴스 2개입니다. 또한 리소스 사용률이 증가하거나 감소할 때 인스턴스를 추가 및 제거하는 동적 조정 정책이 있습니다. 이 그룹에 있는 인스턴스 2개는 다음 다이어그램에 표시된 것처럼 가용 영역 2개에 분산됩니다.
2. Auto Scaling 그룹이 확장되면 Amazon EC2 Auto Scaling은 새 인스턴스를 시작합니다. 이제 Auto Scaling 그룹에 있는 인스턴스 3개가 다음 다이어그램에 표시된 것처럼 가용 영역 2개에 분산됩니다.
3. Auto Scaling 그룹이 축소되면 Amazon EC2 Auto Scaling이 인스턴스 중 하나를 종료합니다.
4. 그룹에 특정 종료 정책을 할당하지 않은 경우 Amazon EC2 Auto Scaling에서는 기본 종료 정책을 사용합니다.
인스턴스가 2개인 가용 영역을 선택 (인스턴스가 더 많은 가용 영역을 선택)
가장 오래된 시작 템플릿 또는 시작 구성을 시작하는 인스턴스를 종료
인스턴스가 동일한 시작 템플릿 또는 시작 구성에서 시작된 경우 다음번 결제 시간에 가장 근접한 인스턴스를 선택한 후 이를 종료
정리하자면
인스턴스 수가 가장 많은 가용 영역을 선택
가장 오래된 시작 구성이 있는 인스턴스를 선택
다음 청구 시간에 가장 가까운 인스턴스를 선택
✅ Auto Scaling 조정 정책
- 단계 조정 정책
- 조정 프로세스를 실행하는 CloudWatch 경보에 대한 조정 지표와 임계값을 설정하고, 지정된 평가 기간에 임계값이 위반되었을 때 조정 가능 목표를 어떻게 조정할지를 결정해야 한다.
- 하나 이상의 단계 조절을 추가하며 이를 통해 경보 위반의 크기에 따라 조정할 수 있다.
- 지표 값의 하한값, 지표 값의 상한값, 조정 유형을 기반으로 축소하거나 확장하는 양
- 대상 추적 조정 정책
- 조정 지표가 확장 가능한 대상의 용량에 비례하여 증가하거나 감소하는 사용률 지표일 경우 대상 추적 정책을 사용하는 것이 좋다.
- 대상 추적 조정 정책을 사용하는 경우 조정 지표를 선택하고 목푯값을 설정한다. EC2 Auto Scailing은 조정 정책을 트리거하는 CloudWatch 경보를 생성 및 관리하고 지표와 대상 값을 기준으로 조정 조절을 계산한다.
참고
https://wildpup.cafe24.com/archives/785
https://okhyeon.tistory.com/26
https://choseongho93.tistory.com/263
https://dev.classmethod.jp/articles/for-beginner-ec2-explanation/
https://hanjustudy.tistory.com/10?category=788395
'Certificate > AWS SAA' 카테고리의 다른 글
[AWS] 서비스 개념 정리 (6) (0) | 2022.02.28 |
---|---|
[AWS] 서비스 개념 정리 (5) (0) | 2022.02.25 |
[AWS] 서비스 개념 정리 (4) (0) | 2022.02.24 |
[AWS] 서비스 개념 정리 (3) (0) | 2022.02.23 |
[AWS] 서비스 개념 정리 (2) (0) | 2022.02.23 |
영차영차 성장 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!