Amazon ECS FAQ

일반

Amazon ECS는 완전관리형의 독자적인 컨테이너 오케스트레이션 서비스로, AWS, 기존 Amazon Elastic Cloud Compute(Amazon EC2) 인스턴스 또는 AWS Fargate를 사용한 서버리스 컴퓨팅 영역에서 원하는 규모의 컨테이너식 애플리케이션을 구축, 배포 및 관리할 수 있는 가장 쉬운 방법을 제공합니다. Amazon ECS는 완전관리형이고 버전이 없으며 AWS에서 컨테이너식 애플리케이션을 간단하게 구축 및 실행할 수 있는 도구와 기본 지원을 제공합니다. 예를 들어 Amazon ECS Service Connect는 서비스 검색, 연결 및 트래픽 관찰성을 간소화하는 반면, Amazon CloudWatch Container Insights는 지표 및 로그를 수집, 집계, 요약합니다. Amazon ECS를 사용하면 서버 또는 클러스터의 프로비저닝이나 규모 조정이 필요하지 않으며 컨테이너를 실행할 서버 유형을 선택하거나 클러스터 패킹을 최적화할 필요가 없습니다. CPU 및 메모리 요구 사항, 네트워킹 및 IAM 정책, 시작 유형 및 데이터 볼륨을 지정하는 기능을 통해 컨테이너의 운영 속성을 제어할 수 있습니다. 간단한 API 호출로 컨테이너 사용 애플리케이션을 실행 및 중지하고, 클러스터의 전체 상태를 쿼리하며, 보안 그룹, Elastic Load Balancing(ELB), Amazon Elastic Block Store(EBS) 볼륨 및 Identity Access Management(IAM) 역할과 같이 여러 친숙한 기능에 액세스할 수 있습니다. 리소스 필요 사항과 가용성 요구 사항에 따라 클러스터 전체에 컨테이너 배치 일정을 수립하는 데에도 Amazon ECS를 사용할 수 있습니다.

Amazon ECS는 완전관리형 컨테이너 오케스트레이션 서비스로, 자체 클러스터 관리 인프라를 설치 및 운영하고 그 규모를 조정할 필요 없이 컨테이너를 사용하여 장기 실행 애플리케이션, 서비스 및 배치 프로세스를 손쉽게 배포하고 관리할 수 있게 해줍니다. Amazon ECS을 사용하면 애플리케이션 가용성을 유지 관리하고 애플리케이션 용량 요구 사항에 따라 컨테이너 규모를 확장하거나 축소할 수 있습니다. Amazon ECS를 AWS Fargate와 함께 사용하면 컴퓨팅 인프라를 프로비저닝, 관리 또는 규모를 조정할 필요 없이 애플리케이션을 배포할 수 있으므로 컨테이너식 애플리케이션을 성공적으로 구축, 배포 또는 마이그레이션하는 데 걸리는 시간을 줄일 수 있습니다. 또한 Amazon ECS는 ELB, Amazon Virtual Private Cloud(VPC), IAM, Application AutoScaling, Amazon CloudWatchAmazon Elastic File System(Amazon EFS)와 같은 친숙한 기능과 통합되므로 일반화된 추상화를 구축하거나 유지 관리할 필요가 없습니다.

Amazon ECS는 조직이 규모에 상관없이 컨테이너식 애플리케이션을 가장 쉽게 구축, 배포, 관리할 수 있는 방법을 제공하는 완전관리형의 독자적인 컨테이너 오케스트레이션 서비스입니다. Amazon ECS는 완전관리형이고 버전이 없으며 AWS에서 컨테이너식 애플리케이션을 간단하게 구축 및 실행할 수 있는 도구와 기본 지원을 제공합니다. 예를 들어 Amazon ECS를 사용하면 서버 또는 클러스터를 프로비저닝하거나 규모를 조정할 필요가 없고 컨테이너를 실행할 서버 유형을 선택하거나 클러스터 패킹을 최적화할 필요가 없습니다. CPU 및 메모리 요구 사항, 네트워킹 및 IAM 정책, 컴퓨팅 플랫폼(AWS Fargate 또는 Amazon EC2), 데이터 볼륨을 지정하는 기능을 통해 컨테이너의 운영 속성을 제어할 수 있습니다. 

AWS Fargate와 함께 사용하면 Amazon ECS가 서버리스 컨테이너 오케스트레이션을 지원하므로 컨테이너식 워크로드의 규모 조정, 가용성 유지 및 보안과 관련하여 AWS의 운영 우수성을 더 많이 활용할 수 있습니다. 리팩터링을 거의 또는 전혀 하지 않고 컨테이너 기반 애플리케이션을 현대화하면서 서버리스 컴퓨팅이 제공하는 확장성, 민첩성 및 비용과 같은 많은 이점을 누리고자 한다면 AWS Fargate와 함께 Amazon ECS를 사용하는 것이 이상적인 컴퓨팅 선택입니다.

Amazon ECS Service Connect는 서비스 검색, 연결 및 트래픽 관찰성을 간소화하는 반면, Amazon ECS CloudWatch Container Insights는 지표 및 로그를 수집, 집계, 요약합니다. 애플리케이션 실행 방식의 특성을 세밀히 제어하려는 경우 Amazon EC2 기반 Amazon ECS를 사용할 수 있으며, 인프라에서 컨테이너 워크로드를 실행하려는 경우 Amazon ECS Anywhere를 사용할 수 있습니다. 종합적으로, AWS Fargate의 Amazon ECS, Amazon EC2의 Amazon ECS, Amazon ECS Anywhere는 동일한 경험과 도구를 사용하여 다양한 애플리케이션을 실행할 수 있는 기능을 제공합니다. 이를 감안하여 전체 신규 AWS 컨테이너 고객의 65% 이상이 Amazon ECS를 사용합니다.

AWS는 Amazon ECS와 AWS Fargate 및 AWS Lambda 등 포괄적인 서버리스 컴퓨팅 옵션을 제공합니다. AWS Lambda이벤트 기반 아키텍처(EDA)를 통해 이벤트에 대응하여 코드를 실행하고 기반 컴퓨팅 리소스를 사용자 대신 자동으로 관리하는 서버리스 컴퓨팅 서비스입니다. 사용 사례에 따라 이러한 컴퓨팅 옵션 중 하나 이상을 사용할 수 있습니다. Amazon ECS와 함께 AWS Fargate를 사용하든 AWS Lambda를 사용하든 AWS 서버리스 옵션은 서버리스 컴퓨팅이 제공하는 확장성, 민첩성 및 비용 이점을 제공합니다.

Amazon ECS 사용에 따르는 추가 요금은 없습니다. 애플리케이션을 저장하고 실행하기 위해 생성한 AWS 리소스(예: Amazon EC2 인스턴스, AWS Fargate 리소스 또는 Amazon EBS 볼륨)에 대한 요금이 부과됩니다. 사용하면서 사용한 만큼만 비용을 지불하고 최소 요금 및 사전 약정은 없습니다. Amazon ECS에는 두 가지 서로 다른 요금 모델이 있습니다. Amazon ECS on AWS Outposts는 Amazon EC2 시작 유형과 동일한 모델을 따릅니다. 

  • Amazon EC2 시작 유형 모델: Amazon EC2 시작 유형에는 추가 요금이 부과되지 않습니다. 애플리케이션을 저장하고 실행하기 위해 생성한 AWS 리소스(예: Amazon EC2 인스턴스 또는 Amazon EBS 볼륨)에 대한 비용을 지불합니다. 사용하면서 사용한 만큼만 비용을 지불하고 최소 요금 및 사전 약정은 없습니다. 상세한 요금 정보는 Amazon EC2 요금 페이지를 참조하세요.
  • AWS Fargate 시작 유형 모델: AWS Fargate에서는 컨테이너화된 애플리케이션에서 요청하는 vCPU 및 메모리 리소스 양에 대해서만 지불하면 됩니다. vCPU 및 메모리 리소스는 컨테이너 이미지를 가져온 시간부터 Amazon ECS 태스크가 종료된 시간까지 계산되며 가장 가까운 시간(초)까지 반올림됩니다. 1분의 최소 요금이 부과됩니다. 상세한 요금 정보는 AWS Fargate 요금 페이지를 참조하세요.

Amazon ECS는 확장성이 뛰어난 컨테이너 오케스트레이션 서비스로서 이 서비스를 사용하여 컨테이너에서 실행되는 분산 애플리케이션을 실행하고 관리할 수 있습니다. AWS Lambda는 이벤트 중심의 작업 컴퓨팅 서비스로서 데이터 변경, 웹 사이트 클릭, 다른 AWS 서비스에서 수신되는 메시지 등의 '이벤트'에 대한 응답으로 코드를 실행하므로, 사용자가 컴퓨팅 인프라를 관리할 필요가 없습니다. 많은 애플리케이션이 프로덕션 환경에서 이 2가지 구성을 모두 사용하며 고객은 각각의 이점을 활용하기 위해 2가지 구성을 모두 사용하는 경우가 많습니다.

Amazon ECS 사용하기

Amazon ECS 사용을 시작하는 방법을 자세히 알아보려면 시작하기 페이지를 참조하세요. Amazon ECS를 처음 사용하든 이미 생각한 사용 사례가 있든 원하는 경로를 선택하고 엄선된 학습 단계에 따라 시작할 수 있습니다.

현대적 애플리케이션(예: 마이크로서비스) 아키텍처는 애플리케이션을 개별 단위로 분할할 것을 권장하는데, Amazon ECS는 이 패턴에 최적화되어 있습니다. 태스크는 Amazon ECS에서 가장 작은 컴퓨팅 단위이며, 함께 배치하려는 컨테이너 세트, 속성 및 연결 방법을 정의할 수 있습니다. 태스크에는 Amazon ECS가 배치를 결정하는 데 필요한 모든 정보가 포함되어 있습니다. 단일 컨테이너를 시작하려면 태스크 정의에 단 한 개의 컨테이너 정의만 포함해야 합니다.

예. Amazon ECS 서비스 스케줄러에서 장기 실행 애플리케이션과 서비스를 관리할 수 있습니다. 서비스 스케줄러를 사용하면 애플리케이션 가용성 유지 관리가 가능하여 애플리케이션 용량 요구 사항에 따라 컨테이너 규모를 확장하거나 축소할 수 있습니다. 서비스 스케줄러에서 ELB를 사용하여 트래픽을 컨테이너 전체에 배포할 수 있습니다. Amazon ECS가 연결된 로드 밸런서에서 컨테이너를 자동으로 등록하거나 등록 해제합니다. 또한 서비스 스케줄러는 비정상이 된 컨테이너(즉, ELB 상태 확인에 불합격)를 자동으로 복구하거나 실행을 중단하여 애플리케이션을 지원하는 정상 컨테이너를 원하는 수만큼 유지할 수 있습니다.

서비스에서 실행할 컨테이너의 수를 변경하여 애플리케이션을 확장하거나 축소할 수 있습니다. 정의를 변경하거나 새로운 이미지를 사용하여 애플리케이션을 업데이트할 수 있습니다. 스케줄러가 신규 정의를 사용하여 자동으로 새로운 컨테이너를 시작하고 이전 버전의 컨테이너는 중지시킵니다(ELB 사용의 경우, ELB 연결이 해제될 때까지 기다립니다).

Amazon ECS에 배포된 애플리케이션 및 마이크로서비스는 Application Auto Scaling 서비스를 활용하여 관찰된 지표 데이터를 기반으로 규모를 자동으로 조정합니다. Amazon ECS는 서비스에 속하는 태스크에 사용되는 CPU 및 메모리 리소스를 기반으로 서비스 사용률을 측정하고 이 데이터를 사용하여 CloudWatch 지표, 즉 ECSServiceAverageCPUUtilization 및 ECSServiceAverageMemoryUtilization을 게시합니다. 그러면 Application Auto Scaling이 이 사전 정의된 지표를 규모 조정 정책과 함께 사용하여 서비스의 태스크 수를 비례적으로 조정할 수 있습니다. 또한 서비스의 평균 CPU 및 메모리 사용량만을 규모 조정 작업의 실행 시기와 정도에 대한 지표로 신뢰할 수 없는 사용 사례도 있습니다. 이 경우를 위해 Application Auto Scaling은 보다 적합한 CloudWatch 지표를 선택하여 사용할 수 있도록 하는 사용자 지정 지표 사양을 기반으로 서비스 규모를 조정하는 것을 지원합니다. 여기에는 수신된 HTTP 요청 수, 대기열 및 주제에서 검색된 메시지 수, 데이터베이스 트랜잭션 수와 같은 애플리케이션의 다른 측면을 추적하는 지표가 포함됩니다. 이제 원하는 CloudWatch 지표 또는 Prometheus 지표를 사용할 수 있습니다.

자세히 알아보려면 Autoscaling Amazon ECS services based on custom CloudWatch and Prometheus metrics(사용자 지정 CloudWatch 및 Prometheus 지표를 기반으로 Amazon ECS 서비스 Auto Scaling)로 이동하세요.

Amazon ECS를 사용하면 다양한 컴퓨팅 옵션 세트에서 동일한 경험과 도구를 사용하여 다양한 애플리케이션을 실행할 수 있습니다.

  • AWS Fargate: AWS Fargate는 사용한 만큼 지불하는 서버리스 컴퓨팅 엔진입니다. 서버 프로비저닝, 클러스터 관리 및 오케스트레이션의 부담을 없애줍니다. Amazon ECS는 AWS Fargate에서 프로비저닝한 컨테이너를 사용하여 자동으로 컨테이너를 확장하고, 로드 밸런싱하며, 일정을 관리하여 가용성을 확보함으로써 컨테이너식 애플리케이션을 좀 더 쉽게 구축하고 운영하는 방법을 제공합니다.
  • Amazon EC2: EC2 기반 Amazon ECS를 사용하면 EC2 인스턴스를 소유하고 인프라 관리의 모든 측면을 완벽하게 제어할 수 있습니다. 예를 들어 특정 EC2 인스턴스 유형을 선택하거나 기본 운영 체제를 사용자 지정할 수 있습니다. Auto Scaling 용량 공급자를 사용하여 EC2 인스턴스의 규모 조정을 관리할 수 있습니다.
  • 온프레미스 가상 머신(VM) 또는 서버:
    • Amazon ECS Anywhere는 온프레미스 서버 또는 가상 머신(VM)과 같은 외부 인스턴스를 Amazon ECS 클러스터에 등록할 수 있도록 지원합니다. 
    • 용량은 다음 AWS 리소스 중 하나에서 찾을 수 있습니다.    
      • 가용 영역
      • 로컬 영역
      • Wavelength 영역
      • 개의 AWS 지역
      • AWS Outposts

예. Amazon ECS는 AWS Fargate와 Amazon EC2 모두에 대해 컴퓨팅 인프라 오토 스케일링을 지원하므로 기반 인프라 대신 애플리케이션을 구축하고 확장하는 데 집중할 수 있습니다.

Amazon ECS와 함께 AWS Fargate를 사용하면 AWS Fargate를 통해 애플리케이션에 필요한 컴퓨팅 인프라가 자동으로 프로비저닝, 확장 및 업데이트되는 서버리스 환경을 경험할 수 있습니다.

Amazon EC2 용량이 필요한 애플리케이션의 경우 Amazon ECS의 Auto Scaling 용량 공급자를 통해 애플리케이션의 용량 요구 사항에 따라 Amazon EC2 인스턴스 규모를 자동으로 조정할 수 있습니다. Amazon EC2 인스턴스 유형, Amazon Machine Image(AMI), 네트워크 설정 등에 대해 원하는 구성으로 Amazon EC2 Auto Scaling 그룹(ASG)을 생성하고, 용량 공급자를 생성하여 애플리케이션의 일정 요구 사항 및 로드에 따라 해당 ASG에서 Amazon EC2 인스턴스 규모를 자동으로 조정할 수 있습니다. 태스크의 로드에 따라 ASG의 스케일인 및 스케일아웃 작업이 관리됩니다.

Amazon ECS 용량 공급자는 애플리케이션에 필요한 용량을 정의할 수 있는 인터페이스입니다. 용량 공급자를 사용하면 여러 유형의 컴퓨팅 용량에서 애플리케이션이 실행되는 방법에 대한 유연한 규칙을 정의하고 용량의 확장을 관리할 수 있습니다. Amazon EC2와 AWS Fargate 모두에서 용량 공급자를 사용할 수 있습니다. Amazon ECS는 모든 클러스터의 AWS Fargate 및 Fargate 스팟 용량을 위한 사전 정의된 용량 공급자를 제공합니다. Amazon EC2의 경우 자체 ASG 용량 공급자를 생성하여 Amazon EC2 Auto Scaling 그룹의 규모 조정을 관리할 수 있습니다. Amazon ECS 태스크 및 서비스를 실행할 때 여러 용량 공급자에 분할할 수 있습니다. 예를 들어 사전 정의된 분할 비율로 AWS Fargate와 Fargate 스팟 용량에 걸쳐 서비스를 실행할 수 있습니다.

예. Amazon ECS에서 제공하는 Run 태스크를 사용하여 하나 이상의 태스크를 동시에 실행할 수 있습니다. Run 태스크는 인스턴스에서 CPU, 메모리, 포트를 비롯하여 태스크 요구 사항에 맞는 태스크를 시작합니다. 또한 AWS Batch를 사용하여 Amazon ECS의 배치 컴퓨팅 워크로드 사용을 계획, 예약 및 실행할 수 있으므로 결과 분석과 문제 해결에 집중할 수 있습니다. 

예. Amazon ECS AMI 사양을 충족시키는 모든 AMI를 사용할 수 있습니다. Amazon ECS가 활성화된 Amazon Linux AMI에서 시작하는 것을 권장합니다. Amazon ECS와 호환 가능한 파트너 AMI도 사용할 수 있습니다. 설명서에 나와 있는 Amazon ECS AMI 사양을 확인하시기 바랍니다.

Amazon ECR은 Amazon ECS와 통합되므로 Amazon ECS에서 실행되는 애플리케이션에 대한 컨테이너 이미지를 손쉽게 저장, 실행 및 관리할 수 있습니다. 태스크 정의에 Amazon ECR 리포지토리를 지정하고 AmazonEC2ContainerServiceforEC2Role을 인스턴스에 연결하기만 하면 됩니다. 그러면 Amazon ECS에서 애플리케이션에 적합한 이미지를 가져옵니다.

AWS Fargate는 Amazon ECS를 사용하여 컨테이너를 실행할 수 있는 서버리스 컴퓨팅을 제공합니다. AWS Fargate를 사용하면 Amazon EC2 인스턴스를 프로비저닝하거나 관리할 필요 없이 컨테이너를 시작할 수 있습니다. AWS Fargate는 AWS에서 컨테이너를 시작 및 실행하는 가장 쉬운 방법입니다. 규정 준수 및 거버넌스 요구 사항을 준수하거나 좀 더 폭넓은 사용자 지정 옵션을 지원하기 위해 EC2 인스턴스에 대한 제어를 강화해야 하는 고객은 Amazon ECS와 함께 Amazon EC2 인스턴스를 사용하도록 선택할 수 있습니다.

Amazon ECS는 도커 네트워킹을 지원하며, Amazon VPC와 통합하여 컨테이너에 대한 격리를 제공합니다. 따라서 컨테이너를 다른 서비스 및 외부 트래픽에 연결하는 방법을 제어할 수 있습니다. Amazon ECS의 경우 서로 다른 사용 사례를 지원하는 컨테이너를 위해 4가지 네트워킹 모드 중에 선택할 수 있습니다.

  • VPC 모드: 이 모드는 실행 중인 각 Amazon ECS 태스크 전용으로 탄력적 네트워킹 인터페이스를 할당함으로써 컨테이너가 Amazon EC2 인스턴스처럼 VPC의 모든 네트워킹 기능을 사용하도록 허용합니다.
  • 브리지 모드: 이 모드는 로컬 가상 네트워크 내 호스트에서 실행되는 모든 컨테이너를 연결하는 Linux 브리지를 생성합니다. 이 브리지는 호스트의 기본 네트워크 연결을 통해 액세스할 수 있습니다.
  • 호스트 모드: 이 모드는 컨테이너를 호스트의 네트워크 스택에 직접 추가함으로써, 격리하지 않은 상태로 컨테이너를 호스트의 네트워크상에 노출합니다.
  • 없음: 이 모드는 컨테이너의 외부 네트워킹을 비활성화합니다.
  • Service Connect: Amazon ECS Service Connect는 Amazon ECS에 대한 서비스 검색, 연결 및 트래픽 관찰성을 간소화합니다. Amazon ECS Service Connect를 사용하면 네트워킹 인프라가 아닌 애플리케이션 코드에 집중할 수 있으므로 애플리케이션을 더 빠르게 구축할 수 있습니다. Amazon ECS Service Connect를 사용하여 서비스 엔드포인트의 논리명을 정의하고 클라이언트 애플리케이션에서 이를 사용하여 종속 기능에 연결할 수 있습니다. Amazon ECS Service Connect를 사용하면 정상 상태의 엔드포인트로 트래픽을 전송할 수 있습니다. 그리고 Amazon ECS 콘솔과 Amazon CloudWatch에서 다양한 트래픽 관련 원격 분석 정보가 제공됩니다. Amazon ECS Service Connect 사용 시에는 네이티브 Amazon ECS 배포의 안정성이 높아집니다. Service Connect가 자동 Connection Draining을 지원하므로 클라이언트 애플리케이션이 트래픽 오류 없이 새 서비스 엔드포인트 버전으로 전환할 수 있기 때문입니다. Amazon ECS Service Connect를 사용하여 다음을 수행할 수 있습니다.
    • 클라이언트 애플리케이션이 해당 종속성에 연결하는 방식을 한 단계로 설정
    • 논리적 이름 지정을 통해 복원력이 뛰어난 분산 애플리케이션 작성 및 운영
    • 로드 밸런서를 배포 및 구성하지 않고 Amazon ECS 태스크 간 트래픽 모니터링 및 분산
    • 서비스를 더 빠르게 배포하고 애플리케이션을 구성하는 Amazon ECS 마이크로서비스의 원활한 통합 제공
  • 서비스 검색: Amazon ECS는 AWS Cloud Map과 통합되므로 컨테이너화된 서비스가 쉽게 서로를 검색하고 서로 연결할 수 있습니다. AWS Cloud Map은 애플리케이션 리소스에 대한 사용자 지정 이름을 정의할 수 있는 클라우드 리소스 검색 서비스입니다. 웹 서비스에서 항상 동적으로 변화하는 리소스의 최신 위치를 검색하므로 애플리케이션 가용성이 개선됩니다.
  • 모니터링
    • Amazon CloudWatch를 사용하여 Amazon ECS 리소스를 모니터링할 수 있습니다. Amazon CloudWatch는 Amazon ECS의 원시 데이터를 수집하여 읽기 가능한 거의 실시간 지표로 처리합니다. 이러한 통계는 2주 동안 기록되므로 기록 정보에 액세스하여 클러스터 또는 서비스 성능을 더 잘 파악할 수 있습니다. 이 기능을 사용하는 데 따른 추가 비용은 없습니다. 자세히 알아보려면 Amazon ECS CloudWatch 지표로 이동하세요.
    • 지표를 개선하려면 CloudWatch Container Insights를 사용하여 Amazon EC2 및 AWS Fargate에서 실행되는 Amazon ECS 클러스터에서 사용할 수 있는 컨테이너식 애플리케이션 및 마이크로서비스의 지표와 로그를 수집, 집계 및 요약할 수 있습니다. CloudWatch는 CPU, 메모리, 디스크, 네트워크 등 많은 리소스에 대한 지표를 자동으로 수집합니다. 또한 Container Insights는 컨테이너 재시작 실패와 같은 진단 정보를 제공하여 문제를 격리하고 신속하게 해결하는 데 도움이 됩니다. Amazon ECS의 경우 Container Insights는 Linux와 Windows Server 인스턴스 모두에서 클러스터, 태스크 및 서비스 수준에서 지표를 수집합니다. 인스턴스 수준 지표는 Linux 인스턴스에서만 수집할 수 있습니다. 네트워크 지표는 브리지 네트워크 모드와 awsvpc 네트워크 모드의 컨테이너에만 사용할 수 있습니다. 호스트 네트워크 모드의 컨테이너에는 사용할 수 없습니다. 자세히 알아보려면 Container Insights 사용으로 이동하세요.
  • 로깅
    • Amazon ECS를 사용하면 모든 Amazon ECS API 호출을 기록할 수 있으며, AWS CloudTrail을 통해 로그 파일을 전송할 수 있습니다. API 호출자 ID, API 호출 시간, API 호출자의 소스 IP 주소, 요청 파라미터 및 Amazon ECS가 반환한 응답 요소와 같은 정보가 기록됩니다. CloudTrail은 AWS Management Console, AWS SDK, AWS CLI에서 만들어진 API 호출 기록을 제공합니다. 이로써 보안 분석, 리소스 변경 추적, 규정 준수 감사가 가능합니다.
  • AWS Config
    • AWS Config를 Amazon ECS와 통합하면 AWS 계정의 AWS 리소스 구성에 대한 가시성을 확보할 수 있습니다. AWS Config를 사용하면 사용자가 리소스 구성 방식, 여러 리소스의 관계, 구성 및 관계의 시간대별 변화를 모니터링하고 추적할 수 있습니다. AWS Config는 규정 준수 및 보안, 운영 문제 해결과 리소스 관리를 간소화합니다.
  • 서드 파티
    • Amazon ECS는 개방형 컨테이너 표준을 채택하여 서드 파티 관찰성 공급업체의 전체 에코시스템을 지원합니다. 자세한 내용은 Amazon ECS 파트너 페이지를 참조하세요.

Amazon ECS가 제공하는 스토리지 옵션은 다음과 같습니다.

Amazon Elastic File System(EFS): Amazon EFS는 Amazon ECS 작업에 사용할 수 있는 완전 탄력적이고 확장 가능한 서버리스 파일 스토리지를 제공합니다. 영구 스토리지를 위해 공유 Amazon EFS 파일 시스템을 ECS 작업에 마운트할 수 있습니다.

Amazon Elastic Block Store(EBS): Amazon EBS는 Amazon ECS 작업을 위한 확장 가능한 고성능 스토리지를 제공합니다. 원하는 특성(크기, 성능, 암호화 등)으로 EBS 볼륨을 프로비저닝하고 Amazon ECS 작업에 연결하도록 ECS를 구성할 수 있습니다.

AWS Fargate에서 실행되는 Amazon ECS 작업의 비용은 AWS Cost & Usage Report(CUR) 및 AWS Cost Explorer에서 자동으로 제공됩니다. 관리형 태그뿐만 아니라 사용자가 추가한 태그를 사용하여 Amazon ECS 작업에 필요한 비용을 집계하고 신규 및 기존 사업부, 팀 또는 애플리케이션에 할당할 수 있습니다.

Amazon ECS 사용량 보고서에 대해 자세히 알아보세요.

Amazon ECS용 분할 비용 할당 데이터를 수신하도록 선택하면 Amazon EC2 인스턴스에서 실행되는 Amazon ECS 작업의 비용 및 사용량 정보에 AWS Cost & Usage Report(CUR)를 통해 액세스할 수 있습니다. 분할 비용 할당 데이터는 인스턴스 가격, 인스턴스에서 실행되는 컨테이너가 소비한 CPU 및 메모리 리소스의 비율을 기준으로, 각 작업의 리소스 사용량을 분석하여 Amazon EC2 인스턴스에서 실행되는 Amazon ECS 작업의 작업 수준 비용을 생성합니다. 분할 비용 할당 데이터는 Amazon ECS 작업에 대한 관리형 태그와 사용자가 추가한 태그를 자동으로 수집하므로 비용을 집계하여 신규 및 기존 사업부, 팀 또는 애플리케이션에 할당할 수 있습니다. AWS 비용 관리 콘솔 기본 설정에서 Amazon ECS의 분할 비용 할당 데이터를 선택할 수 있습니다. 그런 다음 AWS 빌링 콘솔의 CUR 보고 기본 설정에서 개별 CUR 보고서의 분할 비용 할당 데이터를 선택할 수 있습니다. 

분할 비용 할당 데이터 활성화에 대해 자세히 알아보세요.
 

보안 및 규정 준수

Amazon ECS는 고객이 제어하는 Amazon EC2 인스턴스에서 실행되도록 컨테이너를 예약하거나 AWS Fargate를 통해 실행하고 Amazon EC2 고객에게 제공되는 것과 동일한 격리 제어와 규정 준수 설정에 따라 구축합니다. 컴퓨팅 인스턴스는 지정된 IP 범위에 따라 Virtual Private Cloud(VPC)에 위치합니다. 사용자가 인터넷에 공개할 인스턴스와 비공개할 인스턴스를 지정할 수 있습니다.

  • Amazon EC2 인스턴스는 IAM 역할을 사용하여 Amazon ECS 서비스에 액세스합니다.
  • Amazon ECS 태스크는 IAM 역할을 사용하여 서비스와 리소스에 액세스합니다.
  • AWS Fargate에서 실행되는 Amazon ECS 태스크는 격리된 가상 시스템에서 실행됩니다.
  • 보안 그룹 및 네트워크 ACL을 통해 인스턴스에 대한 인바운드 및 아웃바운드 네트워크 액세스를 통제할 수 있습니다.
  • 업계 표준 암호화된 IPsec VPN 연결을 통해 기존 IT 인프라를 VPC 리소스에 연결할 수 있습니다.
  • Amazon EC2 리소스를 전용 인스턴스로 프로비저닝할 수 있습니다. 전용 인스턴스는 격리 기능을 강화하기 위해 단일 고객에게 배정된 전용 하드웨어에서 실행되는 Amazon EC2 인스턴스입니다.

예. Amazon EC2 고객은 컨테이너 인스턴스의 운영 체제(OS)에 대한 루트 액세스 권한을 가집니다. 고객은 OS 보안 설정의 소유권을 가져오고 모니터링, 패치 관리, 로그 관리 및 호스트 침입 탐지와 같은 보안 기능을 위한 추가 소프트웨어 구성 요소를 구성할 수 있습니다. 

Amazon ECS와 AWS Fargate를 함께 사용하면 각 태스크에 세분화된 권한을 할당하여 보안 수준을 높임으로써 애플리케이션 구축 시 격리, 네트워크 액세스 제어 및 IAM 제어 수준을 강화할 수 있습니다. AWS Fargate를 사용하면 모든 태스크가 별도의 가상 머신(VM)에서 실행되므로 동일한 호스트를 공유하는 2개의 태스크보다 격리 수준이 높아집니다. 또한 각 태스크에 자체 네트워크 인터페이스가 있으므로 보안 그룹을 각 태스크에 적용하여 수신 트래픽과 발신 트래픽을 제어할 수 있습니다.

예. VPC 내 프라이빗 컨테이너 이미지 레지스트리에 액세스하거나 Amazon ECR과 같이 VPC 외부에서 액세스할 수 있는 레지스트리에 액세스하도록 컨테이너 인스턴스를 구성할 수 있습니다.

먼저 'Amazon EC2 Container Service 태스크 역할’ 서비스 역할을 사용해 정책에 필요한 권한을 추가하여 태스크에 사용할 IAM 역할을 생성해야 합니다. 새로운 태스크 정의 파일 또는 태스크 정의 수정 파일을 생성하였으면, 이제 ‘태스크 역할’ 드롭다운 메뉴에서 선택하거나 JSON 형식의 'taskRoleArn'을 사용하여 역할을 지정할 수 있습니다.

Amazon ECS는 PCI DSS 레벨 1, ISO 9001, ISO 27001, ISO 27017, ISO 27018, SOC 1, SOC 2, SOC 3 및 HIPAA 적격 서비스를 위한 표준을 충족합니다.

자세한 내용은 AWS 규정 준수 페이지를 참조하세요.

예. Amazon ECS는 HIPAA 적격 서비스입니다. AWS와의 Business Associate Addendum(BAA)을 이행한 경우 AWS Fargate 시작 유형 또는 Amazon EC2 컴퓨팅 인스턴스에 배포된 컨테이너에서 Amazon ECS를 사용하여 암호화된 개인 건강 정보(PHI)를 처리할 수 있습니다.


자세한 내용은 HIPAA 규정 준수에 관한 AWS 페이지를 참조하세요. PHI를 처리, 저장 또는 전송할 계획이지만 AWS와 BAA를 체결하지 않은 경우, AWS에 문의하여 자세한 내용을 확인해 주세요.

예. AWS GovCloud(US) 리전을 사용하면 Amazon ECS로 관리되는 컨테이너 및 클러스터에서 컨테이너를 통해 중요한 데이터 및 규제 워크로드에 대한 요구 사항을 충족할 수 있습니다. 자세한 내용은 AWS GovCloud에 관한 AWS 페이지를 참조하세요.

또한 AWS Fargate를 사용하여 연방 정보 처리 표준(FIPS) 140-2를 준수하는 방식으로 Amazon ECS에 워크로드를 배포할 수 있습니다. FIPS는 민감한 정보를 보호하는 암호화 모듈의 보안 요구 사항을 지정하는 미국 및 캐나다 정부 표준입니다.

Amazon ECS는 설계상 안전하도록 설계되었으며 보안, 자격 증명 및 규정 준수를 위해 AWS 기본 보안 서비스와도 통합됩니다. 예를 들어, Amazon GuardDuty를 사용하여 AWS Fargate 또는 Amazon EC2에서 실행되는 Amazon ECS 워크로드를 모니터링하여 잠재적으로 악의적이거나 의심스러운 동작을 탐지할 수 있습니다.

서비스 수준 계약

AWS 컴퓨팅 SLA에서는 Amazon ECS에 대해 최소 99.99%의 월간 가동률을 보장합니다. Amazon ECS and AWS Fargate에는 2가지 SLA 약정이 적용됩니다. (1) 여러 AZ에 배포된 Included Container Services를 관리하는 Multi-AZ Included Container Service SLA와 (2) Included Container Service 태스크 및 포드를 개별적으로 관리하는 Single Task/Pod SLA입니다. AWS Fargate 및 Amazon Elastic Container Service SLA 페이지를 참조하세요.

같은 리전 내에서 태스크를 실행하고 있는 하나 이상의 가용 영역의 월간 가동 시간 비율이 월별 청구 주기 동안 99.99%보다 낮은 경우, 컴퓨팅 SLA에 따라 AWS ECS의 SLA 크레딧 지급 대상이 됩니다.

SLA 이용 약관과 요청 제출 방법에 대한 자세한 내용은 컴퓨팅 SLA 세부 정보 페이지를 참조하세요.