

# Amazon ECS에서 Amazon EBS 볼륨 사용
<a name="ebs-volumes"></a>

Amazon Elastic Block Store(Amazon EBS) 볼륨은 데이터 집약적인 워크로드를 위한 가용성, 비용 효율성 및 내구성이 뛰어난 고성능 블록 스토리지를 제공합니다. Amazon EBS 볼륨은 처리량이 많고 트랜잭션 집약적인 애플리케이션을 위해 Amazon ECS 작업과 함께 사용할 수 있습니다. Amazon EBS 볼륨에 대한 자세한 내용은 *Amazon EBS 사용 설명서*의 [Amazon EBS 볼륨](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html)을 참조하세요.

Amazon ECS 작업에 연결된 Amazon EBS 볼륨은 사용자를 대신하여 Amazon ECS에서 관리합니다. 독립 실행형 작업 실행 중에 작업에 EBS 볼륨 하나를 연결하는 데 사용할 구성을 제공할 수 있습니다. 서비스 생성 또는 업데이트 중에 Amazon ECS 서비스에서 관리하는 각 작업에 작업당 하나의 EBS 볼륨을 연결하는 데 사용할 구성을 제공할 수 있습니다. 첨부할 빈 새 볼륨을 구성하거나 스냅샷을 사용하여 기존 볼륨에서 데이터를 로드할 수 있습니다.

**참고**  
스냅샷을 사용하여 볼륨을 구성할 때 `volumeInitializationRate`를 MiB/s 단위로 지정하면 예측 가능한 시간 내에 스냅샷에서 데이터를 가져와서 완전히 초기화된 볼륨을 생성할 수 있습니다. 볼륨 초기화에 대한 자세한 내용은 *Amazon EBS 사용 설명서*의 [Amazon EBS 볼륨 초기화](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html)를 참조하세요. Amazon EBS 볼륨 구성에 대한 자세한 내용은 [Amazon ECS 작업 정의에서 볼륨 구성을 시작 시간으로 연기](specify-ebs-config.md) 및 [Amazon ECS 배포 시 Amazon EBS 볼륨 구성 지정](configure-ebs-volume.md) 섹션을 참조하세요.

볼륨 구성은 태스크 정의의 `configuredAtLaunch` 파라미터를 사용하여 시작 시간으로 연기됩니다. 태스크 정의 대신 시작 시 볼륨 구성을 제공함으로써 특정 데이터 볼륨 유형이나 특정 EBS 볼륨 설정으로 제한되지 않는 태스크 정의를 생성할 수 있습니다. 그런 다음, 다양한 런타임 환경에서 작업 정의를 재사용할 수 있습니다. 예를 들어, 사전 프로덕션 환경보다 프로덕션 워크로드에 대해 배포하는 동안 더 많은 처리량을 제공할 수 있습니다.

 태스크에 연결된 Amazon EBS 볼륨은 AWS Key Management Service(AWS KMS) 키로 암호화하여 데이터를 보호할 수 있습니다. 자세한 내용은 [Amazon ECS 태스크에 연결된 Amazon EBS 볼륨에 저장된 데이터 암호화](ebs-kms-encryption.md) 섹션을 참조하세요.

볼륨 성능을 모니터링하기 위해 Amazon CloudWatch 지표를 사용할 수도 있습니다. Amazon EBS 볼륨의 Amazon ECS 지표에 대한 자세한 내용은 [Amazon ECS CloudWatch 지표](available-metrics.md) 및 [Amazon ECS Container Insights 지표](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html)를 참조하세요.

Amazon ECS를 지원하는 모든 상업용 및 중국 [AWS 리전](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#region)에서 Amazon EBS 볼륨을 태스크에 연결하는 기능이 지원됩니다.

## 지원되는 운영 체제 및 용량
<a name="ebs-volumes-configuration"></a>

다음 표에서는 지원되는 운영 체제 및 용량 구성을 제공합니다.


| Capacity | Linux  | Windows | 
| --- | --- | --- | 
| Fargate |  Amazon EBS 볼륨은 플랫폼 버전 1.4.0 이상(Linux)에서 지원됩니다. 자세한 내용은 [Amazon ECS에 대한 Fargate 플랫폼 버전](platform-fargate.md) 섹션을 참조하세요. | 지원되지 않음 | 
| EC2 | Amazon EBS 볼륨은 Amazon ECS 최적화 Amazon Machine Image(AMI)가 있는 Nitro 기반 인스턴스에서 호스팅되는 태스크에 대해 지원됩니다. 인스턴스 유형에 대한 자세한 내용은 Amazon EC2 사용 설명서의 [인스턴스 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)을 참조하세요.Amazon EBS 볼륨은 ECS 최적화 AMI `20231219` 이상에서 지원됩니다. 자세한 내용은 [Amazon ECS 최적화 AMI 메타데이터 검색](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html)을 참조하세요. | Amazon ECS 최적화 Amazon Machine Image(AMI)가 있는 Nitro 기반 Linux 인스턴스에서 호스팅되는 태스크. 인스턴스 유형에 대한 자세한 내용은 Amazon EC2 사용 설명서의 [인스턴스 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html)을 참조하세요.Amazon EBS 볼륨은 ECS 최적화 AMI `20241017` 이상에서 지원됩니다. 자세한 내용은 [Amazon ECS 최적화 Windows AMI 메타데이터 검색](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html)을 참조하세요. | 
| Amazon ECS 관리형 인스턴스 | Amazon EBS 볼륨은 Linux 기반 Fargate 또는 Amazon ECS 관리형 인스턴스에서 호스팅되는 태스크에 대해 지원됩니다. | 지원되지 않음 | 

## 고려 사항
<a name="ebs-volume-considerations"></a>

 Amazon EBS 볼륨을 사용할 때 다음을 고려합니다.
+ `use1-az3` 가용 영역에서 Fargate Amazon ECS 태스크에 연결하도록 Amazon EBS 볼륨을 구성할 수 없습니다.
+ 마그네틱(`standard`) Amazon EBS 볼륨 유형은 Fargate에 호스팅된 작업에서 지원되지 않습니다. Amazon EBS 볼륨에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)를 참조하세요.
+ Amazon ECS 인프라 IAM 역할은 배포 시 볼륨을 구성하는 서비스 또는 독립 실행형 작업을 생성할 때 필요합니다. AWS 관리형 `AmazonECSInfrastructureRolePolicyForVolumes` IAM 정책을 역할에 연결하거나 관리형 정책을 지침으로 사용하여 특정 요구 사항에 맞는 권한을 보유한 자체 정책을 생성하고 연결할 수 있습니다. 자세한 내용은 [Amazon ECS 인프라 IAM 역할](infrastructure_IAM_role.md) 섹션을 참조하세요.
+ Amazon EBS 볼륨을 최대 한 개만 각 Amazon ECS 작업에 연결할 수 있으며, 새 볼륨이어야 합니다. 기존 Amazon EBS 볼륨은 작업에 연결할 수 없습니다. 하지만 배포 시 기존 볼륨의 스냅샷을 사용하여 새 Amazon EBS 볼륨을 구성할 수 있습니다.
+ Amazon ECS 서비스에서 Amazon EBS 볼륨을 사용하려면 배포 컨트롤러가 `ECS`여야 합니다. 이 배포 컨트롤러를 사용하는 경우 롤링 및 블루/그린 배포 전략이 모두 지원됩니다.
+ 태스크의 컨테이너에서 탑재된 Amazon EBS 볼륨에 쓰려면 컨테이너에 적절한 파일 시스템 권한이 있어야 합니다. 컨테이너 정의에 루트가 아닌 사용자를 지정하면 Amazon ECS는 지정된 사용자가 볼륨을 읽고 쓸 수 있도록 허용하는 그룹 기반 권한으로 볼륨을 자동으로 구성합니다. 사용자가 지정되지 않은 경우 컨테이너는 루트로 실행되고 볼륨에 대한 전체 액세스 권한을 갖습니다.
+ Amazon ECS는 예약된 태그 `AmazonECSCreated` 및 `AmazonECSManaged`를 연결된 볼륨에 자동으로 추가합니다. 볼륨에서 이러한 태그를 제거하면 Amazon ECS에서 사용자를 대신하여 볼륨을 관리할 수 없습니다. Amazon EBS 볼륨 태그 지정에 대한 자세한 내용은 [Amazon EBS 볼륨 태그 지정](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specify-ebs-config.html#ebs-volume-tagging)을 참조하세요. Amazon ECS 리소스 태그 지정에 대한 자세한 내용은 [Amazon ECS 리소스 태그 지정](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html)을 참조하세요.
+ 파티션이 포함된 Amazon EBS 볼륨 스냅샷에서 볼륨을 프로비저닝하는 방식은 지원되지 않습니다.
+ 서비스에서 관리하는 작업에 연결된 볼륨은 보존되지 않으며 작업 종료 시 항상 삭제됩니다.
+ AWS Outposts에서 실행 중인 Amazon ECS 작업에 연결하도록 Amazon EBS 볼륨을 구성할 수 없습니다.