REL 1: 서비스 할당량과 제약 조건은 어떻게 관리합니까?
클라우드 기반 워크로드 아키텍처에는 서비스 할당량(서비스 한도라고도 함)이라는 것이 있습니다. 이러한 할당량은 실수로 필요한 것보다 많은 리소스를 프로비저닝하는 것을 방지하고 API 작업에 대한 요청 속도를 제한하여 서비스를 침해로부터 보호하기 위해 존재합니다. 광섬유 케이블을 통해 비트를 푸시할 수 있는 속도나 물리적 디스크의 스토리지 양과 같은 리소스 제약 조건도 있습니다.
리소스
AWS Live re:Inforce 2019 - Service Quotas
What Is Service Quotas?
AWS Service Quotas (formerly referred to as service limits)
Amazon EC2 Service Limits
AWS Trusted Advisor Best Practice Checks (see the Service Limits section)
AWS
limit monitor on AWS answers
AWS Marketplace: CMDB products that help track limits
APN Partner: partners that can help with configuration management
모범 사례:
-
서비스 할당량 및 제약 조건 인식: 워크로드 아키텍처에 대한 기본 할당량이 있으며 할당량 증가를 요청할 수 있습니다. 또한 디스크 또는 네트워크와 같은 리소스 제약 조건은 잠재적인 영향을 미칠 수 있습니다.
-
계정 및 리전 전체에서 서비스 할당량 관리: 여러 AWS 계정 또는 AWS 리전을 사용하는 경우 프로덕션 워크로드가 실행되는 모든 환경에서 적절한 할당량을 요청해야 합니다.
-
아키텍처를 통해 고정된 서비스 할당량 및 제약 조건 수용: 변경할 수 없는 서비스 할당량과 물리적 리소스를 인지하고 안정성에 영향을 미치지 않도록 설계합니다.
-
할당량 모니터링 및 관리: 잠재적 사용량을 평가하고 할당량을 적절히 늘려 사용량 증가를 계획합니다.
-
할당량 관리 자동화: 임계값에 근접했을 때 알림을 받을 수 있는 도구를 구현합니다. AWS Service Quotas API를 사용하여 할당량 증가 요청을 자동화할 수 있습니다.
-
현재의 할당량과 최대 사용량 간에 장애 조치를 수용할 만큼 여유가 충분히 있는지 확인합니다.: 리소스는 장애가 발생하더라도 정상적으로 종료할 때까지는 할당량 계산에 계속 포함될 수 있습니다. 그러므로 할당량에는 장애 발생 리소스가 종료되기 전까지 장애가 발생한 모든 리소스와 교체 리소스의 중복이 포함되어야 합니다. 이 차이를 계산할 때는 가용 영역 장애를 고려해야 합니다.
개선 계획
서비스 할당량 및 제약 조건 인식
What is Service Quotas?
- 서비스 요구 사항, 지연 시간, 규정, DR(재해 복구) 요구 사항을 기준으로 관련 계정 및 리전을 선택합니다.
- 게시된 설명서의 AWS 서비스 할당량 섹션 및 Service Quotas를 검토합니다.
AWS Service Quotas (formerly referred to as limits)- 배치 코드를 확인하여 워크로드에 필요한 모든 서비스를 결정합니다.
- AWS Config를 사용하여 AWS 계정에 사용된 모든 AWS 리소스를 찾습니다.
AWS Config Supported AWS Resource Types and Resource Relationships - AWS CloudFormation을 사용하여 사용된 AWS 리소스를 확인할 수도 있습니다. AWS 콘솔에서 또는 list-stack-resources
CLI 명령을 통해 생성된 리소스를 확인합니다. 템플릿 자체에 배포하도록 구성된 리소스를 볼 수도 있습니다.
Viewing AWS CloudFormation Stack Data and Resources on the AWS Management Console
AWS CLI for CloudFormation: list-stack-resources - 적용되는 서비스 할당량을 확인합니다. Trusted Advisor 및 Service Quotas를 통해 프로그래밍 방식으로 액세스되는 정보를 활용합니다.
계정 및 리전 전체에서 서비스 할당량 관리
What is Service Quotas?
- 서비스 요구 사항, 지연 시간, 규정, DR(재해 복구) 요구 사항을 기준으로 관련 계정 및 리전을 선택합니다.
- 게시된 설명서의 AWS 서비스 할당량 섹션 및 Service Quotas를 검토합니다.
AWS Service Quotas (formerly referred to as limits)- 배치 코드를 확인하여 워크로드에 필요한 모든 서비스를 결정합니다.
- AWS Config를 사용하여 AWS 계정에 사용된 모든 AWS 리소스를 찾습니다.
AWS Config Supported AWS Resource Types and Resource Relationships - AWS CloudFormation을 사용하여 사용된 AWS 리소스를 확인할 수도 있습니다. AWS 콘솔에서 또는 list-stack-resources
CLI 명령을 통해 생성된 리소스를 확인합니다. 템플릿 자체에 배포하도록 구성된 리소스를 볼 수도 있습니다.
Viewing AWS CloudFormation Stack Data and Resources on the AWS Management Console
AWS CLI for CloudFormation: list-stack-resources - 적용되는 서비스 할당량을 확인합니다. Trusted Advisor 및 Service Quotas를 통해 프로그래밍 방식으로 액세스되는 정보를 활용합니다.
아키텍처를 통해 고정된 서비스 할당량 및 제약 조건 수용
AWS Service Quotas
할당량 모니터링 및 관리
- 현재 리소스 사용 내역(버킷, 인스턴스 등)을 파악합니다.: 현재 리소스 사용 내역을 모두 보려면 Amazon EC2 DescribeInstances API와 같은 서비스 API를 사용합니다.
- 현재 할당량 파악: AWS Service Quotas, AWS Trusted Advisor 및 AWS 설명서 사용
- 100개 이상의 AWS 서비스에 대한 할당량을 단일 위치에서 관리할 수 있는 AWS 서비스인 AWS Service Quotas를 이용합니다.
- Trusted Advisor 서비스 한도를 이용해 현재 서비스 한도를 파악합니다.
- 서비스 API를 이용하여 현재 적용되는 서비스 할당량을 파악합니다.
- 할당량 증가 요청 내역과 처리 현황을 기록합니다.: 할당량 증가가 승인되고 나면 변경된 할당량을 반영하도록 레코드를 업데이트해야 합니다.
할당량 관리 자동화
- Service Quotas를 사용하고 AWS Limit Monitor 또는 AWS Marketplace에서 제공하는 것과 같은 자동 할당량 모니터링
솔루션으로 이 서비스를 보강합니다.
What is Service Quotas?
AWS limit monitor - Amazon SNS 및 AWS Service Quotas API를 사용하여 할당량 임계값을 기준으로 트리거되는 응답을 설정합니다.
- 한도 임계값 구성
- AWS Config, 배포 파이프라인, Amazon EventBridge 또는 타사의 변경 이벤트와 통합합니다.
- 알림 발생 시에 적절한 조치를 취하고 필요한 경우 AWS Support에 연락하도록 트리거를 설정합니다.
- 테스트 자동화
- 응답을 테스트하기 위해 인위적으로 할당량 임계값을 설정합니다.
- 변경 이벤트를 수동으로 트리거합니다.
- 게임 데이를 실행하여 할당량 증가 변경 프로세스를 테스트합니다.
현재의 할당량과 최대 사용량 간에 장애 조치를 수용할 만큼 여유가 충분히 있는지 확인합니다.
- 배치 패턴, 가용성 요청 사항, 서비스 사용량 증가를 고려해 서비스 할당량을 결정합니다.
- 안정성 요구 사항("9의 숫자"라고도 함)를 확인합니다.
- 장애 시나리오(예: 구성 요소, 가용 영역 또는 리전 손실)를 설정합니다.
- 배치 방법(카나리아, 블루/그린, 레드/블랙 또는 롤링 등)을 설정합니다.
- 현재 한도에 적절한 버퍼(예: 15%)가 포함되어야 합니다.
- 사용량 증가 계획(사용 추세 모니터링 등)을 수립합니다.
- 필요한 경우 할당량 증가를 요청합니다.: 할당량 증가 요청이 반영될 시간을 고려하십시오.