기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
내부 개발 플랫폼을 위한 골든 경로의 예
이 섹션에는 골든 경로의 다음 예제가 포함되어 있습니다.
서버리스 워크로드
개발
-
로컬 개발 및 테스트에는 AWS Serverless Application Model (AWS SAM) CLI를 사용합니다.
-
로드 테스트 중에 Amazon CodeGuru Profiler를 사용하여 애플리케이션을 미세 조정합니다.
애플리케이션 설계 및 배포
-
코드형 인프라의 AWS Cloud Development Kit (AWS CDK) 경우를 사용합니다.
-
CDK Pipelines을 사용하여 인프라 및 애플리케이션 배포를 자동화합니다.
-
스캐폴딩 리소스의 경우 컨테이너 이미지를 사용하여 AWS Lambda 함수를 생성하고 Amazon Elastic Container Registry(Amazon ECR)에 저장합니다.
-
일반 이미지보다 Lambda
이미지를 사용합니다. -
네트워킹의 경우 VPC 흐름 로그가 활성화된 Virtual Private Cloud(VPCs)에 Lambda 함수를 배포하고 인터페이스 VPC 엔드포인트를 사용하여 프라이빗 리소스에 액세스하는 것이 좋습니다.
-
Amazon API Gateway를 사용하여 HTTP 요청을 Lambda 함수로 라우팅합니다.
-
버전을 사용하여 Lambda 함수의 배포를 관리합니다.
-
검사기가 있는 동적 구성AWS AppConfig에 사용합니다.
-
AWS Secrets Manager를 사용하여 보안 암호를 검색합니다.
-
카나리아 테스트의 경우 별칭 라우팅 구성을 사용하여 트래픽의 일부를 두 번째 Lambda 함수 버전으로 전송합니다.
-
에서 자동 롤백을 사용하고 Amazon CloudWatch에서 경보를 AWS CodeDeploy 구성하여 롤백을 시작합니다.
운영
-
API Gateway 액세스 로그를 활성화합니다.
-
API Gateway 요청 ID, 확장 요청 ID 및 Lambda 요청 ID를 로깅합니다.
-
Lambda 함수에 대해 가급적이면 JSON 형식의 구조화된 로그를 사용합니다.
-
CloudWatch Logs API를 호출하는 대신 로그를 표준 출력(stdout)으로 내보냅니다.
-
AWS Lambda Powertools
를 사용하여 서버리스 모범 사례를 구현합니다. -
조직의 요구 사항에 따라 로그 보존 기간을 설정합니다.
-
CloudWatch Lambda Insights를 활성화하여 콜드 스타트와 같은 진단 정보를 수집, 집계 및 요약할 수 있습니다. 이를 통해 Lambda 함수의 문제를 격리하고 신속하게 해결할 수 있습니다.
-
CloudWatch에서 ,
ErrorsThrottlesProvisionedConcurrencySpilloverInvocations, 및Duration지표를 사용하여 Lambda 함수를 모니터링합니다. 자세한 내용은 Lambda 함수 지표 작업을 참조하세요. -
CloudWatch에서 4xx 오류 코드, 5xx 오류 코드 및 지연 시간 지표를 사용하여 APIs 모니터링합니다.
-
AWS X-Ray를 사용하여 애플리케이션이 처리하는 요청에 대한 데이터를 수집합니다. 분산 구성 요소 및 서비스를 사용하는 애플리케이션의 경우 이를 통해 문제와 최적화 기회를 빠르게 식별할 수 있습니다.
Amazon Elastic Container Service(Amazon ECS)
개발
-
Amazon Elastic Container Service(Amazon ECS) 컨테이너 이미지의 모범 사례를 따릅니다.
-
Amazon Elastic Container Registry(Amazon ECR)를 사용하여 컨테이너 이미지를 저장하고 지속적인 보안 스캔을 수행합니다.
애플리케이션 설계 및 배포
-
모범 사례에 따라 Amazon ECS에서 애플리케이션을 설계합니다.
-
코드형 인프라AWS Cloud Development Kit (AWS CDK)의 경우를 사용하고 인프라 및 애플리케이션 배포의 경우 CI/CD 파이프라인을 사용합니다.
-
Amazon ECS Service Connect를 사용하여 서비스 검색, 연결 및 트래픽 모니터링을 위한 Amazon ECS 구성을 관리합니다.
-
수평적으로 확장되는 컨테이너화된 애플리케이션에 Amazon Elastic File System(Amazon EFS)을 사용합니다. 애플리케이션에 밀리초 미만의 지연 시간이 필요하고 공유 파일 시스템이 필요하지 않은 경우 Amazon Elastic Block Store(Amazon EBS)를 사용합니다.
운영
-
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 서버 또는 클러스터를 관리할 필요 없이 워크로드를 컨테이너화하는 관리형 방법을 AWS Fargate 제공하므로를 사용합니다.
-
에서 블루/그린 배포를 사용합니다 AWS CodeDeploy.
-
Amazon CloudWatch Container Insights를 사용하여 컨테이너화된 애플리케이션 및 마이크로서비스에서 지표와 로그를 수집, 집계 및 요약할 수 있습니다.
-
FireLens for Amazon ECS 로그 드라이버를 활성화하고 AWS for Fluent Bit
사이드카 컨테이너를 사용하여 성능을 개선하고 로그 스트림을 Amazon Simple Storage Service(Amazon S3) 또는 CloudWatch 로그 그룹과 같은 별도의 위치로 리디렉션합니다.
추가 리소스
-
Amazon ECS 블루프린트
(GitHub)
Amazon Elastic Kubernetes Service(Amazon EKS)
개발
-
Amazon Elastic Container Service(Amazon ECS) 컨테이너 이미지의 모범 사례를 따릅니다.
-
Amazon Elastic Container Registry(Amazon ECR)를 사용하여 컨테이너 이미지를 저장하고 지속적인 보안 스캔을 수행할 수 있습니다.
애플리케이션 설계 및 배포
-
Helm
을 사용하여 애플리케이션 템플릿을 패키징합니다. -
Argo CD
를 사용하여 애플리케이션을 배포하여 GitOps 접근 방식을 따릅니다. -
AWS Load Balancer 컨트롤러를 사용하여 Kubernetes 클러스터의 Elastic Load Balancing 리소스를 관리합니다.
-
cert-manager
및 AWS Private Certificate Authority Issuer 를 사용하여 TLS 인증서를 관리합니다. -
스토리지 옵션에는 Amazon Elastic Block Store(Amazon EBS) 컨테이너 스토리지 인터페이스(CSI) 드라이버 또는 Amazon Elastic File System(Amazon EFS) CSI 드라이버를 사용합니다.
-
ExternalDNS
를 사용하여 Kubernetes 서비스를 Amazon Route 53과 통합합니다. -
외부 보안 암호 연산
자를 사용하여 AWS Secrets Manager 또는 AWS Systems Manager 파라미터 스토어에 보안 암호를 저장합니다. -
Crossplane
을 사용하여 Kubernetes 클러스터에서 인프라를 관리합니다 AWS .
운영
-
네트워크 정책에 Calico
를 사용하고 정책 컨트롤러로 Gatekeeper 를 사용합니다. -
클러스터 Auto Scaling에 Karpenter
를 사용합니다. -
관찰성을 위해 Amazon Managed Service for Prometheus 및 Amazon Managed Grafana를 사용합니다.
-
Kubecost
를 사용하여 실시간 인프라 비용 가시성을 제공합니다.
추가 리소스