기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
REL07-BP01 리소스를 얻거나 확장할 때 자동화 사용
손상된 리소스를 교체하거나 워크로드를 확장할 때는 Amazon S3 및 와 같은 관리형 AWS 서비스를 사용하여 프로세스를 자동화합니다 AWS Auto Scaling. 타사 도구 및 AWS SDKs 를 사용하여 조정을 자동화할 수도 있습니다.
관리형 AWS 서비스에는 Amazon S3, Amazon CloudFront, AWS Auto Scaling AWS Lambda, Amazon DynamoDB AWS Fargate및 Amazon Route 53이 포함됩니다.
AWS Auto Scaling 를 사용하면 손상된 인스턴스를 감지하고 교체할 수 있습니다. 또한 Amazon EC2
EC2 인스턴스를 확장할 때는 여러 가용 영역(가급적 최소 3개)을 사용하고 용량을 추가하거나 제거하여 이러한 가용 영역 간에 균형을 유지해야 합니다. ECS 작업 또는 Kubernetes 포드(Amazon Elastic Kubernetes Service 사용 시)도 여러 가용 영역에 분산되어야 합니다.
AWS Lambda를 사용할 때 인스턴스는 자동으로 확장됩니다. 함수에 대한 이벤트 알림을 수신할 때마다 는 컴퓨팅 플릿 내에서 가용 용량을 AWS Lambda 빠르게 찾고 할당된 동시성까지 코드를 실행합니다. 사용자는 필요한 동시성이 특정 Lambda와 Service Quotas에 구성되어 있는지 확인해야 합니다.
Amazon S3는 높은 요청 속도를 처리하도록 자동으로 조정됩니다. 예를 들어 애플리케이션이 버킷의 접두사당 초당 최소 3,500/PUTCOPYPOST/DELETE 또는 5,500GET/HEAD요청을 달성할 수 있습니다. 버킷의 접두사 수에는 제한이 없습니다. 읽기를 병렬화하여 읽기 또는 쓰기 성능을 향상시킬 수 있습니다. 예를 들어, Amazon S3 버킷에서 접두사 10개를 만들어 읽기를 병렬화하는 경우 읽기 성능을 초당 읽기 요청 55,000개로 조정할 수 있습니다.
Amazon CloudFront 또는 신뢰할 수 있는 콘텐츠 전송 네트워크()를 구성하고 사용합니다CDN. CDN 는 최종 사용자 응답 시간을 단축하고 캐시의 콘텐츠 요청을 제공할 수 있으므로 워크로드를 확장할 필요가 줄어듭니다.
일반적인 안티 패턴:
-
자동 복구를 위해 Auto Scaling 그룹을 구현하지만 탄력성은 구현하지 않습니다.
-
Auto Scaling을 사용하여 트래픽의 대규모 증가에 대응합니다.
-
고도의 상태 저장 애플리케이션을 배포하여 탄력성 옵션을 없습니다.
이 모범 사례 확립의 이점: 자동화는 리소스를 배포하고 폐기할 때 수작업으로 인한 오류가 발생할 가능성을 없앱니다. 자동화는 배포 또는 폐기 요구 사항에 대한 느린 대응으로 인해 비용이 초과하거나 서비스가 거부될 위험성을 없앱니다.
이 모범 사례가 확립되지 않을 경우 노출되는 위험 수준: 높음
구현 가이드
AWS Auto Scaling을 구성 및 사용합니다. 애플리케이션을 모니터링하고 용량을 자동으로 조정하여 최저 비용으로 안정적이고 예측 가능한 성능을 유지할 수 있습니다. AWS Auto Scaling을 사용하면 여러 서비스에 걸쳐 여러 리소스에 대한 애플리케이션 조정을 설정할 수 있습니다.
-
-
해당하는 경우 Amazon EC2 인스턴스 및 스팟 플릿, Amazon ECS 작업, Amazon DynamoDB 테이블 및 인덱스, Amazon Aurora 복제본 및 AWS Marketplace 어플라이언스에서 Auto Scaling을 구성합니다.
-
DynamoDB Auto Scaling을 사용하여 자동으로 처리량 용량 관리
-
서비스 API 작업을 사용하여 경보, 조정 정책, 워밍업 시간 및 쿨다운 시간을 지정합니다.
-
-
-
-
Elastic Load Balancing을 사용합니다. 로드 밸런서는 경로별 또는 네트워크 연결별로 로드를 분산할 수 있습니다.
-
Elastic Load Balancing이란 무엇인가요?
-
Application Load Balancer는 로드를 경로별로 분산합니다.
-
Application Load Balancer란 무엇인가요?
-
도메인 이름의 하위 경로를 기준으로 다른 워크로드에 트래픽을 분산하도록 Application Load Balancer를 구성합니다.
-
Application Load Balancer는 와 통합되어 수요를 관리하는 방식으로 로드를 분산 AWS Auto Scaling 하는 데 사용할 수 있습니다.
-
-
-
Network Load Balancer는 연결별로 로드를 분산합니다.
-
-
를 사용하여 서로 다른 워크로드에 트래픽을 분산TCP하거나 워크로드에 대해 일정한 IP 주소 집합을 갖도록 Network Load Balancer를 구성합니다.
-
Network Load Balancer는 와 통합되어 수요를 관리하는 방식으로 로드를 분산하는 AWS Auto Scaling 데 사용할 수 있습니다.
-
-
-
-
가용성이 높은 DNS 공급자를 사용합니다. DNS 이름을 사용하면 사용자가 IP 주소 대신 이름을 입력하여 워크로드에 액세스하고 이 정보를 정의된 범위로 배포할 수 있습니다. 이는 일반적으로 워크로드 사용자에게 전역적으로 적용됩니다.
-
Amazon Route 53 또는 신뢰할 수 있는 DNS 공급자를 사용합니다.
-
Route 53을 사용하여 CloudFront 배포 및 로드 밸런서를 관리합니다.
-
관리할 도메인 및 하위 도메인을 결정합니다.
-
ALIAS 또는 레코드를 사용하여 적절한 CNAME 레코드 세트를 생성합니다.
-
-
AWS 글로벌 네트워크를 사용하여 사용자의 애플리케이션 경로를 최적화합니다. AWS Global Accelerator는 애플리케이션 엔드포인트의 상태를 지속적으로 모니터링하고 30초 이내에 트래픽을 정상 엔드포인트로 리디렉션합니다.
-
AWS Global Accelerator는 로컬 또는 글로벌 사용자와 함께 애플리케이션의 가용성과 성능을 개선하는 서비스입니다. Application Load Balancer AWS 리전, Network Load Balancer 또는 Amazon EC2 인스턴스와 같은 단일 또는 다중 에서 애플리케이션 엔드포인트에 대한 고정 진입점 역할을 하는 정적 IP 주소를 제공합니다.
-
-
Amazon CloudFront 또는 신뢰할 수 있는 콘텐츠 전송 네트워크()를 구성하고 사용합니다CDN. 콘텐츠 전송 네트워크를 사용하면 최종 사용자 입장에서는 응답 시간을 단축할 수 있으며 워크로드를 불필요하게 확장할 수 있는 콘텐츠 요청을 처리할 수 있습니다.
-
-
워크로드에 대한 Amazon CloudFront 배포를 구성하거나 타사 를 사용합니다CDN.
-
엔드포인트 보안 그룹 또는 액세스 정책에서 에 대한 IP 범위를 CloudFront 사용하여 에서만 액세스할 수 있도록 워크로드 CloudFront 에 대한 액세스를 제한할 수 있습니다.
-
-
-
리소스
관련 문서: