

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon EBS 볼륨
<a name="ebs-volumes"></a>

Amazon EBS 볼륨은 내구성이 있는 블록 스토리지 디바이스이며 인스턴스를 연결하는 것이 가능합니다. 볼륨을 인스턴스에 연결하면 물리적 하드 드라이브처럼 사용할 수 있습니다. EBS 볼륨은 유연합니다. 현재 세대 인스턴스 유형에 연결된 현재 세대 볼륨의 경우 크기를 동적으로 늘리고 프로비저닝된 IOPS 용량을 수정하며 라이브 프로덕션 볼륨의 볼륨 유형을 변경할 수 있습니다.

인스턴스의 시스템 드라이브 또는 데이터베이스 애플리케이션용 스토리지 등 자주 업데이트해야 하는 데이터의 경우 EBS 볼륨을 기본 스토리지로 사용할 수 있습니다. 연속으로 디스크 스캔을 수행하는 처리량 집약적 애플리케이션에도 해당 볼륨을 사용할 수 있습니다. EBS 볼륨은 EC2 인스턴스의 실행 주기와는 독립적으로 유지됩니다.

여러 EBS 볼륨을 단일 인스턴스에 연결할 수 있습니다. 볼륨 및 인스턴스는 동일 가용 영역에 위치해야 합니다. 볼륨 및 인스턴스 유형에 따라 [다중 연결](ebs-volumes-multi.md)을 사용하여 볼륨을 여러 인스턴스에 동시에 탑재할 수 있습니다.

Amazon EBS는 범용 SSD(`gp2` 및 `gp3`), 프로비저닝된 IOPS SSD(`io1` 및 `io2`), 처리량 최적화 HDD(`st1`), 콜드 HDD(`sc1`) 및 마그네틱(`standard`) 등의 볼륨 유형을 제공합니다. 이 두 유형은 성능 특성과 가격이 다르므로 애플리케이션의 필요에 맞게 스토리지 성능과 비용을 조정할 수 있습니다. 자세한 내용은 [Amazon EBS 볼륨 유형](ebs-volume-types.md) 섹션을 참조하세요.

계정에 사용할 수 있는 총 저장 용량에는 제한이 있습니다. 이러한 제한값 및 제한값 증가 요청 방법에 대한 자세한 내용은 [Amazon EBS 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/ebs-service.html#limits_ebs)을 참조하세요.

*관리형 EBS 볼륨*은 Amazon EKS Auto Mode와 같은 서비스 제공업체가 관리합니다. 관리형 EBS 볼륨의 설정은 직접 수정할 수 없습니다. 관리형 EBS 볼륨은 **관리형** 필드에서 **true** 값으로 식별됩니다. 자세한 내용은 [Amazon EC2 관리형 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-ec2-managed-instances.html)를 참조하세요.

요금에 대한 자세한 내용은 [Amazon EBS 요금](https://aws.amazon.com/ebs/pricing/)을 참조하세요.

**Topics**
+ [Amazon EBS 볼륨의 기능 및 이점](EBSFeatures.md)
+ [Amazon EBS 볼륨 유형](ebs-volume-types.md)
+ [Amazon EBS 볼륨 제약 조건](volume_constraints.md)
+ [Amazon EBS 볼륨 및 NVMe](nvme-ebs-volumes.md)
+ [Amazon EBS 볼륨 수명 주기](ebs-volume-lifecycle.md)
+ [스냅샷을 사용하여 Amazon EBS 볼륨 바꾸기](ebs-restoring-volume.md)
+ [Amazon EBS 볼륨 상태 확인](monitoring-volume-checks.md)
+ [Amazon EBS에서 오류 테스트](ebs-fis.md)

# Amazon EBS 볼륨의 기능 및 이점
<a name="EBSFeatures"></a>

EBS 볼륨은 인스턴스 스토어 볼륨과 차별화된 이점을 제공합니다.

**Topics**
+ [데이터 가용성](#availability-benefit)
+ [데이터 지속성](#persistence-benefit)
+ [데이터 암호화](#encryption-benefit)
+ [데이터 보안](#security-benefit)
+ [스냅샷](#backup-benefit)
+ [유연성](#flexibility-benefit)

## 데이터 가용성
<a name="availability-benefit"></a>

EBS 볼륨을 생성하면 단일 하드웨어 구성 요소의 장애로 인한 데이터 손실을 방지하기 위해 해당 가용 영역 내에서 자동으로 복제됩니다. 동일한 가용 영역에 있는 EC2 인스턴스에 EBS 볼륨을 연결할 수 있습니다. 볼륨을 연결한 후에 인스턴스는 하드 드라이브 또는 기타 물리 드라이브와 같은 원시 블록 디바이스처럼 보입니다. 이 시점에 인스턴스는 로컬 드라이브와 동일한 방식으로 볼륨과 상호 작용할 수 있습니다. 인스턴스에 연결하고 파일 시스템(예: Linux 인스턴스는 `Ext4`, Windows 인스턴스는 `NTFS`)으로 EBS 볼륨의 형식을 지정한 다음에 애플리케이션을 설치할 수 있습니다.

사용자가 명명한 디바이스에 다중 볼륨이 연결된 경우 사용자는 I/O 및 처리 성능을 향상하기 위해 전체 볼륨에서 데이터를 스트라이프할 수 있습니다.

`io1` 및 `io2` EBS 볼륨을 최대 16개의 Nitro 기반 인스턴스에 연결할 수 있습니다. 자세한 내용은 [다중 연결을 사용하여 여러 EC2 인스턴스에 EBS 볼륨 연결](ebs-volumes-multi.md) 섹션을 참조하세요. 아니면 EBS 볼륨을 단일 인스턴스에 연결할 수 있습니다.

추가 비용 없이 EBS 볼륨 및 EBS 기반 인스턴스의 루트 디바이스 볼륨의 데이터를 모니터링할 수 있습니다. 측정치의 모니터링에 대한 자세한 내용은 [Amazon EBS에 대한 Amazon CloudWatch 지표](using_cloudwatch_ebs.md) 섹션을 참조하세요. 볼륨 상태 추적에 대한 자세한 내용은 [Amazon EBS용 Amazon EventBridge 이벤트](ebs-cloud-watch-events.md) 섹션을 참조하세요.

## 데이터 지속성
<a name="persistence-benefit"></a>

EBS 볼륨은 인스턴스의 수명에 관계없이 유지되는 오프 인스턴스 스토리지입니다. 사용자는 데이터가 유지되는 동안 볼륨 사용량에 대한 비용을 계속해서 지불합니다.

실행 중인 인스턴스에 연결된 EBS 볼륨은 사용자가 EC2 콘솔에서 해당 인스턴스에 대한 EBS 볼륨을 구성할 때 **종료 시 삭제** 확인란을 선택하지 않은 경우 인스턴스가 종료될 때 해당 데이터가 원래 상태를 유지한 채로 해당 인스턴스에서 자동으로 분리될 수 있습니다. 그러면 해당 볼륨은 새 인스턴스로 재연결되어 빠른 복구가 가능합니다. **종료 시 삭제** 확인란이 선택된 경우에는 EC2 인스턴스 종료 시 볼륨이 삭제됩니다. EBS 기반 인스턴스를 사용하는 경우 연결된 볼륨에 저장된 데이터에 영향을 주지 않고 해당 인스턴스를 중지하고 다시 시작할 수 있습니다. 해당 볼륨은 정지-시작 주기 동안 연결 상태를 유지합니다. 이를 통해 사용자는 필요할 때 처리 및 스토리지 리소스만을 사용하여 볼륨에서 데이터를 무기한으로 처리 및 저장할 수 있습니다. 데이터는 볼륨이 완전히 삭제될 때까지 볼륨에서 유지됩니다. 삭제된 EBS 볼륨에서 사용하는 물리적 블록 스토리지는 새 볼륨에 할당되기 전에 0 또는 암호화된 의사 난수 데이터로 덮어씁니다. 민감한 데이터를 사용하는 경우 데이터를 직접 암호화하거나 Amazon EBS 암호화로 보호되는 볼륨에 데이터를 저장해야 합니다. 자세한 내용은 [Amazon EBS 암호화](ebs-encryption.md) 단원을 참조하십시오.

기본적으로, 실행 시 생성되어 인스턴스에 연결된 루트 EBS 볼륨은 해당 인스턴스가 종료되면 삭제됩니다. 사용자는 인스턴스 시작 시 플래그 값을 `DeleteOnTermination`에서 `false`로 변경하여 해당 동작을 수정할 수 있습니다. 값이 수정되면 인스턴스가 종료된 후에도 볼륨이 유지되어 해당 볼륨에 다른 인스턴스를 연결할 수 있습니다.

기본적으로, 실행 시 생성되어 인스턴스에 연결된 추가 EBS 볼륨은 해당 인스턴스가 종료되면 삭제되지 않습니다. 사용자는 인스턴스 시작 시 플래그 값을 `DeleteOnTermination`에서 `true`로 변경하여 해당 동작을 수정할 수 있습니다. 이 수정된 값으로 인해 인스턴스가 종료될 때 볼륨이 삭제됩니다.

## 데이터 암호화
<a name="encryption-benefit"></a>

단순 데이터 암호화의 경우 Amazon EBS 암호화 기능으로 암호화된 EBS 볼륨을 생성할 수 있습니다. 모든 EBS 볼륨 유형은 암호화를 지원합니다. 암호화된 EBS 볼륨을 사용하여 규제/감사 데이터 및 애플리케이션에 대한 다양한 유휴 데이터 암호화 요구 사항을 충족할 수 있습니다. Amazon EBS 암호화는 256비트 고급 암호화 표준 알고리즘(AES-256)과 Amazon 관리형 키 인프라를 사용합니다. 암호화는 EC2 인스턴스를 호스트하는 서버에서 수행되므로 EC2 인스턴스에서 Amazon EBS 스토리지로 전송되는 데이터가 암호화됩니다. 자세한 내용은 [Amazon EBS 암호화](ebs-encryption.md) 단원을 참조하십시오.

 Amazon EBS 암호화는 암호화된 볼륨과 암호화된 볼륨에서 생성된 스냅샷을 생성할 AWS KMS keys 때를 사용합니다. 리전에서 암호화된 EBS 볼륨을 처음 생성하면 기본 AWS 관리형 KMS 키가 자동으로 생성됩니다. 고객 관리형 키를 생성하여 사용하지 않는 한 이 키는 Amazon EBS 암호화에 사용됩니다. 고객 관리형 키를 직접 생성하면 액세스 제어를 생성, 교체, 비활성화, 정의하고 데이터를 보호하는 데 사용된 암호화 키를 감사하는 등 보다 폭넓은 작업이 가능합니다. 자세한 내용은 [AWS Key Management Service 개발자 안내서](https://docs.aws.amazon.com/kms/latest/developerguide/)를 참조하세요.

## 데이터 보안
<a name="security-benefit"></a>

Amazon EBS 볼륨은 포맷되지 않은 원시 블록 디바이스로 제공됩니다. 이러한 디바이스는 EBS 인프라에서 생성되는 논리적 디바이스이며 Amazon EBS 서비스는 고객이 사용하거나 재사용하기 전에 디바이스가 논리적으로 비어 있는지(즉, 원시 블록이 0이 되거나 암호화된 의사 난수 데이터를 포함하는지) 확인합니다.

**DoD 5220.22-M**(국가 산업 보안 프로그램 운영 매뉴얼) 또는 **NIST 800-88**(미디어 삭제 지침)에 자세히 설명된 것과 같이 사용 후, 사용 전 또는 사용 전후에 특정 방법을 사용하여 모든 데이터를 지워야 하는 절차가 있는 경우 Amazon EBS에서 해당 작업을 수행할 수 있습니다. 해당 블록 수준 활동은 Amazon EBS 서비스 내의 기본 스토리지 미디어에 반영됩니다.

## 스냅샷
<a name="backup-benefit"></a>

Amazon EBS를 사용하면 모든 EBS 볼륨의 스냅샷(백업)을 생성하고 볼륨 내 데이터 사본을 다중 가용 영역에 중복 저장이 가능한 Amazon S3에 작성할 수 있습니다. 볼륨이 실행 중인 인스턴스에 연결되어 있지 않아도 스냅샷을 만드는 데는 문제가 없습니다. 볼륨에 데이터를 계속에서 작성하면 새 볼륨의 기준으로 사용될 볼륨 스냅샷을 주기적으로 생성할 수 있습니다. 이 스냅샷을 사용하여 새로운 EBS 볼륨을 여러 개 생성하거나 가용 영역 간에 볼륨을 이동할 수 있습니다. 암호화된 EBS 볼륨의 스냅샷은 자동으로 암호화됩니다.

스냅샷에서 새로운 볼륨을 생성하는 경우 새로 생성된 스냅샷이 생성될 시점의 원본 볼륨 사본과 정확히 일치합니다. 암호화된 스냅샷에서 생성된 EBS 볼륨은 자동으로 암호화됩니다. 다양한 가용 영역을 지정하는 옵션이 있습니다. 이러한 기능을 사용하여 이 영역에 복제 볼륨을 생성할 수 있습니다. 스냅샷은 특정 AWS 계정과 공유하거나 공개될 수 있습니다. 스냅샷을 생성하는 경우 소스 볼륨의 크기가 아니라 백업되는 데이터의 크기에 따라 Amazon S3에서 비용이 발생합니다. 동일한 볼륨의 후속 스냅샷은 증분 스냅샷입니다. 마지막 스냅샷이 생성된 이후 볼륨에 작성된 변경된 데이터 및 새 데이터에만 포함되며, 이러한 변경된 데이터 및 새 데이터에 대해서만 비용이 청구됩니다.

스냅샷은 마지막 스냅샷 이후 변경된 볼륨의 블록만 저장되는 증분식 백업입니다. 100GiB 데이터를 가진 볼륨이 있지만 마지막 스냅샷 이후 5GiB만이 변경된 경우 변경된 5GiB만이 Amazon S3에 작성됩니다. 스냅샷은 증분식으로 저장되지만, 스냅샷 삭제 프로세스는 가장 최근의 스냅샷만 유지하도록 설계되어 있습니다.

볼륨 및 스냅샷을 쉽게 범주화하고 관리할 수 있도록 사용자는 원하는 메타데이터로 볼륨 및 스냅샷에 태그를 사용할 수 있습니다.

볼륨을 자동으로 백업하려는 경우 [Amazon Data Lifecycle Manager](snapshot-lifecycle.md) 또는 [AWS Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/)를 사용할 수 있습니다.

## 유연성
<a name="flexibility-benefit"></a>

EBS 볼륨은 프로덕션 중에 라이브 구성 변경을 지원합니다. 서비스 중단 없이 볼륨 유형, 볼륨 크기, IOPS 용량을 수정할 수 있습니다. 자세한 내용은 [탄력적 볼륨 작업을 사용하여 Amazon EBS 볼륨 수정](ebs-modify-volume.md) 섹션을 참조하세요.

# Amazon EBS 볼륨 유형
<a name="ebs-volume-types"></a>

Amazon EBS는 다음의 볼륨 유형을 제공하고 이러한 볼륨 유형은 성능 특성과 가격이 다르므로 애플리케이션의 필요에 맞게 스토리지 성능과 비용을 조정할 수 있습니다.

**중요**  
인스턴스 구성, I/O 특성 및 워크로드 요구량 등 여러 가지 요인이 EBS 볼륨의 성능에 영향을 미칠 수 있습니다. EBS 볼륨에서 프로비저닝된 IOPS를 완전히 사용하려면 [EBS 최적화 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)를 사용합니다. EBS 볼륨을 최대한 이용하는 방법에 대한 자세한 내용은 [Amazon EBS 볼륨 성능](ebs-performance.md)을 참조하세요.

요금에 대한 자세한 내용은 [Amazon EBS 요금](https://aws.amazon.com/ebs/pricing/)을 참조하세요.

**볼륨 유형**
+ [Solid State Drive(SSD) 볼륨](#vol-type-ssd)
+ [하드 디스크 드라이브(HDD) 볼륨](#vol-type-hdd)
+ [이전 세대 볼륨](#vol-type-prev)

## Solid State Drive(SSD) 볼륨
<a name="vol-type-ssd"></a>

SSD 지원 볼륨은 작은 I/O 크기의 읽기/쓰기 작업을 자주 처리하며 기준 성능 속성은 IOPS인 트랜잭션 워크로드에 최적화되어 있습니다. SSD 지원 볼륨 유형으로는 **범용 SSD**와 **프로비저닝된 IOPS SSD**가 있습니다. 다음은 SSD 기반 볼륨의 사용 사례 및 특성에 대한 요약입니다.


|  | [Amazon EBS 범용 SSD 볼륨](general-purpose.md) | [Amazon EBS 프로비저닝된 IOPS SSD 볼륨](provisioned-iops.md) | 
| --- | --- | --- | 
| 볼륨 유형 | gp3 6 | gp2 | io2 Block Express | io1 | 
| 내구성 | 99.8%\$199.9% 내구성(연간 장애율 0.1%\$10.2%) | 99.999% 내구성(연간 장애율 0.001%) | 99.8%\$199.9% 내구성(연간 장애율 0.1%\$10.2%) | 
| 사용 사례 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volume-types.html)  |  다음이 필요한 워크로드: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volume-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volume-types.html)  | 
| 볼륨 크기 | 1GiB\$164TiB  | 1GiB - 16TiB  | 4GiB\$164TiB  | 4GiB - 16TiB  | 
| 최대 IOPS | 80,0003(64KiB I/O4) | 16,000(16KiB I/O4) | 256,0003(16 KiB I/O4)  | 64,000(16KiB I/O4) | 
| 최대 처리량 | 2,000MiB/s | 250MiB/s 1 | 4,000MiB/s | 1,000MiB/s 2 | 
| Amazon EBS 다중 연결 | 지원되지 않음 | 지원됨 | 
| NVMe 예약 | 지원되지 않음 | 지원됨 | 지원되지 않음 | 
| 부트 볼륨 | 지원됨 | 

1 처리량 한도는 볼륨 크기에 따라 128MiB/s\$1250 MiB/s입니다. 자세한 내용은 [`gp2` 볼륨 성능](general-purpose.md#gp2-performance) 단원을 참조하십시오. **2018년 12월 3일** 이전에 생성되었으며 생성 이후 수정되지 않은 볼륨은 해당 [볼륨을 수정](ebs-modify-volume.md)하지 않는 한 전체 성능에 도달하지 못할 수 있습니다.

2 1,000MiB/s의 최대 처리량을 달성하려면 볼륨을 64,000 IOPS로 프로비저닝하고 [Nitro기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에 연결해야 합니다. **2017년 12월 6일** 이전에 생성되었으며 생성 이후 수정되지 않은 볼륨은 해당 [볼륨을 수정](ebs-modify-volume.md)하지 않는 한 전체 성능에 도달하지 못할 수 있습니다.

3 [Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)는 최대 256,000 IOPS로 프로비저닝된 볼륨을 지원합니다. 다른 인스턴스 유형은 최대 64,000 IOPS로 프로비저닝된 볼륨에 연결할 수 있지만 최대 32,000 IOPS를 달성할 수 있습니다.

4 볼륨의 처리량 한도 내에서 최대 IOPS에 도달하기 위해 필요한 I/O 크기를 나타냅니다.

5 `io2` Block Express 볼륨은 16KiB I/O 작업에 500마이크로초 미만의 평균 지연 시간을 제공하도록 설계되었습니다.

6 Outposts에서 gp3 볼륨은 최대 16TiB의 크기, 최대 16,000 IOPS, 최대 1,000MiB/s의 처리량을 지원합니다.

SSD 기반 볼륨 유형에 대한 자세한 내용은 다음을 참조하세요.
+ [Amazon EBS 범용 SSD 볼륨](general-purpose.md)
+ [Amazon EBS 프로비저닝된 IOPS SSD 볼륨](provisioned-iops.md)

## 하드 디스크 드라이브(HDD) 볼륨
<a name="vol-type-hdd"></a>

HDD 기반 볼륨은 기준 성능 속성이 스루풋인 대규모 스트리밍 워크로드에 최적화되어 있습니다. HDD 볼륨 유형으로는 **스루풋 최적화 HDD**와 **콜드 HDD**가 있습니다. 다음은 HDD 기반 볼륨의 사용 사례 및 특성에 대한 요약입니다.


|  | [처리량 최적화 HDD 볼륨](hdd-vols.md#EBSVolumeTypes_st1) | [콜드 HDD 볼륨](hdd-vols.md#EBSVolumeTypes_sc1) | 
| --- | --- | --- | 
| 볼륨 유형 | st1 | sc1 | 
| 내구성 | 99.8%\$199.9% 내구성(연간 장애율 0.1%\$10.2%) | 
| 사용 사례 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volume-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volume-types.html)  | 
| 볼륨 크기 | 125GiB \$1 16TiB | 
| 볼륨당 최대 IOPS(1MiB I/O) | 500 | 250 | 
| 볼륨당 최대 처리량 | 500MiB/s | 250MiB/s | 
| Amazon EBS 다중 연결 | 지원되지 않음 | 
| 부트 볼륨 | 지원되지 않음 | 

하드 디스크 드라이브(HDD) 볼륨에 대한 자세한 내용은 [Amazon EBS 처리량 최적화 HDD 및 콜드 HDD 볼륨](hdd-vols.md) 섹션을 참조하세요.

## 이전 세대 볼륨
<a name="vol-type-prev"></a>

마그네틱(`standard`) 볼륨은 마그네틱 드라이브로 지원되는 이전 세대 볼륨입니다. 데이터에 자주 액세스하지 않고 성능이 그다지 중요하지 않은 소규모 데이터 세트가 있는 워크로드에 적합합니다. Magnetic 볼륨의 평균 IOPS는 약 100 정도이며, 버스팅 시 몇백 수준으로 증가합니다. 크기는 1GiB에서 1TiB까지입니다.

**작은 정보**  
마그네틱은 이전 세대 볼륨 유형입니다. 이전 세대 볼륨이 제공할 수 있는 것보다 더 높은 성능 또는 성능 일관성이 필요한 경우 현재 세대의 볼륨 유형 중 하나를 사용하는 것이 좋습니다.

다음 표에서는 이전 세대 EBS 볼륨 유형을 설명합니다.


|  | Magnetic | 
| --- | --- | 
| 볼륨 유형 | standard | 
| 사용 사례 | 데이터에 자주 액세스하지 않는 워크로드 | 
| 볼륨 크기 | 1GiB - 1TiB | 
| 볼륨당 최대 IOPS | 40–200 | 
| 볼륨당 최대 처리량 | 40-90MiB/s | 
| 부트 볼륨 | 지원됨 | 

# Amazon EBS 범용 SSD 볼륨
<a name="general-purpose"></a>

범용 SSD(gp2 및 gp3) 볼륨은 SSD(Solid-State Drive)로 지원됩니다. 다양한 트랜잭션 워크로드를 위한 가격과 성능의 균형을 유지합니다. 여기에는 가상 데스크톱, 중간 크기의 단일 인스턴스 데이터베이스, 지연 시간에 민감한 대화형 애플리케이션, 개발 및 테스트 환경, 부팅 볼륨이 포함됩니다. 대부분의 워크로드에 이 볼륨을 사용하는 것이 좋습니다.

Amazon EBS는 다음 유형의 범용 SSD 볼륨을 제공합니다.

**Topics**
+ [범용 SSD(gp3) 볼륨](#gp3-ebs-volume-type)
+ [범용 SSD(gp2) 볼륨](#EBSVolumeTypes_gp2)

## 범용 SSD(gp3) 볼륨
<a name="gp3-ebs-volume-type"></a>

범용 SSD(gp3) 볼륨은 최신 세대의 범용 SSD 볼륨이며 Amazon EBS에서 제공하는 가장 저렴한 SSD 볼륨입니다. 이 볼륨 유형은 대부분의 애플리케이션에 적절한 가격과 성능의 균형을 제공하는 데 도움이 됩니다. 또한 볼륨 크기와 관계없이 볼륨 성능을 확장하는 데 도움이 됩니다. 즉, 추가 블록 스토리지 용량을 프로비저닝할 필요 없이 필요한 성능을 프로비저닝할 수 있습니다. 또한 gp3 볼륨은 범용 SSD(gp2) 볼륨보다 GiB당 20% 저렴한 가격을 제공합니다.

gp3 볼륨은 10밀리초 미만의 지연 시간과 99.8% \$1 99.9%의 볼륨 내구성을 제공하며 연간 장애율(AFR)은 0.2% 이하입니다. 즉, 1년 동안 1,000개의 실행 볼륨당 최대 2개의 볼륨 장애가 발생합니다.는 gp3 볼륨을 AWS 설계하여 프로비저닝된 성능을 99%의 시간 동안 제공합니다.

**작은 정보**  
지연 시간에 민감한 워크로드의 경우, io2 Block Express 볼륨을 사용할 것이 권장됩니다. `io2` Block Express 볼륨은 16KiB I/O 작업에 500마이크로초 미만의 평균 지연 시간을 제공하도록 설계되었습니다. `io2` 또한 Block Express 볼륨은 범용 볼륨에 비해 더 나은 이상 지연 시간을 제공하여 800마이크로초를 초과하는 I/O의 빈도를 10배 이상 줄여 줍니다. 자세한 내용은 [프로비저닝된 IOPS SSD(`io2`) Block Express 볼륨](provisioned-iops.md#io2-block-express) 단원을 참조하십시오.

**Topics**
+ [gp3 볼륨 성능](#gp3-performance)
+ [gp3 볼륨 크기](#gp3-sie)
+ [gp2에서 gp3로 마이그레이션](#migrate-to-gp3)

### gp3 볼륨 성능
<a name="gp3-performance"></a>

**작은 정보**  
gp3 볼륨은 버스트 성능을 사용하지 않습니다. 전체 프로비저닝된 IOPS 및 처리량 성능을 무기한 유지할 수 있습니다.

**IOPS 성능**  
gp3 볼륨은 스토리지 가격에 포함된 3,000 IOPS의 일관된 기본 IOPS 성능을 제공합니다. 볼륨 크기 GiB당 500 IOPS 비율의 추가 비용으로 추가 IOPS(최대 8,000)를 프로비저닝할 수 있습니다. 최대 IOPS는 160GiB 이상의 볼륨에 프로비저닝할 수 있습니다(GiB당 500 IOPS × 160GiB = 80,000 IOPS).

**처리량 성능**  
gp3 볼륨은 스토리지 가격에 포함된 125MiB/s의 일관된 기본 처리 성능을 제공합니다. 프로비저닝된 IOPS당 0.25MiB/s 비율의 추가 비용으로 추가 처리량(최대 2,000MiB/s)을 프로비저닝할 수 있습니다. 최대 처리량은 8,000 IOPS 이상 및 16GiB 이상(8,000 IOPS × IOPS당 0.25MiB/s = 2,000MiB/s)으로 프로비저닝할 수 있습니다.

**참고**  
Outposts에서 gp3 볼륨은 최대 16TiB의 크기, 최대 16,000 IOPS, 최대 1,000MiB/s의 처리량을 지원합니다.

### gp3 볼륨 크기
<a name="gp3-sie"></a>

gp3 볼륨의 크기는 1GiB\$164TiB일 수 있습니다.

### gp2에서 gp3로 마이그레이션
<a name="migrate-to-gp3"></a>

현재 gp2 볼륨을 사용 중인 경우 [탄력적 볼륨 작업을 사용하여 Amazon EBS 볼륨 수정](ebs-modify-volume.md) 작업을 사용하여 볼륨을 gp3로 마이그레이션할 수 있습니다. Amazon EBS Elastic Volumes 작업을 사용하여 Amazon EC2 인스턴스를 중단하지 않고 기존 볼륨의 볼륨 유형, IOPS 및 처리량을 수정할 수 있습니다. 콘솔을 사용하여 볼륨을 생성하거나 스냅샷에서 AMI를 생성할 때 범용 SSD `gp3`가 볼륨 유형에 대한 기본 선택 사항입니다. 다른 경우에는 `gp2`가 기본 선택 사항입니다. 이러한 경우에는 `gp2`를 사용하는 대신 볼륨 유형으로 `gp3`를 선택할 수 있습니다.

gp2 볼륨을 gp3로 마이그레이션하여 얼마나 절약할 수 있는지 알아보려면 [Amazon EBS gp2에서 gp3로 마이그레이션 비용 절감 계산기](https://d1.awsstatic.com/product-marketing/Storage/EBS/gp2_gp3_CostOptimizer.dd5eac2187ef7678f4922fcc3d96982992964ba5.xlsx)를 사용합니다.

## 범용 SSD(gp2) 볼륨
<a name="EBSVolumeTypes_gp2"></a>

광범위한 트랜잭션 워크로드에 이상적인 비용 효율적인 스토리지를 제공합니다. `gp2` 볼륨을 사용하면 볼륨 크기에 따라 성능이 확장됩니다.

**작은 정보**  
`gp3` 볼륨은 최신 세대의 범용 SSD 볼륨입니다. `gp2` 볼륨보다 최대 20% 낮은 더 예측 가능한 성능 조정 및 가격을 제공합니다. 자세한 내용은 [범용 SSD(gp3) 볼륨](#gp3-ebs-volume-type) 섹션을 참조하세요.  
`gp2` 볼륨을 `gp3`로 마이그레이션하여 얼마나 절약할 수 있는지 알아보려면 [Amazon EBS gp2에서 gp3로 마이그레이션 비용 절감 계산기](https://d1.awsstatic.com/product-marketing/Storage/EBS/gp2_gp3_CostOptimizer.dd5eac2187ef7678f4922fcc3d96982992964ba5.xlsx)를 사용합니다.

`gp2` 볼륨은 한 자릿수 밀리초 지연 시간과 99.8% \$1 99.9%의 볼륨 내구성을 제공하며 연간 장애율(AFR)은 0.2% 이하입니다. 즉, 1년 동안 실행 중인 볼륨 1,000개당 최대 2개의 볼륨 장애가 발생합니다.는 프로비저닝된 성능을 99%의 시간 동안 제공하도록 `gp2` 볼륨을 AWS 설계합니다.

**Topics**
+ [`gp2` 볼륨 성능](#gp2-performance)
+ [`gp2` 볼륨 크기](#gp2-size)

### `gp2` 볼륨 성능
<a name="gp2-performance"></a>

**IOPS 성능**  
기준 IOPS 성능은 볼륨 크기 GiB당 3IOPS의 비율로 최소 100에서 최대 16,000 사이에서 선형으로 조정됩니다. IOPS 성능은 다음과 같이 프로비저닝됩니다.
+ 33.33GiB 이하의 볼륨은 최소 100 IOPS로 프로비저닝됩니다.
+ 33.33GiB보다 큰 볼륨은 최대 16,000 IOPS(5,334GiB(3 X 5,334)에서 도달)까지 볼륨 크기의 GiB당 3 IOPS로 프로비저닝됩니다.
+ 5,334GiB 이상의 볼륨은 16,000 IOPS로 프로비저닝됩니다.

1TiB보다 작은 `gp2` 볼륨(3,000 IOPS 미만으로 프로비저닝됨)은 장기간 필요할 때 3,000 IOPS로 **버스트**할 수 있습니다. 볼륨의 버스트 기능은 I/O 크레딧에 의해 제어됩니다. I/O 수요가 기준 성능보다 크면 볼륨은 **I/O 크레딧을 소비**하여 필요한 성능 수준(최대 3,000 IOPS)으로 버스트합니다. 버스트하는 동안 I/O 크레딧은 누적되지 않으며 기준 IOPS 이상으로 사용되는 IOPS 비율로 소비됩니다(소비율 = 버스트 IOPS - 기준 IOPS) 볼륨에 누적된 I/O 크레딧이 많을수록 버스트 성능을 더 오래 유지할 수 있습니다. 다음과 같이 **버스트 지속 시간**을 계산할 수 있습니다.

```
                        (I/O credit balance)
Burst duration  =  ------------------------------
                   (Burst IOPS) - (Baseline IOPS)
```

I/O 수요가 기준 성능 수준 이하로 떨어지면 볼륨은 초당 볼륨 크기 GiB당 3 I/O 크레딧의 비율로 **I/O 크레딧을 받기** 시작합니다. 볼륨의 **I/O 크레딧 발생 제한**은 540만 I/O 크레딧으로, 최소 30분 동안 3,000 IOPS의 최대 버스트 성능을 유지할 수 있는 수준입니다.

**참고**  
각 볼륨은 540만 I/O 크레딧의 초기 I/O 크레딧 밸런스를 수신하여 부트 볼륨에 대한 빠른 초기 부팅 주기와 다른 애플리케이션에 대한 우수한 부트스트랩 경험을 제공합니다.

다음 표에는 예제 볼륨 크기 및 볼륨의 관련 기준 성능, 버스트 지속 시간(540만 I/O 크레딧으로 시작하는 경우) 및 빈 I/O 크레딧 잔고를 다시 채우는 데 필요한 시간이 나와 있습니다.


| 볼륨 크기(GiB) | 기준 성능(IOPS) | 3,000 IOPS(초)에서 버스트 지속 시간 | 빈 크레딧 밸런스를 채우는데 소요되는 시간(초) | 
| --- | --- | --- | --- | 
|  1\$133.33  |  100  |  1,862  | 54,000 | 
|  100  |  300  |  2,000  | 18,000 | 
|  334(최대 처리량에 대한 최소 크기)  | 1,002 |  2,703  |  5,389  | 
|  750  |  2,250  |  7,200  | 2,400 | 
|  1,000  |  3,000  |  해당 사항 없음\$1  |  해당 사항 없음\$1  | 
|  5,334(최대 IOPS에 대한 최소 크기) 이상  |  16,000  |  해당 사항 없음\$1  |  해당 사항 없음\$1  | 

\$1 볼륨의 기준 성능이 최대 버스트 성능을 초과합니다.

Amazon CloudWatch의 Amazon EBS `BurstBalance` 지표를 사용하여 볼륨에 대한 I/O 크레딧 밸런스를 모니터링할 수 있습니다. 이 지표는 `gp2`에 대한 I/O 크레딧의 나머지 비율을 보여줍니다. 자세한 내용은 [Amazon EBS I/O 기능 및 모니터링](ebs-io-characteristics.md) 섹션을 참조하세요. `BurstBalance` 값이 특정 수준으로 떨어질 때를 알려주는 경보를 설정할 수 있습니다. 자세한 내용을 알아보려면 [CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

**처리량 성능**  


`gp2` 볼륨은 볼륨 크기에 따라 128\$1250MiB/s의 처리량을 제공합니다. 처리량 성능은 다음과 같이 프로비저닝됩니다.
+ 170GiB 이하의 볼륨은 최대 128MiB/s의 처리량을 제공합니다.
+ 170\$1334GiB의 볼륨은 최대 처리량 250MiB/s로 버스트할 수 있습니다.
+ 334GiB 이상의 볼륨은 250MiB/s를 제공합니다.

`gp2` 볼륨의 처리량은 다음 공식을 사용하여 계산할 수 있으며 최대 처리량 제한은 250MiB/s입니다.

```
Throughput in MiB/s = IOPS performance × I/O size in KiB / 1,024
```

### `gp2` 볼륨 크기
<a name="gp2-size"></a>

`gp2` 볼륨 크기는 1GiB\$116TiB입니다. 볼륨 성능은 볼륨 크기에 따라 선형적으로 조정됩니다.

# Amazon EBS 프로비저닝된 IOPS SSD 볼륨
<a name="provisioned-iops"></a>

프로비저닝된 IOPS SSD 볼륨은 SSD(Solid-State Drive)로 지원됩니다. 짧은 지연 시간이 필요한 중요하고 IOPS 집약적이며 처리량 집약적 워크로드를 위해 설계된 최고 성능의 Amazon EBS 스토리지 볼륨입니다. 프로비저닝된 IOPS SSD 볼륨은 99.9%의 시간 동안 프로비저닝된 IOPS 성능을 제공합니다.

**Topics**
+ [프로비저닝된 IOPS SSD(`io2`) Block Express 볼륨](#io2-block-express)
+ [프로비저닝된 IOPS SSD(`io1`) 볼륨](#EBSVolumeTypes_piops)

## 프로비저닝된 IOPS SSD(`io2`) Block Express 볼륨
<a name="io2-block-express"></a>

`io2` Block Express는 차세대 Amazon EBS 스토리지 서버 아키텍처를 기반으로 구축되었습니다. [Nitro System에 구축된 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서 실행되는 가장 까다로운 I/O 집약적 애플리케이션의 성능 요구 사항을 충족하도록 구축되었습니다. 내구성이 가장 높고 지연 시간이 가장 Block Express는 Oracle, SAP HANA, Microsoft SQL Server 및 SAS Analytics와 같이 성능 집약적이고 미션 크리티컬한 워크로드를 실행하는 데 이상적입니다.

Block Express 아키텍처는 `io2` 볼륨의 성능과 규모를 개선합니다. Block Express 서버는 Scalable Reliable Datagram(SRD) 네트워킹 프로토콜을 사용하여 [Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)와 통신합니다. 이 인터페이스는 인스턴스의 호스트 하드웨어에 있는 Amazon EBS I/O 기능 전용 Nitro Card에 구현됩니다. I/O 지연 및 지연 시간 변화(네트워크 지터)를 최소화하여 애플리케이션에 보다 빠르고 일관된 성능을 제공합니다.

`io2` Block Express 볼륨은 0.001% 이하의 연간 장애율(AFR)로 99.999%의 볼륨 내구성을 제공하도록 설계되었습니다. 이는 1년 동안 실행 볼륨 10만 개당 1건의 볼륨 장애가 발생함을 의미합니다. `io2` Block Express 볼륨은 밀리초 미만의 일관적인 지연 시간을 제공하고 gp3 볼륨보다 높은 IOPS 및 높은 처리량을 지원하는 단일 볼륨을 사용하는 것이 유리한 워크로드에 적합합니다.

`io2` Block Express 볼륨은 [ Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에 연결되었을 때 16KiB I/O 작업에 평균 500마이크로초 미만의 지연 시간을 제공하도록 설계되었습니다. `io2` 또한 Block Express 볼륨은 범용 볼륨에 비해 더 나은 이상 지연 시간을 제공하여 800마이크로초를 초과하는 I/O의 빈도를 10배 이상 줄여 줍니다.

**Topics**
+ [고려 사항](#io2-bx-considerations)
+ [성능](#io2-bx-perf)

### 고려 사항
<a name="io2-bx-considerations"></a>
+ `io2` Block Express 볼륨은 AWS 리전 AWS GovCloud (US) 및 중국 리전을 포함한 모든 리전에서 사용할 수 있습니다.
+ **2025년 4월 30일**을 기하여 신규 및 이전에 생성된 모든 `io2` 볼륨은 `io2` Block Express 볼륨입니다.
+ [ Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서는 최대 256,000 IOPS로 프로비저닝된 볼륨을 지원합니다. 다른 인스턴스 유형은 최대 64,000 IOPS로 프로비저닝된 볼륨에 연결할 수 있지만 최대 32,000 IOPS를 달성할 수 있습니다.

### 성능
<a name="io2-bx-perf"></a>

`io2` Block Express 볼륨은 다음과 같은 특징을 가지고 있습니다.
+ 16KiB I/O 크기에 대한 500마이크로초 미만의 평균 지연 시간. 범용 볼륨에 비해 더 나은 이상 지연 시간을 제공하여 800마이크로초를 초과하는 I/O의 빈도를 10배 이상 감소.
+ 최대 64TiB(65,536GiB)의 스토리지 용량.
+ IOPS: GiB 비율이 1,000:1인 최대 256,000의 프로비저닝된 IOPS. 최대 IOPS는 256GiB 이상의 볼륨으로 프로비저닝될 수 있습니다(1,000 IOPS x 256GiB = 256,000 IOPS).
**참고**  
[Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)로 최대 256,000 IOPS를 달성할 수 있습니다. 다른 인스턴스에서는 최대 32,000 IOPS를 달성할 수 있습니다.
+ 최대 4,000Mib/s의 볼륨 처리량. 처리량은 프로비저닝된 IOPS당 0.256Mib/s의 비율로 비례하여 확장됩니다. 최대 처리량은 16,000 IOPS 이상에서 달성할 수 있습니다.

![\[io2 Block Express 볼륨의 처리량 제한\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/io2_bx.png)


## 프로비저닝된 IOPS SSD(`io1`) 볼륨
<a name="EBSVolumeTypes_piops"></a>

프로비저닝된 IOPS SSD(`io1`) 볼륨은 스토리지 성능과 일관성에 민감한 I/O 집약적 워크로드, 특히 데이터베이스 워크로드의 요구 사항을 충족하도록 설계되었습니다. 프로비저닝된 IOPS SSD 볼륨은 볼륨을 생성할 때 지정한 일관된 IOPS 속도를 사용하며 Amazon EBS는 프로비저닝된 성능의 99.9%를 제공합니다.

`io1` 볼륨은 0.2% 이하의 연간 장애율(AFR)로 99.8%\$199.9%의 볼륨 내구성을 제공하도록 설계되었습니다. 이는 1년 동안 실행 볼륨 1,000개당 최대 2개의 볼륨 장애가 발생함을 의미합니다.

`io1` 볼륨은 모든 Amazon EC2 인스턴스 유형에 사용할 수 있습니다.

**성능**  
`io1` 볼륨의 크기는 4GiB에서 16TiB 사이가 될 수 있고 볼륨당 100 IOPS에서 최대 64,000 IOPS가 프로비저닝될 수 있습니다. 요청된 볼륨 크기(단위: GiB)에 대한 프로비저닝된 IOPS의 비율은 최대 50:1입니다. 예를 들어 100GiB `io1` 볼륨에서는 최대 5,000 IOPS까지 프로비저닝할 수 있습니다.

1,280GiB 이상(50 × 1,280GiB = 64,000 IOPS)의 볼륨에 대해 최대 IOPS를 프로비저닝할 수 있습니다.
+ 최대 32,000 IOPS로 프로비저닝되는 `io1` 볼륨은 최대 256KiB의 I/O 크기를 지원하고 최대 500MiB/s의 처리량을 제공합니다. I/O 크기가 최대일 때 2,000 IOPS에서 피크 처리량에 도달합니다.
+ 32,000 IOPS를 초과하여 프로비저닝된 `io1` 볼륨(최대 64,000 IOPS)의 처리량은 프로비저닝된 IOPS당 16KiB의 속도로 선형으로 증가합니다. 예를 들어 48,000 IOPS로 프로비저닝된 볼륨은 최대 750MiB/s의 처리량(프로비저닝된 IOPS당 16KiB x 프로비저닝된 IOPS 48,000 = 750MiB/s)을 지원할 수 있습니다.
+ 1,000MiB/s의 최대 처리량을 달성하려면 64,000 IOPS(프로비저닝된 IOPS당 16KiB x 프로비저닝된 IOPS 64,000 = 1,000MiB/s)로 볼륨을 프로비저닝해야 합니다.
+ [Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서만 최대 64,000 IOPS를 달성할 수 있습니다. 다른 인스턴스에서는 최대 32,000 IOPS를 달성할 수 있습니다.

. 다음 그래프에 이러한 성능 특성이 예시되어 있습니다.

![\[io1 볼륨의 처리량 제한\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/io1_throughput.png)


I/O당 지연 시간 환경은 프로비저닝된 IOPS 및 워크로드 프로파일에 따라 다릅니다. 최상의 I/O 지연 시간 환경을 위해 워크로드의 I/O 프로파일을 충족하도록 IOPS를 프로비저닝해야 합니다.

# Amazon EBS 처리량 최적화 HDD 및 콜드 HDD 볼륨
<a name="hdd-vols"></a>

Amazon EBS에서 제공하는 HDD 지원 볼륨은 다음 범주로 나뉩니다.
+ 처리량 최적화 HDD - 자주 액세스하는 처리량 집약적 워크로드에 적합한 저비용 HDD입니다.
+ 콜드 HDD - 자주 액세스하지 않는 워크로드용으로 설계된 가장 저렴한 HDD입니다.

**Topics**
+ [인스턴스당 처리량에 대한 제한](#throughput-limitations)
+ [처리량 최적화 HDD 볼륨](#EBSVolumeTypes_st1)
+ [콜드 HDD 볼륨](#EBSVolumeTypes_sc1)
+ [HDD 볼륨 사용 시 성능 고려사항](#EBSVolumeTypes_considerations)
+ [볼륨에 대한 버스트 버킷 밸런스 모니터링](#monitoring_burstbucket-hdd)

## 인스턴스당 처리량에 대한 제한
<a name="throughput-limitations"></a>

`st1` 및 `sc1` 볼륨의 처리량은 항상 다음 중 작은 값에 따라 결정됩니다.
+ 볼륨의 처리량 제한
+ 인스턴스의 처리량 제한

모든 Amazon EBS 볼륨에서와 같이, 네트워크 병목 현상을 피하려면 적절한 EBS 최적화 EC2 인스턴스를 선택하는 것이 좋습니다.

## 처리량 최적화 HDD 볼륨
<a name="EBSVolumeTypes_st1"></a>

처리량 최적화 HDD(`st1`) 볼륨은 IOPS가 아닌 처리량으로 성능을 정의하는 저비용 마그네틱 스토리지를 제공합니다. 이 볼륨 유형은 Amazon EMR, ETL, 데이터 웨어하우스, 로그 처리 같은 대용량 순차 워크로드에 적합합니다. 부팅 가능한 `st1` 볼륨은 지원되지 않습니다.

처리량 최적화 HDD(`st1`) 볼륨은 콜드 HDD(`sc1`) 볼륨과 비슷하지만 *자주* 액세스하는 데이터를 지원하도록 설계되었습니다.

**참고**  
이 볼륨 유형은 대용량 순차 I/O와 관련된 워크로드에 최적화되어 있으며, 소량의 랜덤 I/O 워크로드를 처리하는 고객에게는 [Amazon EBS 범용 SSD 볼륨](general-purpose.md) 또는 [Amazon EBS 프로비저닝된 IOPS SSD 볼륨](provisioned-iops.md) 사용을 권장합니다. 자세한 내용은 [HDD 기반 소량 읽기/쓰기의 비효율성](#inefficiency) 단원을 참조하십시오.

EBS 최적화 인스턴스에 연결된 처리량 최적화 HDD(`st1`) 볼륨은 지정된 해의 시간 중 예상 처리량 성능 99%의 90% 이상을 제공되는 일관된 성능이 제공되도록 설계되었습니다.

### 처리량 크레딧 및 버스트 성능
<a name="ST1ThroughputBurst"></a>

`gp2`처럼 `st1` 역시 성능 측정에 버스트 버킷 모델을 사용합니다. 볼륨 크기에 따라 볼륨의 기준 처리량, 즉 볼륨이 처리량 크레딧을 누적하는 속도가 결정됩니다. 볼륨 크기는 볼륨의 버스트 처리량, 즉 사용 가능한 크레딧을 소비할 수 있는 속도도 결정합니다. 볼륨이 클수록 기본 및 버스트 처리량이 높습니다. 볼륨에 크레딧이 많을수록 버스트 수준에서 더 오랫동안 I/O를 구동할 수 있습니다.

다음 다이어그램은 `st1`의 버스트 버킷 동작을 보여줍니다.

![\[st1 버스트 버킷\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/st1-burst-bucket.png)


처리량 및 처리량 크레딧 한도가 적용되는 `st1` 볼륨의 사용 가능 처리량은 다음 수식으로 표현됩니다.

```
(Volume size) × (Credit accumulation rate per TiB) = Throughput
```

1TiB `st1` 볼륨의 경우 버스트 처리량은 250MiB/s로 제한되고, 버킷의 크레딧은 40MiB/s 속도로 채워지며, 최대 1TiB에 해당하는 크레딧을 보유할 수 있습니다.

최대 처리량 한도인 500MiB/s 내에서, 볼륨 크기에 비례하여 이러한 제한이 확장됩니다. 버킷이 고갈된 후 처리량은 TiB당 40MiB/s의 기준 속도로 제한됩니다.

0.125TiB\$116TiB 범위의 볼륨 크기를 기준으로 기준 처리량은 5MiB/s\$1500MiB/s(한도)이며, 다음과 같이 12.5TiB에서 한도에 도달합니다.

```
            40 MiB/s
12.5 TiB × ---------- = 500 MiB/s
             1 TiB
```

버스트 처리량은 31MiB/s\$1500MiB/s(한도)이며, 다음과 같이 2TiB에서 한도에 도달합니다.

```
         250 MiB/s
2 TiB × ---------- = 500 MiB/s
          1 TiB
```

다음 표는 `st1`의 기준 및 버스트 처리량 값 전체를 보여줍니다.


| 볼륨 크기(TiB) | ST1 기준 처리량(MiB/s) | ST1 버스트 처리량(MiB/s) | 
| --- | --- | --- | 
| 0.125 | 5 | 31 | 
| 0.5 | 20 | 125 | 
| 1 | 40 | 250 | 
| 2 | 80 | 500 | 
| 3 | 120 | 500 | 
| 4 | 160 | 500 | 
| 5 | 200 | 500 | 
| 6 | 240 | 500 | 
| 7 | 280 | 500 | 
| 8 | 320 | 500 | 
| 9 | 360 | 500 | 
| 10 | 400 | 500 | 
| 11 | 440 | 500 | 
| 12 | 480 | 500 | 
| 12.5 | 500 | 500 | 
| 13 | 500 | 500 | 
| 14 | 500 | 500 | 
| 15 | 500 | 500 | 
| 16 | 500 | 500 | 

다음 다이어그램은 표의 값을 도식화한 것입니다.

![\[st1 기준 및 버스트 처리량 비교\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/st1_base_v_burst.png)


**참고**  
처리량 최적화 HDD(`st1`) 볼륨의 스냅샷을 생성하는 경우 스냅샷이 진행되는 동안 성능이 볼륨의 기준 값까지 떨어질 수 있습니다.

CloudWatch 지표 및 경보를 사용하여 버스트 버킷 잔고를 모니터링하는 방법은 [볼륨에 대한 버스트 버킷 밸런스 모니터링](#monitoring_burstbucket-hdd) 섹션을 참조하세요.

## 콜드 HDD 볼륨
<a name="EBSVolumeTypes_sc1"></a>

콜드 HDD(`sc1`) 볼륨은 IOPS가 아닌 처리량으로 성능을 정의하는 저비용 마그네틱 스토리지를 제공합니다. 처리량 제한이 `st1`보다 낮은 `sc1`은 대용량 순차 콜드 데이터 워크로드에 적합합니다. 데이터에 자주 액세스할 필요가 없고 비용을 절약해야 한다면 저렴한 블록 스토리지로 `sc1`이 적합합니다. 부팅 가능한 `sc1` 볼륨은 지원되지 않습니다.

콜드 HDD(`sc1`) 볼륨은 처리량 최적화 HDD(`st1`) 볼륨과 비슷하지만 *드물게* 액세스하는 데이터를 지원하도록 설계되었습니다.

**참고**  
이 볼륨 유형은 대용량 순차 I/O와 관련된 워크로드에 최적화되어 있으며, 소량의 랜덤 I/O 워크로드를 처리하는 고객에게는 [Amazon EBS 범용 SSD 볼륨](general-purpose.md) 또는 [Amazon EBS 프로비저닝된 IOPS SSD 볼륨](provisioned-iops.md) 사용을 권장합니다. 자세한 내용은 [HDD 기반 소량 읽기/쓰기의 비효율성](#inefficiency) 단원을 참조하십시오.

EBS 최적화 인스턴스에 연결된 콜드 HDD(`sc1`) 볼륨은 지정된 해의 시간 중 예상 처리량 성능 99%의 90% 이상을 제공되는 일관된 성능이 제공되도록 설계되었습니다.

### 처리량 크레딧 및 버스트 성능
<a name="SC1ThroughputBurst"></a>

`gp2`처럼 `sc1` 역시 성능 측정에 버스트 버킷 모델을 사용합니다. 볼륨 크기에 따라 볼륨의 기준 처리량, 즉 볼륨이 처리량 크레딧을 누적하는 속도가 결정됩니다. 볼륨 크기는 볼륨의 버스트 처리량, 즉 사용 가능한 크레딧을 소비할 수 있는 속도도 결정합니다. 볼륨이 클수록 기본 및 버스트 처리량이 높습니다. 볼륨에 크레딧이 많을수록 버스트 수준에서 더 오랫동안 I/O를 구동할 수 있습니다.

![\[sc1 버스트 버킷\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/sc1-burst-bucket.png)


처리량 및 처리량 크레딧 한도가 적용되는 `sc1` 볼륨의 사용 가능 처리량은 다음 수식으로 표현됩니다.

```
(Volume size) × (Credit accumulation rate per TiB) = Throughput
```

1TiB `sc1` 볼륨의 경우 버스트 처리량은 80MiB/s로 제한되고, 버킷의 크레딧은 12MiB/s 속도로 채워지며, 최대 1TiB에 해당하는 크레딧을 보유할 수 있습니다.

최대 처리량 한도인 250MiB/s 내에서, 볼륨 크기에 비례하여 이러한 제한이 확장됩니다. 버킷이 고갈된 후 처리량은 TiB당 12MiB/s의 기준 속도로 제한됩니다.

0.125TiB\$116TiB 범위의 볼륨 크기를 기준으로 기준 처리량은 1.5MiB/s\$1192MiB/s(최대)이며, 다음과 같이 16TiB에서 최대값에 도달합니다.

```
           12 MiB/s
16 TiB × ---------- = 192 MiB/s
            1 TiB
```

버스트 처리량은 10MiB/s\$1250MiB/s(한도)이며, 다음과 같이 3.125TiB에서 한도에 도달합니다.

```
             80 MiB/s
3.125 TiB × ----------- = 250 MiB/s
              1 TiB
```

다음 표는 `sc1`의 기준 및 버스트 처리량 값 전체를 보여줍니다.


| 볼륨 크기(TiB) | SC1 기준 처리량(MiB/s) | SC1 버스트 처리량(MiB/s) | 
| --- | --- | --- | 
| 0.125 | 1.5 | 10 | 
| 0.5 | 6 | 40 | 
| 1 | 12 | 80 | 
| 2 | 24 | 160 | 
| 3 | 36 | 240 | 
| 3.125 | 37.5 | 250 | 
| 4 | 48 | 250 | 
| 5 | 60 | 250 | 
| 6 | 72 | 250 | 
| 7 | 84 | 250 | 
| 8 | 96 | 250 | 
| 9 | 108 | 250 | 
| 10 | 120 | 250 | 
| 11 | 132 | 250 | 
| 12 | 144 | 250 | 
| 13 | 156 | 250 | 
| 14 | 168 | 250 | 
| 15 | 180 | 250 | 
| 16 | 192 | 250 | 

다음 다이어그램은 표의 값을 도식화한 것입니다.

![\[sc1 기준 및 버스트 처리량 비교\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/sc1_base_v_burst.png)


**참고**  
콜드 HDD(`sc1`) 볼륨의 스냅샷을 생성하는 경우 스냅샷이 진행되는 동안 성능이 볼륨의 기준 값까지 떨어질 수 있습니다.

CloudWatch 지표 및 경보를 사용하여 버스트 버킷 잔고를 모니터링하는 방법은 [볼륨에 대한 버스트 버킷 밸런스 모니터링](#monitoring_burstbucket-hdd) 섹션을 참조하세요.

## HDD 볼륨 사용 시 성능 고려사항
<a name="EBSVolumeTypes_considerations"></a>

HDD 볼륨 사용 시 최적의 처리량을 달성하려면 다음 사항을 염두에 두고 워크로드를 계획하세요.

### **처리량 최적화 HDD와 콜드 HDD 비교**
<a name="ST1vSC1"></a>

`st1` 및 `sc1`의 버킷 크기는 볼륨 크기에 따라 다르며, 최대 버킷에는 최대 볼륨 스캔에 충분한 토큰이 포함되어 있습니다. 그러나 `st1` 및 `sc1` 볼륨이 더 큰 경우 인스턴스당, 볼륨당 처리량 제한 때문에 볼륨 스캔을 완료하는 시간이 더 오래 걸립니다. 작은 인스턴스에 연결된 볼륨은 `st1` 또는 `sc1` 처리량이 아닌 인스턴스당 처리량에 따라 제한됩니다.

`st1` 및 `sc1`은 모두 99%의 기간 동안 90%의 버스트 처리량에 성능 일관성을 제공하도록 설계되었습니다. 매 시간 총 처리량 목표 99%를 달성하기 위해, 준수하지 않는 기간은 대략적으로 균등하게 분산됩니다.

일반적으로 스캔 시간은 이 수식으로 표현됩니다.

```
 Volume size
------------ = Scan time
 Throughput
```

예를 들어 성능 일관성 보장과 기타 최적화를 고려할 때, 5TiB 볼륨을 사용 중인 `st1` 고객이 전체 볼륨 스캔을 완료하는 데 걸리는 시간은 2.91\$13.27시간으로 예상할 수 있습니다.
+ 최적 스캔 시간

  ```
     5 TiB            5 TiB
  ----------- = ------------------ = 10,486 seconds = 2.91 hours 
   500 MiB/s     0.00047684 TiB/s
  ```
+ 최대 스캔 시간

  ```
    2.91 hours
  -------------- = 3.27 hours
   (0.90)(0.99) <-- From expected performance of 90% of burst 99% of the time
  ```

마찬가지로, 5TiB 볼륨을 사용 중인 `sc1` 고객이 전체 볼륨 스캔을 완료하는 데 걸리는 시간은 5.83\$16.54시간으로 예상됩니다.
+ 최적 스캔 시간

  ```
     5 TiB             5 TiB
  ----------- = ------------------- = 20972 seconds = 5.83 hours 
   250 MiB/s     0.000238418 TiB/s
  ```
+ 최대 스캔 시간

  ```
    5.83 hours
  -------------- = 6.54 hours
   (0.90)(0.99)
  ```

다음 표는 최대 버킷과 충분한 인스턴스 처리량을 가정할 때 다양한 크기의 볼륨에 이상적인 스캔 시간을 보여줍니다.


| 볼륨 크기(TiB) | 버스팅 시 ST1 스캔 시간(단위: 시간)\$1 | 버스팅 시 SC1 스캔 시간(단위: 시간)\$1 | 
| --- | --- | --- | 
| 1 | 1.17 | 3.64 | 
| 2 | 1.17 | 3.64 | 
| 3 | 1.75 | 3.64 | 
| 4 | 2.33 | 4.66 | 
| 5 | 2.91 | 5.83 | 
| 6 | 3.50 | 6.99 | 
| 7 | 4.08 | 8.16 | 
| 8 | 4.66 | 9.32 | 
| 9 | 5.24 | 10.49 | 
| 10 | 5.83 | 11.65 | 
| 11 | 6.41 | 12.82 | 
| 12 | 6.99 | 13.98 | 
| 13 | 7.57 | 15.15 | 
| 14 | 8.16 | 16.31 | 
| 15 | 8.74 | 17.48 | 
| 16 | 9.32 | 18.64 | 

 \$1 이 스캔 시간은 1MiB의 순차 I/O를 수행할 때 4 이상의 평균 대기열 깊이(가장 가까운 정수로 반올림)를 가정합니다.

따라서 빠르게 스캔을 완료해야 하거나(최대 500MiB/s) 하루 안에 여러 건의 전체 볼륨 스캔이 필요한 처리량 중심의 워크로드를 가지고 있는 경우 `st1`을 사용하십시오. 비용을 최적화해야 하고 데이터에 그다지 자주 액세스하지 않으며 250MiB/s 이상의 스캔 성능이 필요하지 않다면 `sc1`을 사용하십시오.

### HDD 기반 소량 읽기/쓰기의 비효율성
<a name="inefficiency"></a>

`st1` 및 `sc1` 볼륨의 성능 모델은 순차 I/O, 높은 처리량의 워크로드 사용, 혼합 IOPS 및 처리량의 워크로드에 허용되는 성능 제공, 소용량 랜덤 I/O 회피에 최적화되어 있습니다.

예를 들어 1MiB 이하의 I/O 요청은 1MiB I/O 크레딧으로 간주됩니다. 그러나 순차 I/O는 1MiB I/O 블록으로 병합되고 1MiB I/O 크레딧으로 간주됩니다.

## 볼륨에 대한 버스트 버킷 밸런스 모니터링
<a name="monitoring_burstbucket-hdd"></a>

`st1` 및 `sc1` 볼륨에 대해 Amazon CloudWatch에서 제공하는 Amazon EBS `BurstBalance` 지표를 사용하여 버스트 버킷 수준을 모니터링할 수 있습니다. 이 지표는 버스트 버킷에 남아 있는 `st1` 및 `sc1`의 처리량 크레딧을 보여줍니다. `BurstBalance` 지표 및 I/O 관련 기타 지표에 대한 자세한 내용은 [Amazon EBS I/O 기능 및 모니터링](ebs-io-characteristics.md) 섹션을 참조하세요. CloudWatch를 사용하면 `BurstBalance` 값이 특정 수준으로 떨어질 때를 알려주는 경보를 설정할 수도 있습니다. 자세한 내용은 [CloudWatch 경보 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)을 참조하세요.

# Amazon EBS 볼륨 제약 조건
<a name="volume_constraints"></a>

Amazon EBS 볼륨의 크기는 블록 데이터 스토리지의 물리 및 산술과 운영 체제(OS) 및 파일 시스템 디자이너의 구현 결정에 의해 제한됩니다.는 서비스의 신뢰성을 보호하기 위해 볼륨 크기에 대한 추가 제한을 AWS 부과합니다.

다음 섹션에서는 EBS 볼륨의 사용 가능한 크기를 제한하고 EBS 볼륨을 구성하기 위한 권장 사항을 제공하는 가장 중요한 요소에 대해 설명합니다.

**Topics**
+ [스토리지 용량](#ebs-storage-capacity)
+ [서비스 제한](#aws_limits)
+ [파티셔닝 체계](#partitioning)
+ [데이터 블록 크기](#block_size)

## 스토리지 용량
<a name="ebs-storage-capacity"></a>

다음 표에는 4,096바이트 블록 크기를 가정할 때 Amazon EBS 가장 일반적으로 사용되는 파일 시스템의 이론적 스토리지 용량과 구현된 스토리지 용량이 요약되어 있습니다.


| 파티셔닝 체계 | 최대 주소 지정 가능한 블록  | 이론적 최대 크기(블록 x 블록 크기) | Ext4에서 구현되는 최대 크기\$1 | XFS에서 구현되는 최대 크기\$1\$1 | NTFS에서 구현되는 최대 크기 | EBS에서 지원되는 최대 크기 | 
| --- | --- | --- | --- | --- | --- | --- | 
| MBR | 232 | 2TiB | 2TiB | 2TiB | 2TiB | 2TiB | 
| GPT | 264 |  64ZiB  | 1EiB =1,0242 TiB (RHEL7에서 인증된 50TiB) |  500TiB (RHEL7에서 인증됨)  | 256TiB | 64TiB † | 

\$1 [Ext4 Howto](https://archive.kernel.org/oldwiki/ext4.wiki.kernel.org/index.php/Ext4_Howto.html) 및 [Red Hat Enterprise Linux의 파일 및 시스템 크기 제한은 무엇입니까?](https://access.redhat.com/solutions/1532)

\$1\$1 [Red Hat Enterprise Linux의 파일 및 시스템 크기 제한은 무엇입니까?](https://access.redhat.com/solutions/1532)

† `io2` Block Express 볼륨은 GPT 파티션에 대해 최대 64TiB를 지원합니다. 자세한 내용은 [프로비저닝된 IOPS SSD(`io2`) Block Express 볼륨](provisioned-iops.md#io2-block-express) 단원을 참조하십시오.

## 서비스 제한
<a name="aws_limits"></a>

Amazon EBS는 데이터 센터에서 대량으로 분산되는 스토리지를 가상 하드 디스크 드라이브로 추상화합니다. EC2 인스턴스에 설치된 운영 체제에서 연결된 EBS 볼륨은 512바이트 디스크 섹터가 포함된 물리적 하드 디스크 드라이브로 나타납니다. OS는 스토리지 관리 유틸리티를 통해 해당 가상 섹터에 데이터 블록(또는 클러스터)을 할당하는 작업을 관리합니다. 할당은 마스터 부트 레코드(MBR) 또는 GUID 파티션 테이블(GPT)과 같은 볼륨 파티셔닝 체계에 따라 수행되며 설치된 파일 시스템(ext4, NTFS 등)의 기능 내에서 수행됩니다.

EBS는 가상 디스크 섹터에 포함된 데이터를 인식하지 않으며, 섹터의 무결성을 보장할 뿐입니다. 즉 AWS , 작업과 OS 작업은 서로 독립적입니다. 볼륨 크기를 선택할 때는 다음과 같은 경우의 기능과 한계를 알아 두세요.
+ EBS는 현재 64TiB의 최대 볼륨 크기를 지원합니다. 즉, EBS 볼륨의 크기를 64TiB까지 0000들 수 있지만, OS가 해당 용량을 모두 인식하는지 여부는 자체적인 설계 특성 및 볼륨 파티셔닝 방법에 따라 결정됩니다.
+ 부트 볼륨은 MBR 또는 GPT 파티셔닝 체계를 사용해야 합니다. 인스턴스를 시작하는 AMI에 따라 부트 모드와 부트 볼륨에 사용하는 파티션 체계가 차례로 결정됩니다.

  **MBR**에서는 부트 볼륨의 크기가 2TiB로 제한됩니다.

  **GPT**에서는 GRUB2(Linux) 또는 UEFI 부트 모드(Windows)와 함께 사용하면 부트 볼륨의 크기가 64TiB까지 될 수 있습니다.

  자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 단원을 참조하십시오.
+ 2TiB(2,048GiB) 이상의 Windows 비부트 볼륨에서 전체 볼륨에 액세스하려면 GPT 파티션 테이블을 사용해야 합니다.

## 파티셔닝 체계
<a name="partitioning"></a>

다른 영향 중에서도 특히, 파티셔닝 체계는 단일 볼륨에서 여러 논리적 데이터 블록을 고유하게 주소 지정할 수 있는 방법을 결정합니다. 자세한 내용은 [데이터 블록 크기](#block_size) 섹션을 참조하세요. 사용 중인 일반적인 파티셔닝 체계는 *마스터 부트 레코드*(MBR)와 *GUID 파티션 테이블*(GPT)입니다. 이러한 체계 간의 중요한 차이점은 다음과 같이 요약할 수 있습니다.

### MBR
<a name="mbr-partitioning"></a>

MBR은 32비트 데이터 구조를 사용하여 블록 주소를 저장합니다. 따라서 각 데이터 블록은 232개의 가능한 정수 중 하나와 매핑됩니다. 주소 지정 가능한 최대 볼륨 크기는 다음 공식에 의해 지정됩니다.

```
232 × Block size
```

MBR 볼륨의 블록 크기는 관례적으로 512바이트로 제한됩니다. 따라서:

```
232 × 512 bytes = 2 TiB
```

MBR 볼륨에 대한 이 2TiB 제한을 증가시키기 위한 엔지니어링 해결 방법은 업계에서 광범위하게 채택되는 방식과 일치하지 않습니다. 따라서 Linux와 Windows는에서 크기가 더 큰 것으로 AWS 표시되더라도 MBR 볼륨이 2TiB보다 큰 것으로 감지하지 않습니다.

### GPT
<a name="gpt-partitioning"></a>

GPT는 64비트 데이터 구조를 사용하여 블록 주소를 저장합니다. 따라서 각 데이터 블록은 264개의 가능한 정수 중 하나와 매핑됩니다. 주소 지정 가능한 최대 볼륨 크기는 다음 공식에 의해 지정됩니다.

```
264 × Block size
```

GPT 볼륨의 블록 크기는 일반적으로 4,096바이트입니다. 따라서:

```
264 × 4,096 bytes
   = 264 × 212 bytes
   = 270 × 26 bytes
   = 64 ZiB
```

실제 컴퓨터 시스템은 이러한 이론적 최대 크기와 비슷한 크기를 지원하지 않습니다. 구현되는 파일 시스템 크기는 현재 ext4의 경우 50TiB, NTFS의 경우 256TiB로 제한됩니다.

## 데이터 블록 크기
<a name="block_size"></a>

최신 하드 드라이브의 데이터 스토리지는 *논리적 블록 주소 지정*을 통해 관리됩니다. 논리적 블록 주소 지정은 운영 체제가 기본 하드웨어에 대한 많은 지식 없이 논리적 블록에서 데이터를 읽고 쓸 수 있도록 하는 추상적 계층입니다. 운영 체제는 스토리지 디바이스를 사용하여 블록을 물리적 섹터에 매핑하고 섹터 크기의 배수인 데이터 블록을 사용하여 디스크에서 데이터를 읽고 씁니다.

Amazon EBS는 다음 요소에 따라 운영 체제에 512바이트 또는 4,096바이트(4KiB) 물리적 섹터를 광고합니다.

1. Amazon EC2 인스턴스 유형

1. 운영 체제

1. NVMe 드라이버 버전

Amazon EBS는 모든 요소가 지원하는 경우에만 4-KiB 물리적 섹터를 광고합니다. 이 중 하나라도 4-KiB 물리적 섹터를 지원하지 않는 경우, Amazon EBS는 512바이트 물리적 섹터를 광고합니다.

**Amazon EC2 인스턴스 유형 지원**  
다음 표는 Amazon EBS가 다양한 Amazon EC2 인스턴스 유형에 대해 광고하는 섹터 크기를 보여줍니다.


| 인스턴스 유형 | Linux | Windows | 
| --- | --- | --- | 
| 모든 Xen 기반 인스턴스 유형 | Amazon EBS에서는 항상 512바이트 물리적 섹터를 광고합니다. | 
| A1 \$1 C5 \$1 C5a \$1 C5ad \$1 C5d \$1 C5n \$1 C6g \$1 C6gd \$1 DL1 \$1 D3 \$1 D3en \$1 G4ad \$1 G4dn \$1 G5 \$1 G5g \$1 I3 \$1 I3en \$1 Inf1 \$1 M5 \$1 M5a \$1 M5ad \$1 M5d \$1 M5dn \$1 M5n \$1 M5zn \$1 M6g \$1 M6gd \$1 P3dn \$1 P4d \$1 P4de \$1 R5 \$1 R5a \$1 R5ad \$1 R5d \$1 R5dn \$1 R5n \$1 R6g \$1 R6gd \$1 T3 \$1 T3a \$1 T4g \$1 U-12tb1 \$1 U-18tb1 \$1 U-24tb1 \$1 U-3tb1 \$1 U-6tb1 \$1 U-9tb1 \$1 X2gd \$1 X2iezn \$1 VT1 \$1 Z1d | Amazon EBS에서는 항상 512바이트 물리적 섹터를 광고합니다. | Amazon EBS는 512바이트 또는 4-KiB 물리적 섹터를 광고합니다. 1 | 
| 기타 모든 Nitro 기반 인스턴스 | Amazon EBS는 512바이트 또는 4-KiB 물리적 섹터를 광고합니다. 1 | 

1 운영 체제 지원에 따라 달라집니다. 다음 단원을 참조하세요.

**운영 체제 지원**  
다음 표는 운영 체제 예제와 Amazon EBS에서 광고하는 해당 물리적 섹터 크기를 제공합니다. 이 목록은 **전체 목록이 아닙니다**. 운영 체제에서 Amazon EBS가 광고한 물리적 섹터 크기를 확인하는 것이 좋습니다.




| 운영 체제 | 광고된 물리적 섹터 크기 | 
| --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/volume_constraints.html)  | 512B | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/volume_constraints.html)  | 4KiB | 

1 Windows 워크로드의 경우 최신 버전의 [AWS NVMe 드라이버](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html)를 사용하고 있는지 확인하세요. Amazon EBS는 AWS NVMe 드라이버 버전 1.4.1 이상을 사용하여 44-KiB 물리적 섹터를 광고합니다.

### 비 기본 블록 크기
<a name="block-size-additional"></a>

논리 데이터 블록의 업계 기본 크기는 현재 4KiB입니다. 특정 워크로드는 더 작거나 더 큰 블록 크기에서 이점을 얻을 수 있기 때문에 파일 시스템은 포맷 중 지정할 수 없는 비 기본 블록 크기를 지원합니다. 비 기본 블록 크기를 사용해야 하는 시나리오(예: 최적화)는 이 주제의 범위를 벗어나지만, 블록 크기 선택은 볼륨의 스토리지 용량에 영향을 미칩니다. 다음 표는 이론적 스토리지 용량을 블록 크기의 함수로 보여줍니다. 그러나 현재 EBS에서 부과하는 볼륨 크기(io2 Block Express의 경우 64TiB)에 대한 제한은 16KiB 데이터 블록에서 지원되는 최대 크기와 동일하다는 점에 유의하세요.


| 블록 크기 | 최대 볼륨 크기 | 
| --- | --- | 
| 4KiB(기본값) | 16TiB | 
| 8KiB | 32TiB | 
| 16KiB | 64TiB | 
| 32KiB | 128TiB | 
| 64KiB(최대) | 256TiB | 

# Amazon EBS 볼륨 및 NVMe
<a name="nvme-ebs-volumes"></a>

[AWS Nitro 시스템](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에 구축된 Amazon EC2 인스턴스에서는 Amazon EBS 볼륨이 NVMe 블록 디바이스로 표시됩니다. NVMe 블록 디바이스로 노출된 Amazon EBS 볼륨의 성능과 기능을 완전히 활용하려면 EC2 인스턴스에 AWS NVMe 드라이버가 설치되어 있어야 합니다. 모든 최신 AWS Windows 및 Linux AMI에는 기본적으로 AWS NVMe 드라이버가 설치되어 있습니다.

AWS NVMe 드라이버가 설치되지 않은 AMI를 사용하는 경우 수동으로 설치할 수 있습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [AWS NVMe 드라이버](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html)를 참조하세요.

**Linux 인스턴스**  
디바이스 이름은 `/dev/nvme0n1`, `/dev/nvme1n1` 등입니다. 블록 디바이스 매핑에서 사용자가 지정하는 디바이스 이름은 NVMe 디바이스 이름(`/dev/nvme[0-26]n1`)을 이용해 바뀝니다. 블록 디바이스 드라이버는 블록 디바이스 매핑에서 볼륨에 대해 지정한 순서와는 다른 순서로 NVMe 디바이스 이름을 할당할 수 있습니다.

**Windows 인스턴스**  
볼륨을 인스턴스에 연결할 때 해당 볼륨에 대한 디바이스 이름을 포함합니다. 이 디바이스 이름은 Amazon EC2에서 사용합니다. 인스턴스의 블록 디바이스 드라이버는 볼륨이 마운트될 때 실제 볼륨 이름을 할당합니다. 할당된 이름은 Amazon EC2에서 사용하는 이름과 다를 수 있습니다.

**Topics**
+ [Amazon EBS 볼륨을 NVMe 디바이스 이름에 매핑](identify-nvme-ebs-device.md)
+ [Amazon EBS 볼륨에 대한 NVMe I/O 작업 시간 제한](timeout-nvme-ebs-volumes.md)
+ [Amazon EBS 볼륨에 대한 NVMe Abort 명령](abort-command.md)

# Amazon EBS 볼륨을 NVMe 디바이스 이름에 매핑
<a name="identify-nvme-ebs-device"></a>

EBS는 단일 루트 I/O 가상화(SR-IOV)를 사용하여 NVMe 사양을 사용하는 Nitro 기반 인스턴스에서 볼륨 연결을 제공합니다. 이러한 디바이스는 운영 체제의 표준 NVMe 드라이버에 의존합니다. 이러한 드라이버는 일반적으로 인스턴스 부팅 중에 연결된 디바이스를 검색하고, 블록 디바이스 매핑에서 디바이스가 지정되는 방식이 아닌 디바이스가 응답하는 순서에 따라 디바이스 노드를 생성합니다.

## Linux 인스턴스
<a name="ebs-nvme-linux"></a>

Linux에서 NVMe 디바이스 이름은 `/dev/nvme<x>n<y>` 패턴을 따릅니다. <x>는 열거 순서이고, EBS의 경우 <y>는 1입니다. 경우에 따라 디바이스는 후속 인스턴스가 시작되는 것과 다른 순서로 검색에 응답하기도 하는데, 이로 인해 디바이스 이름이 변경됩니다. 또한 블록 디바이스 드라이버에 의해 할당된 디바이스 이름은 블록 디바이스 매핑에 지정된 이름과 다를 수 있습니다.

인스턴스 내 EBS 볼륨에 대해 다음과 같은 안정된 식별자를 사용하는 것이 좋습니다.
+ Nitro 기반 인스턴스의 경우, EBS 볼륨을 연결하거나 `AttachVolume` 또는 `RunInstances` API 호출이 NVMe 컨트롤러 식별의 벤더별 데이터 필드에서 캡처되는 동안 Amazon EC2 콘솔에 지정된 블록 디바이스 매핑. 2017.09.01 버전 이후의 Amazon Linux AMI를 사용하는 경우, 이 데이터를 읽고 블록 디바이스 매핑의 심볼 링크를 생성하는 `udev` 규칙이 제공됩니다.
+ EBS 볼륨 ID와 탑재 지점은 인스턴스 상태 변경 간에 유지됩니다. NVMe 디바이스 이름은 인스턴스 부팅 중 디바이스가 응답하는 순서에 따라 변경될 수 있습니다. 일관된 디바이스 식별을 위해 EBS 볼륨 ID와 탑재 지점을 사용하는 것이 좋습니다.
+ NVMe EBS 볼륨에는 디바이스 식별에서 일련 번호로 설정된 EBS 볼륨 ID가 있습니다. `lsblk -o +SERIAL` 명령을 사용하여 일련 번호를 나열합니다.
+ NVMe 디바이스 이름 형식은 EBS 볼륨이 인스턴스 시작 도중에 연결되었는지 아니면 인스턴스 시작 후에 연결되었는지에 따라 달라질 수 있습니다. 인스턴스 시작 후 연결된 볼륨의 NVMe 디바이스 이름에는 `/dev/` 접두사가 포함되지만, 인스턴스 시작 중에 연결된 볼륨의 NVMe 디바이스 이름에는 `/dev/` 접두사가 포함되지 않습니다.
  + Amazon Linux 또는 FreeBSD AMI의 경우, NVMe 디바이스 이름의 일관성을 유지하기 위해 `sudo ebsnvme-id /dev/nvme0n1 -u` 명령을 사용합니다.
  + 다른 배포판의 경우 `sudo nvme id-ctrl -V /dev/nvme0n1` 명령을 사용하여 NVMe 디바이스 이름을 확인합니다. `--vendor-specific` 명령 옵션을 포함해야 할 수 있습니다.
+ 디바이스를 포맷할 때 파일 시스템 수명 기간 동안 지속되는 UUID가 생성됩니다. 이와 동시에 디바이스 레이블을 지정할 수 있습니다. 자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 및 [잘못된 볼륨에서 부팅](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-booting-from-wrong-volume.html)을 참조하세요.

**Amazon Linux AMI**  
Amazon Linux AMI 2017.09.01 이상(Amazon Linux 2 포함)에서는 다음과 같이 **ebsnvme-id** 명령을 실행하여 NVMe 디바이스 이름을 볼륨 ID와 디바이스 이름에 매핑할 수 있습니다.

다음 예는 인스턴스 시작 중에 연결된 볼륨에 대한 명령과 출력을 보여줍니다. NVMe 디바이스 이름에 `/dev/` 접두사가 포함되지 않은 것을 알 수 있습니다.

```
[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme0n1
Volume ID: vol-01324f611e2463981
sda
```

다음 예는 인스턴스 시작 후에 연결된 볼륨에 대한 명령과 출력을 보여줍니다. NVMe 디바이스 이름에 `/dev/` 접두사가 포함된 것을 알 수 있습니다.

```
[ec2-user ~]$ sudo /sbin/ebsnvme-id /dev/nvme1n1
Volume ID: vol-064784f1011136656
/dev/sdf
```

또한 Amazon Linux는 블록 디바이스 매핑의 디바이스 이름에서 NVMe 디바이스 이름으로 심볼 링크를 만듭니다(예: `/dev/sdf`).

**FreeBSD AMI**  
FreeBSD 12.2-RELEASE부터 위와 같이 **ebsnvme-id** 명령을 실행할 수 있습니다. NVMe 디바이스의 이름 (예: `nvme0`)이나 디스크 디바이스(예: `nvd0` 또는 `nda0`)의 이름을 전달합니다. FreeBSD는 디스크 디바이스에 대한 심볼 링크(예: `/dev/aws/disk/ebs/`*volume\$1id*)도 생성합니다.

**기타 Linux AMI**  
커널 버전 4.2 이상에서는 다음과 같이 **nvme id-ctrl** 명령을 실행하여 NVMe 디바이스 이름을 볼륨 ID에 매핑할 수 있습니다. 먼저 Linux 배포용 패키지 관리 도구를 사용하여 NVMe 명령줄 패키지 `nvme-cli`를 설치합니다. 다른 배포의 다운로드 및 설치 지침은 배포 관련 설명서를 참조하세요.

다음 예에서는 인스턴스 시작 중에 연결된 볼륨의 볼륨 ID와 NVMe 디바이스 이름을 가져옵니다. NVMe 디바이스 이름에 `/dev/` 접두사가 포함되지 않은 것을 알 수 있습니다. NVMe 컨트롤러 벤더별 확장자(컨트롤러 식별의 바이트 384:4095)를 통해 디바이스 이름을 구할 수 있습니다.

```
[ec2-user ~]$ sudo nvme id-ctrl -V /dev/nvme0n1
NVME Identify Controller:
vid     : 0x1d0f
ssvid   : 0x1d0f
sn      : vol01234567890abcdef
mn      : Amazon Elastic Block Store
...
0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "sda..."
```

다음 예에서는 인스턴스 시작 후에 연결된 볼륨의 볼륨 ID와 NVMe 디바이스 이름을 가져옵니다. NVMe 디바이스 이름에 `/dev/` 접두사가 포함된 것을 알 수 있습니다.

```
[ec2-user ~]$ sudo nvme id-ctrl -V /dev/nvme1n1
NVME Identify Controller:
vid     : 0x1d0f
ssvid   : 0x1d0f
sn      : volabcdef01234567890
mn      : Amazon Elastic Block Store
...
0000: 2f 64 65 76 2f 73 64 6a 20 20 20 20 20 20 20 20 "/dev/sdf..."
```

**lsblk** 명령은 사용 가능한 디바이스와 각각의 마운트 지점(해당되는 경우)을 나열합니다. 그러면 사용할 올바른 디바이스 이름을 판단할 수 있습니다. 이 예에서 `/dev/nvme0n1p1`은 루트 디바이스에 마운트되어 있고 `/dev/nvme1n1`은 연결되었지만 마운트되어 있지 않습니다.

```
[ec2-user ~]$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme1n1       259:3   0  100G  0 disk
nvme0n1       259:0   0    8G  0 disk
  nvme0n1p1   259:1   0    8G  0 part /
  nvme0n1p128 259:2   0    1M  0 part
```

## Windows 인스턴스
<a name="ebs-nvme-windows"></a>

**ebsnvme-id** 명령을 실행하여 NVMe 디바이스 디스크 번호를 EBS 볼륨 ID와 디바이스 이름에 매핑할 수 있습니다. 기본적으로 모든 EBS NVMe 디바이스가 열거되어 있습니다. 디스크 번호를 특정 디바이스의 열거 번호로 전달할 수 있습니다. `ebsnvme-id` 도구는 `C:\ProgramData\Amazon\Tools`에 위치한 최신 AWS 제공 Windows Server AMI에 포함되어 있습니다.

AWS NVMe 드라이버 패키지 `1.5.0,`부터 드라이버 패키지에 의해 최신 버전의 `ebsnvme-id` 도구가 설치됩니다. 최신 버전은 드라이버 패키지에서만 사용할 수 있습니다. `ebsnvme-id` 도구의 독립 실행형 다운로드 링크에서는 업데이트를 더는 받지 않습니다. 독립 실행형 링크를 통해 사용할 수 있는 마지막 버전은 [ebsnvme-id.zip](https://s3.amazonaws.com/ec2-windows-drivers-downloads/EBSNVMeID/Latest/ebsnvme-id.zip) 링크를 사용하여 다운로드하고 `ebsnvme-id.exe` 액세스 권한이 있는 Amazon EC2 인스턴스에 내용을 추출할 수 있는 `1.1.0`입니다.

```
PS C:\ProgramData\Amazon\Tools> ebsnvme-id.exe
Disk Number: 0
Volume ID: vol-0d6d7ee9f6e471a7f
Device Name: sda1

Disk Number: 1
Volume ID: vol-03a26248ff39b57cf
Device Name: xvdd

Disk Number: 2
Volume ID: vol-038bd1c629aa125e6
Device Name: xvde

Disk Number: 3
Volume ID: vol-034f9d29ec0b64c89
Device Name: xvdb

Disk Number: 4
Volume ID: vol-03e2dbe464b66f0a1
Device Name: xvdc
```

```
PS C:\ProgramData\Amazon\Tools> ebsnvme-id.exe 4
Disk Number: 4
Volume ID: vol-03e2dbe464b66f0a1
Device Name: xvdc
```

# Amazon EBS 볼륨에 대한 NVMe I/O 작업 시간 제한
<a name="timeout-nvme-ebs-volumes"></a>

대부분의 운영 체제는 I/O 작업이 NVMe 디바이스에 제출되는 시간에 제한을 두고 있습니다.

**Linux 인스턴스**  
Linux에서 Nitro 기반 인스턴스에 연결된 EBS 볼륨은 운영 체제에서 제공되는 기본 NVMe 드라이버를 사용합니다. 대부분의 운영 체제는 I/O 작업이 NVMe 디바이스에 제출되는 시간에 제한을 두고 있습니다. 기본 제한 시간은 30초이며 `nvme_core.io_timeout` 부트 파라미터를 이용해 제한 시간을 변경할 수 있습니다. Linux 커널 4.6 이전 버전의 경우 대개 이 파라미터는 `nvme.io_timeout`입니다.

I/O 지연 시간이 이 제한 시간 파라미터의 값을 초과하면 Linux NVMe 드라이버는 I/O에 실패하고 파일 시스템 또는 애플리케이션에 오류를 반환합니다. I/O 작업에 따라 파일 시스템 또는 애플리케이션에서 오류를 다시 시도할 수 있습니다. 경우에 따라 파일 시스템이 읽기 전용으로 다시 탑재될 수 있습니다.

Xen 인스턴스에 연결된 EBS 볼륨과 비슷한 경험을 하기 위해서는 `nvme_core.io_timeout`을 가능한 최대값으로 설정하는 것이 좋습니다. 현재 커널의 경우 최대 4294967295인 것에 비해 이전 커널의 경우 최대 255입니다. Linux 버전에 따라 제한 시간이 이미 지원되는 최대값으로 설정되었을 수도 있습니다. 예를 들어 Amazon Linux AMI 2017.09.01 이상에서는 제한 시간이 기본적으로 4294967295로 설정됩니다.

제안된 최대 값보다 더 큰 값을 `/sys/module/nvme_core/parameters/io_timeout`에 쓰고 파일을 저장하려고 할 때 숫자 결과가 범위를 벗어났습니다 오류 발생 여부를 확인하여 Linux 배포에 대한 최대값을 확인할 수 있습니다.

**Windows 인스턴스**  
Windows에서 기본 제한 시간은 60초이며 최대 허용 시간은 255초입니다. [SCSI 미니포트 드라이버를 위한 레지스트리 항목](https://learn.microsoft.com/en-us/previous-versions/windows/drivers/storage/registry-entries-for-scsi-miniport-drivers)에 설명된 절차를 사용하여 `TimeoutValue` 디스크 클래스 레지스트리 설정을 수정할 수 있습니다.

# Amazon EBS 볼륨에 대한 NVMe Abort 명령
<a name="abort-command"></a>

`Abort` 명령은 이전에 컨트롤러에 제출된 특정 명령을 종료하기 위해 실행되는 NVMe 관리 명령입니다. 일반적으로 디바이스 드라이버에서 I/O 작업 제한 시간 임계값을 초과한 스토리지 디바이스에 대해 이 명령을 실행합니다.

기본적으로 `Abort` 명령을 지원하는 Amazon EC2 인스턴스 유형은 연결된 Amazon EBS 볼륨에 `Abort` 명령이 실행될 때 컨트롤러에 이전에 제출된 특정 명령을 종료합니다. `Abort` 명령을 지원하지 않는 Amazon EC2 인스턴스는 연결된 Amazon EBS 볼륨에 `Abort` 명령이 실행될 때 아무런 조치도 취하지 않습니다.

`Abort` 명령은 다음에서 지원됩니다.
+ NVMe 디바이스 버전 1.4 이상의 Amazon EBS 디바이스.
+ Xen 기반 인스턴스 유형 및 다음 Nitro 기반 인스턴스 유형을 **제외**한 모든 Amazon EC2 인스턴스:
  + 범용: A1 \$1 M5 \$1 M5a \$1 M5ad \$1 M5d \$1 M5dn \$1 M5n \$1 M5zn \$1 M6g \$1 M6gd \$1 Mac1 \$1 Mac2 \$1 T3 \$1 T3a \$1 T4g
  + 컴퓨팅 최적화: C5 \$1 c5a \$1 C5ad \$1 C5d \$1 C5n \$1 C6g \$1 C6gd
  + 메모리 최적화: R5 \$1 R5a \$1 R5ad \$1 R5d \$1 R5dn \$1 R5n \$1 R6g \$1 R6gd \$1 U-12tb1 \$1 U-18tb1 \$1 U-24tb1 \$1 U-3tb1 \$1 U-6tb1 \$1 U-9tb1 \$1 X2gd \$1 X2iezn \$1 Z1d
  + 스토리지 최적화: D3 \$1 D3en \$1 I3en
  + 가속 컴퓨팅: DL1 \$1 G4ad \$1 G4dn \$1 G5 \$1 G5g \$1 Inf1 \$1 P3dn \$1 P4d \$1 P4de \$1 VT1

자세한 내용은 [NVM Express Base Specification](https://nvmexpress.org/wp-content/uploads/NVM-Express-1_4-2019.06.10-Ratified.pdf)의 **5.1 Abort command** 섹션을 참조하세요.

# Amazon EBS 볼륨 수명 주기
<a name="ebs-volume-lifecycle"></a>

Amazon EBS 볼륨의 수명 주기는 생성 프로세스로 시작합니다. Amazon EBS 스냅샷에서 볼륨을 생성하거나 빈 볼륨을 생성할 수 있습니다. 볼륨을 사용하려면 먼저 볼륨과 동일한 가용 영역에 있는 하나 이상의 Amazon EC2 인스턴스에 연결해야 합니다. 여러 볼륨을 하나의 인스턴스에 연결할 수 있습니다. 필요하면 하나의 인스턴스에서 볼륨을 분리한 다음에 다른 인스턴스에 연결할 수 있습니다. 스토리지 요구 사항이 변경되면 언제든지 볼륨의 크기 또는 성능을 수정할 수 있습니다. Amazon EBS 스냅샷을 생성하여 볼륨의 특정 시점 백업을 생성할 수 있습니다. 더 이상 볼륨이 필요하지 않으면 관련 스토리지 비용이 발생하지 않도록 삭제할 수 있습니다.

다음 이미지에서는 볼륨 수명 주기의 일부로 볼륨에서 수행할 수 있는 작업을 보여줍니다. 인스턴스에 연결하고 운영 체제 명령을 실행하여 수행하는 작업도 있습니다. 예를 들면 볼륨 형식 지정, 볼륨 탑재, 파티션 관리, 여유 디스크 공간 보기 등이 있습니다.

![\[EBS 볼륨의 수명 주기입니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/volume-lifecycle.png)


**Topics**
+ [볼륨 생성](ebs-creating-volume.md)
+ [볼륨 복사](ebs-copying-volume.md)
+ [인스턴스에 볼륨 연결](ebs-attaching-volume.md)
+ [여러 인스턴스에 볼륨 연결](ebs-volumes-multi.md)
+ [볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md)
+ [볼륨 세부 정보 보기](ebs-describing-volumes.md)
+ [볼륨 수정](ebs-modify-volume.md)
+ [인스턴스에서 볼륨 분리](ebs-detaching-volume.md)
+ [볼륨 삭제](ebs-deleting-volume.md)

# Amazon EBS 볼륨 생성
<a name="ebs-creating-volume"></a>

Amazon EBS 볼륨을 생성한 다음, 동일한 가용 영역에 있는 모든 EC2 인스턴스에 연결할 수 있습니다.

**빈 볼륨을 생성**하거나 Amazon EBS 스냅샷에서 **볼륨을 생성**할 수 있습니다. 스냅샷에서 생성하는 볼륨은 해당 스냅샷을 생성하는 데 사용된 볼륨과 정확히 일치합니다.

**볼륨 초기화**  
스냅샷에서 볼륨을 생성하는 경우 스토리지 블록에 액세스하려면 먼저 Amazon S3에서 스냅샷의 스토리지 블록을 다운로드하여 볼륨에 기록해야 액세스할 수 있습니다. 이 프로세스를 볼륨 초기화라고 합니다. 이 시간 동안 볼륨에 I/O 지연 시간이 증가합니다. 모든 스토리지 블록을 다운로드하고 볼륨에 기록한 후에만 최대 볼륨 성능이 구현됩니다.

기본 볼륨 초기화 속도는 초기화 프로세스 내내 변동하므로 완료 시간을 예측할 수 없습니다.

볼륨 초기화와 관련된 성능 영향을 최소화하려면 볼륨 초기화를 위한 Amazon EBS 프로비저닝된 속도(볼륨 초기화 속도) 또는 빠른 스냅샷 복원을 사용할 수 있습니다. 자세한 내용은 [Amazon EBS 볼륨 초기화](initalize-volume.md) 단원을 참조하십시오.

**볼륨 암호화**  
볼륨의 암호화 상태는 계정의 [기본적으로 암호화 활성화](encryption-by-default.md) 여부와 스냅샷의 암호화 상태에 따라 달라집니다. 다음 표에는 가능한 암호화 결과가 요약되어 있습니다.


| 암호화 기본 제공 | 스냅샷 사용 여부 | 볼륨 암호화 결과 | Note | 
| --- | --- | --- | --- | 
| 비활성화됨 | 아니요 | 선택적 암호화 | 암호화를 활성화하면 사용할 KMS 키를 지정할 수 있습니다. 암호화를 활성화하지만 KMS 키를 지정하지 않으면 AWS 관리형 키 (aws/ebs)가 사용됩니다. | 
| 비활성화됨 | 예, 암호화되지 않음 | 선택적 암호화 | 암호화를 활성화하면 사용할 KMS 키를 지정할 수 있습니다. 암호화를 활성화하지만 KMS 키를 지정하지 않으면 AWS 관리형 키 (aws/ebs)가 사용됩니다. | 
| 비활성화됨 | 예, 암호화됨 | 자동 암호화 | 사용할 KMS 키를 지정할 수 있습니다. KMS 키를 지정하지 않으면 소스 스냅샷과 동일한 KMS 키를 사용하여 볼륨이 암호화됩니다. | 
| 활성화됨 | 아니요 | 자동 암호화 | 사용할 KMS 키를 지정할 수 있습니다. KMS 키를 지정하지 않으면 기본적으로 암호화에 지정된 키가 사용됩니다. | 
| 활성화됨 | 예, 암호화되지 않음 | 자동 암호화 | 사용할 KMS 키를 지정할 수 있습니다. KMS 키를 지정하지 않으면 기본적으로 암호화에 지정된 키가 사용됩니다. | 
| 활성화됨 | 예, 암호화됨 | 자동 암호화 | 사용할 KMS 키를 지정할 수 있습니다. KMS 키를 지정하지 않으면 볼륨은 소스 스냅샷(콘솔)과 동일한 키 또는 기본적으로 암호화에 지정된 키(CLI/API)를 사용하여 암호화됩니다. | 

**추가 고려 사항**
+ 볼륨은 동일한 가용 영역의 인스턴스에 연결되어야 합니다.
+ 볼륨은 `available` 상태로 전환된 후에만 사용할 수 있습니다.
+ 콘솔을 사용하여 볼륨을 생성하는 경우 `gp3`이 기본 볼륨 유형입니다. 명령줄 도구, API 및 SDK의 경우 `gp2`가 기본 볼륨 유형입니다.
+ Outpost에서 실행되는 인스턴스와 함께 볼륨을 사용하려면 인스턴스와 동일한 Outpost에서 볼륨을 생성해야 합니다.
+ Windows 인스턴스에서 사용할 볼륨을 생성하고 볼륨이 2048GiB보다 큰 경우 GPT 파티션 테이블을 사용하도록 볼륨을 구성해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 제약 조건](volume_constraints.md) 및 [2TB보다 큰 디스크에 대한 Windows 지원](https://learn.microsoft.com/en-us/troubleshoot/windows-server/backup-and-storage/support-for-hard-disks-exceeding-2-tb)을 참조하세요.
+ 볼륨은 Amazon EC2 인스턴스를 시작하여 간접적으로 생성될 수도 있습니다. 인스턴스를 시작하는 데 사용된 AMI 또는 인스턴스 시작 요청 자체에 Amazon EBS 볼륨에 대한 블록 디바이스 매핑이 포함될 수 있습니다. 자세한 내용은 [블록 디바이스 매핑](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html) 섹션을 참조하세요.

------
#### [ Console ]

**볼륨을 생성하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택한 다음 **볼륨 생성**을 선택합니다.

1. (*Outpost 고객만 해당*) **Outpost ARN**에 대해 볼륨을 생성할 AWS Outpost의 ARN을 입력합니다.

1. **볼륨 유형(Volume type)**에서 생성할 볼륨 유형을 선택합니다. 사용 가능한 볼륨 유형에 대한 자세한 내용은 [Amazon EBS 볼륨 유형](ebs-volume-types.md) 섹션을 참조하세요.

1. [**크기(Size)**]에 볼륨 크기를 GiB 단위로 입력합니다. 자세한 내용은 [Amazon EBS 볼륨 제약 조건](volume_constraints.md) 단원을 참조하십시오.

1. (*`io1`, `io2` 및 `gp3`에만 해당*) **IOPS**에 볼륨이 제공해야 하는 최대 초당 입출력 작업량(IOPS) 수를 입력합니다.

1. (*`gp3`에만 해당*) **처리량**에 볼륨에서 제공해야 하는 처리량(MiB/s)을 입력합니다.

1. **가용 영역**에서 볼륨을 생성할 가용 영역을 선택합니다.

1. **스냅샷 ID**에서 다음 중 하나를 수행합니다.
   + 빈 볼륨을 생성하려면 기본값(**스냅샷에서 볼륨을 생성하지 않음**)을 유지합니다.
   + 스냅샷에서 볼륨을 생성하려면 사용할 스냅샷을 선택합니다.

1. **볼륨 초기화 속도**에 스냅샷을 선택한 경우, 선택적으로 스냅샷 블록을 Amazon S3에서 해당 볼륨으로 생성 후 다운로드할 볼륨 초기화 속도를 MiB/s 단위로 지정할 수 있습니다. 자세한 내용은 [볼륨 초기화에 Amazon EBS 프로비저닝 속도 사용](initalize-volume.md#volume-initialization-rate) 단원을 참조하십시오. 기본 초기화 속도 또는 빠른 스냅샷 복원(선택한 스냅샷에 대해 활성화된 경우)을 사용하려면 속도를 지정하지 마세요.

1. (*`io1` 및 `io2`에만 해당*) Amazon EBS 다중 연결의 볼륨을 활성화하려면 **다중 연결 활성화**를 선택합니다. 자세한 내용은 [다중 연결을 사용하여 여러 EC2 인스턴스에 EBS 볼륨 연결](ebs-volumes-multi.md) 단원을 참조하십시오.

1. 볼륨의 암호화 상태를 설정합니다.
   + 계정에 [기본적으로 암호화](encryption-by-default.md)가 활성화되어 있으면 암호화는 자동이며 비활성화할 수 없습니다.
   + 암호화된 스냅샷을 선택한 경우 암호화는 자동이며 비활성화할 수 없습니다.
   + 계정에 [기본적으로 암호화](encryption-by-default.md)가 활성화되어 있지 않고 암호화되지 않은 스냅샷을 선택하거나 스냅샷을 선택하지 않은 경우 암호화는 선택 사항입니다.

1. (*선택 사항*) 볼륨에 사용자 지정 태그를 할당하려면 **태그** 섹션에서 **태그 추가**를 선택한 다음 태그 키 및 값 페어를 입력합니다.

1. **볼륨 생성**을 선택합니다.

1. 볼륨을 사용하려면 볼륨이 `available` 상태에 도달할 때까지 기다린 다음 동일한 가용 영역의 Amazon EC2 인스턴스에 연결합니다. 자세한 내용은 [Amazon EC2 인스턴스에 Amazon EBS 볼륨 연결](ebs-attaching-volume.md) 단원을 참조하십시오.

------
#### [ AWS CLI ]

**볼륨을 생성하려면**  
[create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) 명령을 사용합니다. 다음 예제는 지정된 가용 영역에 크기가 100GiB인 빈 gp3 볼륨을 생성합니다.

```
aws ec2 create-volume \
    --volume-type gp3 \
    --size 100 \
    --availability-zone us-east-1a
```

------
#### [ PowerShell ]

**볼륨을 생성하려면**  
[New-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Volume.html) cmdlet을 사용합니다. 다음 예제는 지정된 가용 영역에 크기가 100GiB인 빈 gp3 볼륨을 생성합니다.

```
New-EC2Volume `
    -VolumeType gp3 `
    -Size 100 `
    -AvailabilityZone us-east-1a
```

------

# Amazon EBS 볼륨 복사
<a name="ebs-copying-volume"></a>

동일한 가용 영역 내에서 Amazon EBS 볼륨에 대한 즉석 특정 시점 복사본을 생성할 수 있습니다. 볼륨 복사는 소스 볼륨의 장애 시 일관성이 있는 특정 시점 복사로 시작됩니다. 여기에는 볼륨 복사 초기화가 시작되는 시점에 소스 볼륨에 기록된 모든 데이터 블록이 포함됩니다. 볼륨 복사본은 고유한 볼륨 ID를 가집니다. 볼륨 복사본은 즉각적으로 생성되며 `available` 상태에 도달하면 Amazon EC2 인스턴스에 연결될 수 있습니다. 볼륨 복사본을 사용하면 테스트 및 개발 환경을 위한 프로덕션 데이터를 빠르게 복사할 수 있습니다.

## Initialization(초기화)
<a name="copy-volume-initialization"></a>

볼륨 복사본은 생성 후에 초기화됩니다. 초기화 중, 데이터 블록은 소스 볼륨에서 복사되어 백그라운드의 볼륨 복사본에 기록됩니다. 볼륨은 초기화 완료 시까지 `initializing` 상태로 유지됩니다.

**초기화 중의 성능**  
복사 작업은 소스 볼륨의 성능에 영향을 미치지 않습니다. 복사 프로세스 중에는 소스 볼륨을 정상적으로 계속 사용할 수 있습니다. 소스 볼륨의 데이터가 복사될 때까지 기다리지 않고도 복사된 볼륨에 즉시 액세스할 수 있습니다. 볼륨 복사본은 10밀리초 미만의 지연 시간으로 데이터에 대한 즉각적인 액세스를 제공합니다. 실제 지연 시간은 볼륨 유형에 따라 다를 수 있습니다. 초기화 중에 볼륨 복사는 다음 세 가지 값 중 가장 낮은 값과 동일한 **기준 성능**을 제공합니다.
+ 3,000 IOPS 및 125MiB/s
+ **소스 볼륨**의 프로비저닝된 성능
+ **볼륨 복사본**의 프로비저닝된 성능

볼륨 복사본은 다음 기준이 충족될 때 기준 성능을 초과할 수 있습니다.

1. 소스 볼륨과 볼륨 복사은 모두 3,000 IOPS 및 125MiB/s 이상으로 프로비저닝됩니다.

1. 소스 볼륨이 성능 용량이 활용하지 않음(구동 성능이 프로비저닝된 성능보다 낮음)

예를 들어 소스 볼륨이 10,000 IOPS로 프로비저닝되었으며 워크로드가 현재 5,000 IOPS만 구동하고 볼륨 복사본이 10,000 IOPS로 프로비저닝된 경우, 볼륨 복사본은 소스 볼륨의 미사용 5,000 IOPS를 사용하여 초기화 중에 3,000 IOPS 기준 성능보다 높은 성능을 달성할 수 있습니다.

**초기화 기간**  
볼륨 복사본의 초기화에 걸리는 시간은 볼륨 복사본을 생성할 때 소스 볼륨에 기록된 블록 데이터의 크기에 따라 다릅니다. 볼륨 복사본은 다음 일반 지침에 따라 최선의 작업을 기반으로 초기화됩니다. 데이터 블록의 첫 1TiB의 경우 볼륨 초기화에 최대 6시간이 소요됩니다. 이후의 각 1TiB 데이터 블록은 최대 16TiB까지 초기화에 TiB당 1.2시간이 소요됩니다. 16TiB보다 큰 데이터의 경우 초기화에 24시간이 소요됩니다.

**초기화 진행 상황 모니터링**  
초기화 진행 상황은 [describe-volume-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volume-status.html) AWS CLI 명령 또는 Amazon EventBridge를 사용하여 모니터링할 수 있습니다. 자세한 정보는 [Amazon EBS 볼륨 초기화 상태 모니터링](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-initialize-monitor.html)을 참조하세요.

## 암호화(Encryption)
<a name="copy-volume-encryption"></a>

암호화된 볼륨의 복사본은 소스 볼륨과 동일한 KMS 키로 자동 암호화됩니다. 암호화되지 않은 볼륨은 복사할 수 없습니다.

## 고려 사항
<a name="copy-colume-consids"></a>
+ 암호화된 소스 볼륨의 복사본만 생성할 수 있습니다. 암호화되지 않은 소스 볼륨의 복사본은 생성할 수 없습니다.
+ 소스 볼륨의 볼륨 복사본은 한 번에 하나만 생성할 수 있습니다. 이전 볼륨 복사본이 완전히 초기화된 후에만 동일한 소스 볼륨에 대한 후속 복사본을 생성할 수 있습니다.
+ 리전당 최대 5개의 볼륨 복사를 동시에 진행할 수 있습니다. 이 할당량을 초과하는 경우 `CopyVolumesLimitExceeded` 오류가 발생합니다. 필요한 경우 [할당량 증가를 요청](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html)할 수 있습니다.
+ 볼륨 복사본은 소스 볼륨과 같은 가용 영역에 생성되어야 합니다.
+ 볼륨 복사본의 크기는 소스 볼륨의 크기보다 크거나 같아야 합니다.
+ 볼륨 복사본이 생성 또는 초기화되는 동안에는 복사할 수 없습니다.
+ 볼륨 복사본을 생성하려면 소스 볼륨이 `available` 또는 `in-use` 상태이고 볼륨 수정이 `completed` 또는 `optimizing` 상태여야 합니다.
+ 볼륨 복사본에는 일반 Amazon EBS 볼륨과 동일한 계정 및 리전 스토리지 및 IOPS 할당량이 적용됩니다. 자세한 내용은 [Amazon EBS 할당량](https://docs.aws.amazon.com/general/latest/gr/ebs-service.html#limits_ebs)을 참조하세요.
+ 복사 작업이 진행되는 동안 소스 볼륨을 삭제하는 경우, 복사 작업은 여전히 완료됩니다.
+ 소스 볼륨에 할당된 태그는 볼륨 복사본에 할당되지 않습니다.
+ Outposts 또는 Wavelength Zone에 있는 볼륨에 대해서는 복사본을 생성할 수 없습니다.

## 가격 책정
<a name="copy-volume-pricing"></a>

볼륨 복사 작업을 시작하면 볼륨 복사본에 기록되는 데이터 블록의 GiB당 일회성 요금이 부과됩니다. 볼륨 복사본이 생성되면 계정의 다른 모든 Amazon EBS 볼륨과 동일한 방식으로 요금이 부과됩니다. 자세한 내용은 [Amazon EBS 요금](https://aws.amazon.com/ebs/pricing/)을 참조하세요.

## 볼륨 복사
<a name="copy-volume-copy"></a>

Amazon EBS 볼륨을 수정하려면 다음 방법 중 하나를 사용합니다.

------
#### [ Console ]

**볼륨을 복사하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 복사할 볼륨을 선택하고 **작업**, **볼륨 수정**을 선택합니다.

1. **볼륨 유형**에서 복사할 볼륨 유형을 선택합니다. 기본 볼륨 유형은 **gp3**입니다.

1. **크기**에 볼륨 복사본 크기를 GiB 단위로 입력합니다. 크기는 소스 볼륨의 크기와 같거나 커야 합니다.

1. (*`io1`, `io2` 및 `gp3`에만 해당*) **IOPS**에 볼륨 복사본의 최대 초당 입출력 작업량(IOPS) 수를 입력합니다.

1. (*`gp3`에만 해당*) **처리량**에 볼륨 복사본의 처리량을 MiB/s 단위로 입력합니다.

1. (*`io1` 및 `io2`에만 해당*) Amazon EBS 다중 연결에 대한 볼륨 복사본을 활성화하려면 **다중 연결 활성화**를 선택합니다.

1. (*선택 사항*) 볼륨 복사본에 사용자 지정 태그를 할당하려면 **태그** 섹션에서 **태그 추가**를 선택한 다음 태그 키 및 값 페어를 입력합니다.

1. **볼륨 복사**를 선택합니다.

1. 복사된 볼륨은 `creating` 상태로 시작되었다가 잠시 후에 `available` 상태로 전환됩니다. 그 다음, 동일한 가용 영역에 있는 모든 Amazon EC2 인스턴스에 연결할 수 있습니다.

------
#### [ AWS CLI ]

**볼륨을 복사하려면**  
[copy-volumes](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/copy-volumes.html) 명령을 사용합니다.

다음 예제는 `vol-01234567890abcdef`에 대한 `gp3` 볼륨 유형, `100`GiB 크기 및 `250`MiB/s 처리량의 볼륨 복사본을 생성합니다.

```
aws ec2 copy-volumes \
--source-volume-id vol-01234567890abcdef \
--volume-type gp3 \
--size 100 \
--throughput 250
```

------
#### [ PowerShell ]

**볼륨을 복사하려면**  
[Copy-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Copy-EC2Volume.html) cmdlet을 사용합니다.

다음 예제는 `vol-01234567890abcdef`에 대한 `gp3` 볼륨 유형, `100`GiB 크기 및 `250`MiB/s 처리량의 볼륨 복사본을 생성합니다.

```
Copy-EC2Volume `
-SourceVolumeId vol-01234567890abcdef `
-VolumeType gp3 `
-Size 100 `
-Throughput 250
```

------

# Amazon EC2 인스턴스에 Amazon EBS 볼륨 연결
<a name="ebs-attaching-volume"></a>

사용 가능한 EBS 볼륨을 해당 볼륨과 동일한 가용 영역에 있는 하나 이상의 인스턴스에 연결할 수 있습니다.

시작 시 인스턴스에 EBS 볼륨을 추가하는 방법에 대한 내용은 [인스턴스 블록 디바이스 매핑](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html#instance-block-device-mapping)을 참조하세요.

**고려 사항**
+ 인스턴스에 연결할 수 있는 Amazon EBS 볼륨의 최대 수는 인스턴스 유형에 따라 달라집니다. 인스턴스의 볼륨 연결 한도를 초과하면 `AttachmentLimitExceeded` 오류와 함께 연결 요청이 실패합니다. 자세한 내용은 [인스턴스 볼륨 제한](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html)을 참조하세요.
+ 동일한 가용 영역에 있는 인스턴스에만 볼륨을 연결할 수 있습니다.
+ 다중 연결 사용 볼륨은 최대 16개의 인스턴스에 연결할 수 있습니다. 자세한 내용은 [다중 연결을 사용하여 여러 EC2 인스턴스에 EBS 볼륨 연결](ebs-volumes-multi.md) 단원을 참조하십시오.
+ 볼륨에 AWS Marketplace 제품 코드가 있는 경우:
  + 중지된 인스턴스에만 연결할 수 있습니다.
  + 볼륨에 있는 AWS Marketplace 코드를 구독해야 합니다.
  + 유형 및 운영 체제와 같은 인스턴스의 구성은 해당 특정 AWS Marketplace 코드를 지원해야 합니다. 예를 들어, Windows 인스턴스의 볼륨을 Linux 인스턴스로 연결할 수 없습니다.
  + AWS Marketplace 코드는 볼륨에서 인스턴스로 복사됩니다.
+ 지정한 이 디바이스 이름은 Amazon EC2에서 사용합니다. 블록 디바이스 드라이버는 지정한 디바이스와 다른 디바이스 이름으로 디바이스를 탑재할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스의 볼륨에 대한 디바이스 이름](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)을 참조하세요.
+ 일부 경우에는 `/dev/xvda` 또는 `/dev/sda`에 연결된 볼륨이 아닌 다른 볼륨이 Linux 인스턴스의 루트 볼륨이 될 수 있습니다. 이 상황은 다른 인스턴스의 루트 볼륨이나 루트 볼륨의 스냅샷에서 생성된 볼륨을 기존 루트 볼륨의 인스턴스에 연결하는 경우에 발생할 수 있습니다. 자세한 내용은 [잘못된 볼륨에서 부팅](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-booting-from-wrong-volume.html)을 참조하세요.
+ 일부 인스턴스 유형은 둘 이상의 EBS 카드를 지원합니다. EBS 카드 인덱스를 지정하여 연결할 볼륨의 EBS 카드를 선택할 수 있습니다. 여러 EBS 카드를 지원하는 인스턴스는 [ EBS 카드를](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs_cards.html) 참조하세요.
  + 루트 볼륨은 EBS 카드 인덱스에 연결되어야 합니다`0`.
  + 여러 EBS 카드를 지원하는 인스턴스의 경우 EBS 카드 인덱스를 지정하지 않으면 볼륨이 EBS 카드 인덱스에 연결됩니다`0`.
  + 고성능 워크로드에 맞게 EC2 인스턴스를 구성할 때는 EBS 카드의 성능 한도에 도달하지 않도록 성능 요구 사항에 따라 EBS 카드 간에 EBS 볼륨의 균형을 조정해야 합니다.
  + 인스턴스 유형에 대한 볼륨 연결 제한은 각 EBS 카드에 균등하게 분산됩니다. 예를 들어 2개의 EBS 카드가 있는 볼륨 연결을 지원하는 EC2 인스턴스에서 각 EBS 카드는 최대 개의 `64` 볼륨 연결을 지원할 수 있습니다. `128` EBS 카드 연결 한도를 초과하면 `CardAttachmentLimitExceeded` 오류가 발생하여 요청이 실패합니다.

------
#### [ Console ]

**인스턴스에 EBS 볼륨을 연결하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 연결할 볼륨을 선택하고 **작업(Actions)**, **볼륨 연결(Attach volume)**을 선택합니다.

1. **인스턴스(Instance)**에서 인스턴스 ID를 입력하거나 옵션 목록에서 인스턴스를 선택합니다.

1. **디바이스 이름**에서 다음 중 하나를 수행합니다.
   + 루트 볼륨의 경우 목록의 **루트 볼륨용으로 예약됨** 섹션에서 필요한 디바이스 이름을 선택합니다. 일반적으로 Linux 인스턴스의 경우 AMI에 따라 `/dev/sda1` 또는 `/dev/xvda`이고 Windows 인스턴스의 경우 `/dev/sda1`입니다.
   + 데이터 볼륨의 경우 목록의 **데이터 볼륨에 권장** 섹션에서 사용 가능한 디바이스 이름을 선택합니다.
   + 사용자 지정 디바이스 이름을 사용하려면 **사용자 지정 디바이스 이름 지정**을 선택한 다음 사용할 디바이스 이름을 입력합니다.

1. **볼륨 연결(Attach Volume)**을 선택합니다.

1. 인스턴스에 연결하고 볼륨을 탑재합니다. 자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 단원을 참조하십시오.

------
#### [ AWS CLI ]

**인스턴스에 EBS 볼륨을 연결하려면**  
[attach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html) 명령을 사용합니다. 다음 예제는 지정된 디바이스 이름을 사용하여 지정된 볼륨을 지정된 인스턴스에 연결합니다.

```
aws ec2 attach-volume \
    --volume-id vol-01234567890abcdef \
    --instance-id i-1234567890abcdef0 \
    --device /dev/sdf
```

------
#### [ PowerShell ]

**인스턴스에 EBS 볼륨을 연결하려면**  
[Add-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2Volume.html) cmdlet을 사용합니다. 다음 예제는 지정된 디바이스 이름을 사용하여 지정된 볼륨을 지정된 인스턴스에 연결합니다.

```
Add-EC2Volume `
    -VolumeId vol-01234567890abcdef `
    -InstanceId i-1234567890abcdef0 `
    -Device /dev/sdf
```

------

# 다중 연결을 사용하여 여러 EC2 인스턴스에 EBS 볼륨 연결
<a name="ebs-volumes-multi"></a>

Amazon EBS 다중 연결을 사용하면 단일 프로비저닝된 IOPS SSD(`io1` 또는 `io2`) 볼륨을 동일한 가용 영역에 있는 여러 인스턴스에 연결할 수 있습니다. 여러 다중 연결 지원 볼륨을 인스턴스 또는 인스턴스 집합에 연결할 수 있습니다. 볼륨이 연결된 각 인스턴스는 공유된 볼륨에 대한 전체 읽기 및 쓰기 권한을 가집니다. 다중 연결을 사용하면 동시 쓰기 작업을 관리하는 애플리케이션에서 더 쉽게 더 높은 애플리케이션 가용성을 얻을 수 있습니다.

**요금 및 결제**  
Amazon EBS 다중 연결 사용에 따르는 추가 비용은 없습니다. 프로비저닝된 IOPS SSD(`io1` 및 `io2`) 볼륨에 적용되는 표준 요금이 청구됩니다. 자세한 내용은 [Amazon EBS 요금](https://aws.amazon.com/ebs/pricing/)을 참조하세요.

**Topics**
+ [고려 사항 및 제한](#considerations)
+ [다중 연결 볼륨의 성능](ebs-multi-attach-perf.md)
+ [다중 연결 활성화](working-with-multi-attach.md)
+ [다중 연결 비활성화](disable-multi-attach.md)
+ [NVMe 예약](nvme-reservations.md)

## 고려 사항 및 제한
<a name="considerations"></a>
+ 다중 연결 지원 볼륨은 동일한 가용 영역에 있는 [Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에 구축된 최대 16개의 인스턴스에 연결할 수 있습니다.
+ **Linux 인스턴스**에서는 다중 연결 사용 `io1` 및 `io2` 볼륨을 지원합니다. **Windows 인스턴스**에서는 다중 연결 사용 `io2` 볼륨만 지원합니다.
+ 인스턴스에 연결할 수 있는 Amazon EBS 볼륨의 최대 수는 인스턴스 유형 및 인스턴스 크기에 따라 달라집니다. 자세한 내용은 [인스턴스 볼륨 제한](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html)을 참조하세요.
+ 다중 연결은 [프로비저닝된 IOPS SSD(`io1` 및 `io2`) 볼륨](provisioned-iops.md#EBSVolumeTypes_piops)에서만 지원됩니다.
+ `io1` 볼륨 다중 연결은 다음 리전에서만 사용할 수 있습니다. 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(서울)

  `io2`에 대한 다중 연결은 `io2`를 지원하는 모든 리전에서 사용할 수 있습니다.
**참고**  
저렴한 비용으로 성능, 일관성 및 내구성을 높이려면 `io2` 볼륨을 사용하는 것이 좋습니다.
+ 다중 연결이 활성화된 `io1` 볼륨은 SRD(Scalable Reliable Datagram) 네트워킹 프로토콜만 지원하는 [Nitro System에 구축된 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서는 지원되지 않습니다. 다중 연결을 이러한 인스턴스 유형에 사용하려면 `io2`를 사용해야 합니다.
+ XFS 및 EXT4와 같은 표준 파일 시스템은 EC2 인스턴스와 같은 여러 서버에서 동시에 액세스하도록 설계되지 않았습니다. 프로덕션 워크로드에 대한 데이터 복원력과 안정성을 보장하려면 클러스터링된 파일 시스템을 사용해야 합니다.
+ 다중 연결 지원 `io2` 볼륨은 I/O 펜싱 기능을 지원합니다. I/O 차단 프로토콜은 데이터 일관성을 유지하기 위해 공유된 스토리지 환경에서 쓰기 액세스를 제어합니다. 애플리케이션은 데이터 일관성을 유지하기 위해 연결된 인스턴스에 대해 쓰기 순서를 제공해야 합니다. 자세한 내용은 [다중 연결 지원 Amazon EBS 볼륨에서 NVMe 예약 사용](nvme-reservations.md) 섹션을 참조하세요.

  다중 연결 지원 `io1` 볼륨은 I/O 펜싱 기능을 지원하지 않습니다.
+ 다중 연결 지원 볼륨은 부팅 볼륨으로 만들 수 없습니다.
+ 다중 연결 지원 볼륨은 인스턴스당 하나의 블록 디바이스 매핑에 연결할 수 있습니다.
+ 인스턴스 시작 중에는 Amazon EC2 콘솔 또는 RunInstances API를 사용하여 다중 연결을 활성화할 수 없습니다.
+ Amazon EBS 인프라 계층에서 문제가 있는 다중 연결 지원 볼륨은 연결된 모든 인스턴스에서 사용할 수 없습니다. Amazon EC2 또는 네트워킹 계층의 문제가 있는 경우 연결된 인스턴스 일부만 영향을 받을 수 있습니다.
+ 다음 표에는 다중 연결 사용 `io1` 및 `io2` 볼륨을 생성한 후의 볼륨 수정 지원 정보가 나와 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volumes-multi.html)

  \$1 볼륨이 인스턴스에 연결되어 있는 동안에는 다중 연결 기능을 활성화하거나 비활성화할 수 없습니다.
+ 다중 연결 지원 볼륨은 마지막으로 연결된 인스턴스가 종료되고 종료 시 볼륨을 삭제하도록 해당 인스턴스가 구성된 경우 인스턴스 종료 시 삭제됩니다. 볼륨이 볼륨 블록 디바이스 매핑에서 종료 시 삭제 설정이 다른 여러 인스턴스에 연결되어 있는 경우 마지막으로 연결된 인스턴스의 블록 디바이스 매핑 설정에 따라 종료 시 삭제 동작이 결정됩니다.

  종료 시 삭제 동작을 예측 가능하도록 하려면 볼륨이 연결된 모든 인스턴스에 대해 종료 시 삭제를 활성화 또는 비활성화합니다. 자세한 내용은 [인스턴스가 종료될 때 데이터 보존](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html)을 참조하세요.
+ Amazon EBS 볼륨에 대한 CloudWatch 지표를 사용하여 다중 연결 지원 볼륨을 모니터링할 수 있습니다. 연결된 모든 인스턴스에서 데이터가 집계됩니다. 연결된 개별 인스턴스에 대한 지표를 모니터링할 수는 없습니다. 자세한 내용은 [Amazon EBS에 대한 Amazon CloudWatch 지표](using_cloudwatch_ebs.md) 섹션을 참조하세요.

# 다중 연결 Amazon EBS 볼륨의 성능
<a name="ebs-multi-attach-perf"></a>

연결된 각 인스턴스는 최대 IOPS 성능을 볼륨의 최대 프로비저닝된 성능까지 구동할 수 있습니다. 그러나 연결된 모든 인스턴스의 전체 성능은 볼륨의 최대 프로비저닝된 성능을 초과할 수 없습니다. 연결된 인스턴스의 IOPS에 대한 수요가 볼륨의 프로비저닝된 IOPS보다 높으면 볼륨이 프로비저닝된 성능을 초과하지 않습니다.

예를 들어 `io2` 프로비저닝된 IOPS를 사용하여 `80,000` 다중 연결 지원 볼륨을 생성하고 최대 `40,000` IOPS를 지원하는 `m7g.large` 인스턴스와 최대 `60,000` IOPS를 지원하는 ` r7g.12xlarge` 인스턴스에 연결한다고 가정합니다. 각 인스턴스는 최대 IOPS가 볼륨의 프로비저닝된 IOPS인 `80,000`보다 작기 때문에 최대 IOPS를 구동할 수 있습니다. 그러나 두 인스턴스 모두 볼륨에 대한 I/O를 동시에 구동하는 경우 결합된 IOPS는 볼륨의 프로비저닝된 성능인 `80,000` IOPS를 초과할 수 없습니다.

일관된 성능을 얻으려면 다중 연결 지원 볼륨의 섹터 전체에 대해 연결된 인스턴스에서 구동되는 I/O의 균형을 유지하는 것이 가장 좋습니다.

Amazon EC2 인스턴스 유형의 IOPS 성능에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EBS 최적화 인스턴스 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html)을 참조하세요.

# Amazon EBS 볼륨에 대한 다중 연결 활성화
<a name="working-with-multi-attach"></a>

다중 연결 지원 볼륨은 다른 Amazon EBS 볼륨을 관리하는 것과 거의 동일한 방식으로 관리할 수 있습니다. 그러나 다중 연결 기능을 사용하려면 볼륨에 대해 이 기능을 활성화해야 합니다.

새 볼륨을 만들 때 다중 연결은 기본적으로 비활성화되어 있습니다. 볼륨을 생성할 때 다중 연결을 활성화할 수 있습니다.

생성 후 `io2` 볼륨에 대한 다중 연결을 활성화할 수도 있지만 어떠한 인스턴스에 연결되지 않은 경우에만 활성화할 수 있습니다. `io1` 볼륨의 경우 생성 후에 다중 연결을 활성화할 수 없습니다.

볼륨에 대한 다중 연결을 활성화한 후에는 다른 EBS 볼륨을 연결하는 것과 동일한 방식으로 볼륨을 인스턴스에 연결할 수 있습니다. 자세한 내용은 [Amazon EC2 인스턴스에 Amazon EBS 볼륨 연결](ebs-attaching-volume.md) 섹션을 참조하세요.

------
#### [ Console ]

**볼륨 생성 중에 다중 연결을 활성화하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. **볼륨 생성**을 선택합니다.

1. **볼륨 유형**에서 **프로비저닝된 IOPS SSD(`io1`)** 또는 **프로비저닝된 IOPS SSD(`io2`)**를 선택합니다.

1. **크기** 및 **IOPS**의 경우 필요한 볼륨 크기와 프로비저닝할 IOPS 수를 선택합니다.

1. **가용 영역**의 경우 인스턴스가 있는 가용 영역과 동일한 가용 영역을 선택합니다.

1. **Amazon EBS 다중 연결(Amazon EBS Multi-Attach)**에서 **다중 연결 활성화(Enable Multi-Attach)**를 선택합니다.

1. (선택 사항) **스냅샷 ID(Snapshot ID)**에서 볼륨을 생성할 스냅샷을 선택합니다.

1. 볼륨의 암호화 상태를 설정합니다.

   선택한 스냅샷이 암호화되거나 계정에 [기본적으로 암호화](encryption-by-default.md)가 활성화되어 있으면 암호화가 자동으로 사용되며 비활성화할 수 없습니다. 볼륨 암호화에 사용할 KMS 키를 선택할 수 있습니다.

   선택한 스냅샷이 암호화되지 않았으며 계정이 기본적으로 암호화를 사용하도록 설정되어 있지 않은 경우 암호화는 선택 사항입니다. 볼륨을 암호화하려면 **암호화(Encryption)**에서 **이 볼륨 암호화(Encrypt this volume)**를 선택한 다음 볼륨 암호화에 사용할 KMS 키를 선택합니다.

   암호화된 볼륨은 Amazon EBS 암호화를 지원하는 인스턴스에만 연결할 수 있습니다. 자세한 내용은 [Amazon EBS 암호화](ebs-encryption.md) 섹션을 참조하세요.

1. (선택 사항) 볼륨에 사용자 정의 태그를 할당하려면 **태그(Tags)** 섹션에서 **태그 추가(Add tag)**를 선택한 다음 태그 키 및 값 페어를 입력합니다.

1. **볼륨 생성**을 선택합니다.

**생성 후 다중 연결을 활성화하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택한 후 **작업(Actions)**, **볼륨 수정(Modify volume)**을 선택합니다.

1. **Amazon EBS 다중 연결(Amazon EBS Multi-Attach)**에서 **다중 연결 활성화(Enable Multi-Attach)**를 선택합니다.

1. **수정**을 선택합니다.

------
#### [ AWS CLI ]

**볼륨 생성 중에 다중 연결을 활성화하려면**  
`--multi-attach-enabled` 옵션과 함께 [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) 명령을 사용합니다.

```
aws ec2 create-volume \
    --volume-type io2 \
    --multi-attach-enabled \
    --size 100 \
    --iops 2000 \
    --region us-west-2 \
    --availability-zone us-west-2b
```

**생성 후 다중 연결을 활성화하려면**  
`--multi-attach-enabled` 옵션과 함께 [modify-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-volume.html) 명령을 사용합니다.

```
aws ec2 modify-volume \
    --volume-id vol-01234567890abcdef \
    --multi-attach-enabled
```

------
#### [ PowerShell ]

**볼륨 생성 중에 다중 연결을 활성화하려면**  
`-MultiAttachEnabled` 파라미터와 함께 [New-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Volume.html) cmdlet을 사용합니다.

```
New-EC2Volume `
    -VolumeType io2 `
    -MultiAttachEnabled $true `
    -Size 100 `
    -Iops 2000 `
    -Region us-west-2 `
    -AvailabilityZone us-west-2b
```

**생성 후 다중 연결을 활성화하려면**  
`-MultiAttachEnabled` 파라미터와 함께 [Edit-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Volume.html) cmdlet을 사용합니다.

```
Edit-EC2Volume `
    -VolumeId vol-01234567890abcdef `
    -MultiAttachEnabled $true
```

------

# Amazon EBS 볼륨에 대한 다중 연결 비활성화
<a name="disable-multi-attach"></a>

`io2` 볼륨이 둘 이상의 인스턴스에 연결되지 않은 경우에만 다중 연결을 비활성화할 수 있습니다.

`io1` 볼륨을 생성한 후에는 다중 연결을 비활성화할 수 없습니다.

------
#### [ Console ]

**생성 후 다중 연결을 비활성화하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택한 후 **작업(Actions)**, **볼륨 수정(Modify volume)**을 선택합니다.

1. **Amazon EBS 다중 연결(Amazon EBS Multi-Attach)**에서 **다중 연결 활성화(Enable Multi-Attach)** 선택을 취소합니다.

1. **수정**을 선택합니다.

------
#### [ AWS CLI ]

**생성 후 다중 연결을 비활성화하려면**  
`-no-multi-attach-enabled` 옵션과 함께 [modify-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-volume.html) 명령을 사용합니다.

```
aws ec2 modify-volume \
    --volume-id vol-01234567890abcdef \
    --no-multi-attach-enabled
```

------
#### [ PowerShell ]

**생성 후 다중 연결을 비활성화하려면**  
`-MultiAttachEnabled` 파라미터와 함께 [Edit-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Volume.html) cmdlet을 사용합니다.

```
Edit-EC2Volume `
    -VolumeId vol-01234567890abcdef `
    -MultiAttachEnabled $false
```

------

# 다중 연결 지원 Amazon EBS 볼륨에서 NVMe 예약 사용
<a name="nvme-reservations"></a>

다중 연결 지원 `io2` 볼륨은 업계 표준 스토리지 펜싱 프로토콜 세트인 NVMe 예약을 지원합니다. 이러한 프로토콜을 사용하면 여러 인스턴스에서 공유 볼륨으로의 액세스를 제어하고 조정하는 예약을 생성하고 관리할 수 있습니다. 예약은 공유 스토리지 애플리케이션에서 데이터 일관성을 보장하기 위해 사용됩니다.

**Topics**
+ [요구 사항](#nvme-reservations-reqs)
+ [NVMe 예약에 대한 지원 활성화](#nvme-reservations-enable)
+ [지원되는 NVMe 예약 명령](#nvme-reservations-commands)
+ [요금](#nvme-reservations-cost)

## 요구 사항
<a name="nvme-reservations-reqs"></a>

NVMe 예약은 다중 연결 지원 `io2` 볼륨에서만 지원됩니다. 다중 연결 지원 볼륨은 Nitro System에 구축된 인스턴스에 연결할 수 있습니다.

NVMe 예약은 다음 운영 체제에서 지원됩니다.
+ SUSE Linux Enterprise 12 SP3 이상
+ RHEL 8.3 이상
+ Amazon Linux 2 이상
+ Windows Server 2016 이상

**참고**  
2023.09.13 이후 지원되는 Windows Server AMI의 경우 필수 NVMe 드라이버가 포함되어 있습니다. 이전 AMI의 경우 NVMe 드라이버 버전 1.5.0 이상으로 업데이트해야 합니다. 자세한 내용은 [AWS NVMe 드라이버](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html)를 참조하세요.

EC2Launch v2를 사용하여 디스크를 초기화하는 경우 버전 **2.0.1521** 이상으로 업그레이드해야 합니다. 자세한 내용은 [EC2Launch v2 에이전트 사용](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2launch-v2.html)을 참조하세요.

## NVMe 예약에 대한 지원 활성화
<a name="nvme-reservations-enable"></a>

NVMe 예약에 대한 지원은 **2023년 9월 18일** 이후에 생성된 모든 다중 연결 지원 `io2` 볼륨에 대해 기본적으로 활성화됩니다.

2023년 9월 18일 이전에 생성된 기존 `io2` 볼륨에 대해 NVMe 예약을 지원하려면 볼륨에서 모든 인스턴스를 분리한 다음 필요한 인스턴스를 다시 연결해야 합니다. 모든 인스턴스를 분리한 후 이루어진 모든 연결에는 NVMe 예약이 활성화됩니다.

## 지원되는 NVMe 예약 명령
<a name="nvme-reservations-commands"></a>

Amazon EBS는 다음과 같은 NVMe 예약 명령을 지원합니다.

**예약 등록**  
예약 키를 등록, 등록 취소 또는 교체합니다. 등록 키는 인스턴스를 식별하고 인증하는 데 사용됩니다. 예약 키를 볼륨에 등록하면 인스턴스와 볼륨 간의 연결이 생성됩니다. 인스턴스를 볼륨에 등록해야 해당 인스턴스가 예약을 획득할 수 있습니다.

**예약 획득**  
볼륨에 대한 예약을 획득하고, 네임스페이스에 보관된 예약을 선점하고, 볼륨에 대한 예약을 중단합니다. 획득할 수 있는 예약 유형은 다음과 같습니다.  
+ 독점 예약 작성
+ 독점 액세스 예약
+ 독점 작성 - 등록자 전용 예약
+ 독점 액세스 - 등록자 전용 예약
+ 독점 작성 - 모든 등록자 예약
+ 독점 액세스 - 모든 등록자 예약

**예약 릴리스**  
볼륨에 대해 보류된 예약을 해제하거나 취소합니다.

**예약 보고서**  
볼륨의 등록 및 예약 상태를 설명합니다.

## 요금
<a name="nvme-reservations-cost"></a>

다중 연결 활성화 및 사용에 따르는 추가 비용은 없습니다.

# Amazon EBS 볼륨을 사용할 수 있도록 만들기
<a name="ebs-using-volumes"></a>

Amazon EBS 볼륨은 인스턴스에 연결하면 블록 디바이스로 표시됩니다. 볼륨을 원하는 파일 시스템으로 포맷한 다음 마운트합니다. EBS 볼륨을 사용할 수 있게 만들면 다른 볼륨과 동일한 방식으로 액세스할 수 있습니다. 이 파일 시스템에 작성된 모든 데이터가 EBS 볼륨에 작성되고 해당 디바이스를 사용하는 애플리케이션도 그대로 적용됩니다.

다른 볼륨을 생성할 때 기준으로 사용하거나 백업을 목적으로 EBS 볼륨의 스냅샷을 생성할 수 있습니다. 자세한 내용은 [Amazon EBS 스냅샷](ebs-snapshots.md) 단원을 참조하십시오.

사용 준비 중인 EBS 볼륨이 2TiB보다 크면 GPT 파티션 체계를 사용하여 전체 볼륨에 액세스해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 제약 조건](volume_constraints.md) 단원을 참조하십시오.

## Linux 인스턴스
<a name="ebs-use-linux"></a>

### 연결된 볼륨 포맷 및 탑재
<a name="ebs-format-mount-volume"></a>

루트 디바이스용 EBS 볼륨이 있는 EC2 인스턴스가 있으며, `/dev/xvda`, 방금 `/dev/sdf`를 이용해 인스턴스를 빈 EBS 볼륨에 연결했다고 가정합시다. 다음 절차에 따라, 새로 연결한 볼륨을 사용할 수 있게 만드세요.

**EBS 볼륨을 Linux에서 포맷 및 탑재**

1. SSH로 인스턴스에 연결합니다. 자세한 내용은 [Linux 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)을 참조하세요.

1. 디바이스는 블록 디바이스 매핑에 지정한 것과는 다른 디바이스 이름으로 인스턴스에 연결할 수 있습니다. 자세한 내용은 [Linux 인스턴스의 디바이스 이름](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)을 참조하세요. **lsblk** 명령을 사용하면 사용 가능한 디스크 디바이스 및 마운트 포인트(해당하는 경우)가 표시되어 사용 가능한 올바른 디바이스 이름을 결정하는 데 도움을 받을 수 있습니다. **lsblk** 명령의 출력에서는 전체 디바이스 경로 중 맨 앞에 `/dev/`가 생략됩니다.

   다음은 EBS 볼륨이 NVMe 블록 디바이스로 표시되는 [Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에 구축된 인스턴스의 예시 출력입니다. 루트 디바이스는 `nvme0n1p1` 및 `nvme0n1p128`이라는 두 개의 파티션이 있는 `/dev/nvme0n1`입니다. 연결된 볼륨은 파티션이 없고 아직 탑재되지 않은 `/dev/nvme1n1`입니다.

   ```
   [ec2-user ~]$ lsblk
   NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
   nvme1n1       259:0    0  10G  0 disk
   nvme0n1       259:1    0   8G  0 disk
   -nvme0n1p1    259:2    0   8G  0 part /
   -nvme0n1p128  259:3    0   1M  0 part
   ```

   다음은 T2 인스턴스의 예시 출력입니다. 루트 디바이스는 `xvda1`이라는 파티션이 하나 있는 `/dev/xvda`입니다. 연결된 볼륨은 파티션이 없고 아직 탑재되지 않은 `/dev/xvdf`입니다.

   ```
   [ec2-user ~]$ lsblk
   NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
   xvda    202:0    0    8G  0 disk
   -xvda1  202:1    0    8G  0 part /
   xvdf    202:80   0   10G  0 disk
   ```

1. 볼륨에 파일 시스템이 있는지 확인합니다. 새 볼륨은 원시 블록 디바이스이므로 볼륨을 탑재하고 사용하기 전에 해당 볼륨에서 파일 시스템을 생성해야 합니다. 스냅샷에서 생성된 볼륨에는 이미 파일 시스템이 있을 수 있습니다. 기존 파일 시스템 위에 새 파일 시스템을 생성하면 해당 작업으로 데이터가 덮어쓰기됩니다.

   볼륨에 파일 시스템이 있는지 여부를 확인하려면 다음 방법 중 하나 또는 모두를 사용하세요.
   + **file -s** 명령을 사용하면 파일 시스템 유형 등의 특정 디바이스 정보를 확인할 수 있습니다. 다음 예시 출력에서와 같이 출력에 `data`만 표시된다면, 디바이스에는 파일 시스템이 없습니다.

     ```
     [ec2-user ~]$ sudo file -s /dev/xvdf
     /dev/xvdf: data
     ```

     디바이스에 파일 시스템이 있다면, 명령은 파일 시스템 유형에 관한 정보를 표시합니다. 예를 들어 다음 출력은 XFS 파일 시스템이 있는 루트 디바이스를 표시합니다.

     ```
     [ec2-user ~]$ sudo file -s /dev/xvda1
     /dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
     ```
   + **lsblk -f** 명령을 사용하여 인스턴스에 연결된 모든 디바이스 관련 정보를 가져옵니다.

     ```
     [ec2-user ~]$ sudo lsblk -f
     ```

     예를 들어, 다음 출력은 인스턴스에 연결된 3개의 디바이스(`nvme1n1`, `nvme0n1` 및 `nvme2n1`)를 보여줍니다. 첫 번째 열에는 디바이스와 해당 파티션이 나열됩니다. `FSTYPE` 열에는 각 디바이스의 파일 시스템 유형이 표시됩니다. 특정 디바이스에 대한 열이 비어 있으면 디바이스에 파일 시스템이 없음을 의미합니다. 이 예에서 디바이스 `nvme1n1`과 `nvme0n1` 디바이스의 파티션 `nvme0n1p1`은 모두 XFS 파일 시스템을 사용하여 포맷되어 있지만, 디바이스 `nvme2n1`과 디바이스 `nvme0n1`의 파티션 `nvme0n1p128`에는 파일 시스템이 없습니다.

     ```
     NAME		FSTYPE	LABEL	UUID						MOUNTPOINT
     nvme1n1	        xfs		7f939f28-6dcc-4315-8c42-6806080b94dd
     nvme0n1
     ├─nvme0n1p1	xfs	    /	90e29211-2de8-4967-b0fb-16f51a6e464c	        /
     └─nvme0n1p128
     nvme2n1
     ```

   이러한 명령의 출력에 디바이스에 파일 시스템이 없다고 표시된 경우 생성해야 합니다.

1. <a name="create_file_system_step"></a>(선택 사항) 이전 단계에서 디바이스에 파일 시스템이 있음을 발견했다면, 이 단계는 생략하세요. 빈 볼륨이 있다면 **mkfs -t** 명령을 이용해 볼륨에서 파일 시스템을 생성하세요.
**주의**  
이미 데이터가 있는 볼륨(예: 스냅샷에서 생성된 볼륨)을 탑재하는 경우, 이 명령을 사용하지 마세요. 아니면 볼륨을 포맷하여 기존 데이터를 삭제합니다.

   ```
   [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf
   ```

   `mkfs.xfs`이 발견되지 않는 오류가 발생하는 경우 다음 명령을 사용해 XFS 도구를 설치하고 이전 명령을 반복합니다.

   ```
   [ec2-user ~]$ sudo yum install xfsprogs
   ```

1. **mkdir** 명령을 사용하여 볼륨에서 사용할 탑재 지점 디렉터리를 생성합니다. 마운트 포인트는 파일 시스템 트리에 볼륨이 위치하고 볼륨을 마운트한 후 파일을 읽고 쓰는 위치입니다. 다음은 `/data`라는 이름의 디렉터리를 생성하는 예제입니다.

   ```
   [ec2-user ~]$ sudo mkdir /data
   ```

1. 이전 단계에서 생성한 탑재 지점 디렉터리에서 볼륨이나 파티션을 탑재합니다.

   볼륨에 파티션이 없는 경우 다음 명령을 사용하여 전체 볼륨을 탑재할 디바이스 이름을 지정합니다.

   ```
   [ec2-user ~]$ sudo mount /dev/xvdf /data
   ```

   볼륨에 파티션이 있는 경우 다음 명령을 사용하여 파티션을 탑재할 파티션 이름을 지정합니다.

   ```
   [ec2-user ~]$ sudo mount /dev/xvdf1 /data
   ```

1. 새 볼륨 마운트의 파일 권한을 검토하여 사용자 및 애플리케이션이 볼륨에 기록할 수 있는지 확인합니다. 파일 권한에 대한 자세한 내용은 *Linux Documentation Project*에서 [File security](https://tldp.org/LDP/intro-linux/html/sect_03_04.html) 단원을 참조하십시오.

1. 탑재 지점은 인스턴스를 재부팅하면 자동으로 보존되지 않습니다. 재부팅 후에도 이 EBS 볼륨을 자동으로 탑재하고 싶다면, 다음 절차를 참조하세요.

### 재부팅 후에도 연결된 볼륨을 자동으로 탑재
<a name="ebs-mount-after-reboot"></a>

시스템을 재부팅할 때마다 연결된 EBS 볼륨을 탑재하려면, 디바이스에 대한 항목을 `/etc/fstab` 파일에 추가합니다.

`/dev/xvdf`에 있는 `/etc/fstab` 같은 디바이스 이름을 사용할 수 있습니다. 하지만 디바이스의 128비트 UUID(Universally Unique Identifier)를 사용할 것을 권장합니다. 디바이스 이름은 바꿀 수 있지만, UUID는 파티션 수명이 다할 때까지 유지됩니다. UUID를 사용하면 하드웨어 재구성 후 시스템을 부팅할 수 없게 되는 경우가 줄어듭니다. 자세한 내용은 [Amazon EBS 볼륨을 NVMe 디바이스 이름에 매핑](identify-nvme-ebs-device.md) 섹션을 참조하세요.

**재부팅 후 연결된 볼륨을 자동으로 탑재하는 방법**

1. (선택 사항) 수정 도중 실수로 이 파일이 손상되거나 삭제되는 경우에 대비하여 `/etc/fstab` 파일의 백업을 생성합니다.

   ```
   [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
   ```

1. **blkid** 명령을 사용하여 디바이스의 UUID를 찾습니다. 재부팅 후 탑재할 장치의 UUID를 기록해 둡니다. 다음 단계에서 필요합니다.

   예를 들어 다음 명령은 인스턴스에 2개의 디바이스가 탑재되어 있음을 보여주며 두 디바이스 모두의 UUID를 보여줍니다.

   ```
   [ec2-user ~]$ sudo blkid
   /dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10"
   /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"
   ```

   Ubuntu 18.04의 경우 lsblk 명령을 사용합니다.

   ```
   [ec2-user ~]$ sudo lsblk -o +UUID
   ```

1. **nano** 또는 **vim**과 같은 텍스트 편집기를 사용하여 `/etc/fstab` 파일을 엽니다.

   ```
   [ec2-user ~]$ sudo vim /etc/fstab
   ```

1. 다음 항목을 `/etc/fstab`에 추가해 디바이스를 지정된 탑재 지점에 탑재합니다. 필드는 **blkid**가 반환하는 UUID 값(또는 Ubuntu 18.04의 경우 **lsblk**), 탑재 지점, 파일 시스템, 권장하는 파일 시스템 탑재 옵션입니다. 필수 필드에 대한 자세한 내용을 보려면 `man fstab`를 실행하여 **fstab** 매뉴얼을 엽니다.

   다음 예제에서는 UUID가 `aebf131c-6957-451e-8d34-ec978d9581ae`인 디바이스를 탑재 지점 `/data`에 탑재하고 `xfs` 파일 시스템을 사용합니다. 또한 `defaults` 및 `nofail` 플래그를 사용합니다. `0`을 지정하여 파일 시스템이 덤프되지 않도록 하고 `2`를 지정하여 루트 디바이스가 아님을 나타냅니다.

   ```
   UUID=aebf131c-6957-451e-8d34-ec978d9581ae  /data  xfs  defaults,nofail  0  2
   ```
**참고**  
(볼륨을 다른 인스턴스로 옮긴 후 등의 상황에서) 이 볼륨을 연결하지 않고 인스턴스를 부팅했다면, `nofail` 탑재 옵션을 이용해 볼륨 탑재 시 오류가 있더라도 인스턴스를 부팅할 수 있습니다. 16.04 이전의 Ubuntu 버전을 포함하는 Debian 계열 시스템에서는 `nobootwait` 탑재 옵션도 추가해야 합니다.

1. 항목이 제대로 작동하는지 확인하기 위해, 다음 명령을 실행해 디바이스 탑재를 해제하고 `/etc/fstab`에서 모든 파일 시스템을 탑재합니다. 오류가 없다면 `/etc/fstab` 파일에 문제가 없다는 뜻이며, 파일 시스템은 재부팅 후 자동으로 탑재됩니다.

   ```
   [ec2-user ~]$ sudo umount /data
   [ec2-user ~]$ sudo mount -a
   ```

   오류 메시지가 표시된다면, 파일의 오류를 처리하세요.
**주의**  
`/etc/fstab` 파일에서 오류가 발생하면 시스템이 부팅되지 않을 수 있습니다. `/etc/fstab` 파일에서 오류가 발생한 시스템을 종료하지 마십시오.

   `/etc/fstab`의 오류 수정 방법을 모르며 이 절차의 첫 번째 단계에서 백업 파일을 만들었다면, 다음 명령을 이용해 백업 파일에서 복원을 진행할 수 있습니다.

   ```
   [ec2-user ~]$ sudo mv /etc/fstab.orig /etc/fstab
   ```

## Windows 인스턴스
<a name="ebs-use-win"></a>

다음과 같은 방법 중 하나를 사용하여 Windows 인스턴스에서 볼륨을 사용할 수 있도록 만듭니다.

------
#### [ PowerShell ]

**원시 파티션이 있는 모든 EBS 볼륨을 Windows PowerShell에서 사용**

1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다. 자세한 내용은 [Windows 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)을 참조하세요.

1. 작업 표시줄에서 시작 메뉴를 열고 **Windows PowerShell**을 선택합니다.

1. 열린 PowerShell 프롬프트에서 제공된 일련의 Windows PowerShell 명령을 사용합니다. 이 스크립트는 기본값으로 다음 작업을 수행합니다.

   1. ShellHWDetection 서비스를 중지합니다.

   1. 파티션 스타일이 원시 디스크인 디스크를 열거합니다.

   1. 디스크 및 파티션 유형이 지원할 최대 크기에 걸쳐 있는 새 파티션을 만듭니다.

   1. 사용 가능한 드라이브 문자를 배정합니다.

   1. 지정된 파일 시스템 레이블을 사용하여 파일 시스템을 NTFS로 포맷합니다.

   1. ShellHWDetection 서비스를 다시 시작합니다.

   ```
   Stop-Service -Name ShellHWDetection
   Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "Volume Label" -Confirm:$false
   Start-Service -Name ShellHWDetection
   ```

------
#### [ DiskPart command line tool ]

**DiskPart 명령줄 도구를 통해 사용 가능한 EBS 볼륨을 만들기**

1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다. 자세한 내용은 [Windows 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)을 참조하세요.

1. 사용할 디스크 번호를 확인합니다.

   1. 시작 메뉴를 열고 Windows PowerShell을 선택합니다.

   1. 사용 가능한 디스크 목록을 검색하는 `Get-Disk` Cmdlet을 사용합니다.

   1. 명령 출력에서 사용 가능한 디스크에 해당하는 **숫자(Number)**를 기록합니다.

1. DiskPart 명령을 실행할 스크립트 파일을 작성합니다.

   1. 시작 메뉴를 열고 **파일 탐색기(File Explorer)**를 선택합니다.

   1. 스크립트 파일을 저장할 디렉터리(예: C:\$1)로 이동합니다.

   1. 폴더 내의 빈 공간을 선택하거나 마우스 오른쪽 버튼으로 클릭하여 대화 상자를 열고 커서를 **New** 위에 놓아 컨텍스트 메뉴에 액세스한 다음 **텍스트 문서(Text Document)**를 선택합니다.

   1. 텍스트 파일을 `diskpart.txt`로 지정합니다.

1. 스크립트 파일에 다음 명령을 추가합니다. 디스크 번호, 파티션 유형, 볼륨 레이블 및 드라이브 문자를 수정해야 할 수 있습니다. 이 스크립트는 기본값으로 다음 작업을 수행합니다.

   1. 수정할 디스크 1을 선택합니다.

   1. 기본 부트 레코드(MBR) 파티션 구조를 사용하도록 볼륨을 구성합니다.

   1. 볼륨을 NTFS 볼륨으로 포맷합니다.

   1. 볼륨 레이블을 설정합니다.

   1. 볼륨에 드라이브 문자를 할당합니다.
**주의**  
이미 데이터가 있는 볼륨을 마운트하는 경우 볼륨을 재포맷하지 않아야 기존 데이터가 삭제되지 않습니다.

   ```
   select disk 1 
   attributes disk clear readonly 
   online disk noerr
   convert mbr 
   create partition primary 
   format quick fs=ntfs label="volume_label" 
   assign letter="drive_letter"
   ```

   자세한 내용은 [DiskPart 구문 및 파라미터](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc766465(v=ws.10)#diskpart-syntax-and-parameters)를 참조하세요.

1. 명령 프롬프트를 열고 스크립트가 있는 폴더로 이동하고 다음 명령을 실행하여 지정된 디스크에서 볼륨을 사용할 수 있도록 합니다.

   ```
   C:\> diskpart /s diskpart.txt
   ```

------
#### [ Disk Management utility ]

**디스크 관리 유틸리티를 통해 사용 가능한 EBS 볼륨 만들기**

1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다. 자세한 내용은 [Windows 인스턴스에 연결](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)을 참조하세요.

1. 디스크 관리 유틸리티를 시작합니다. 작업 표시줄에서 마우스 오른쪽 버튼을 클릭하여 Windows 로고에 대한 컨텍스트 메뉴를 열고 **디스크 관리(Disk Management)**를 선택합니다.
**참고**  
Windows Server 2008에서는 **시작(Start)**, **관리 도구(Administrative Tools)**, **컴퓨터 관리(Computer Management)**, **디스크 관리(Disk Management)**를 선택합니다.

1. 볼륨을 온라인 상태로 전환합니다. 아래쪽의 왼쪽 창에서 마우스 오른쪽 버튼을 클릭하여 EBS 볼륨용 디스크에 대한 컨텍스트 메뉴를 엽니다. **온라인**을 선택합니다.  
![\[볼륨을 온라인 상태로 전환합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-volume-online.png)

1. (조건) 디스크가 초기화되지 않은 경우 디스크를 초기화해야 사용할 수 있습니다. 디스크가 이미 초기화된 경우 이 단계를 건너뜁니다.
**주의**  
이미 데이터가 있는 볼륨을 마운트하는 경우(예: 퍼블릭 데이터 세트 또는 스냅샷에서 생성된 볼륨), 볼륨을 다시 포맷하지 말고 기존 데이터를 삭제하세요.

   디스크가 초기화되어 있지 않으면 다음과 같이 초기화를 수행하세요.

   1. 왼쪽 창에서 마우스 오른쪽 버튼을 클릭하여 디스크에 대한 컨텍스트 메뉴를 열고 **디스크 초기화(Initialize Disk)**를 선택합니다.  
![\[볼륨을 초기화합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-volume-initialize.png)

   1. **디스크 초기화(Initialize Disk)** 대화 상자에서 파티션 스타일을 선택하고 **확인(OK)**을 선택합니다.  
![\[볼륨 설정을 초기화합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-volume-initialize-settings.png)

1. 오른쪽 창에서 마우스 오른쪽 버튼을 클릭하여 디스크에 대한 컨텍스트 메뉴를 열고 **새 단순 볼륨(New Simple Volume)**을 선택합니다.  
![\[단순 볼륨을 탑재합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-new-simple-volume.png)

1. **새로운 단순 볼륨 마법사(New Simple Volume Wizard)**에서 **다음(Next)**을 선택합니다.  
![\[새로운 단순 볼륨 만들기 마법사를 시작합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-welcome.png)

1. 기본 최대값을 변경하려면 **MB 크기의 단순 볼륨(Simple volume size in MB)**을 지정한 후 **다음(Next)**을 선택합니다.  
![\[볼륨 크기를 지정합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-size.png)

1. 필요한 경우 **다음 드라이브 문자 할당(Assign the following drive letter)** 드롭다운에서 권장 드라이브 문자를 지정한 후 **다음(Next)**을 선택합니다.  
![\[드라이브 문자를 지정합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-letter.png)

1. **볼륨 레이블(Volume Label)**을 지정하고 필요에 따라 기본 설정을 조정한 후 **다음(Next)**을 선택합니다.  
![\[설정을 지정하여 볼륨을 포맷합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-format.png)

1. 설정을 검토한 다음 **완료(Finish)**를 선택하여 수정 사항을 적용하고 새 단순 볼륨 만들기 마법사를 닫습니다.  
![\[설정을 검토한 다음, 마법사를 완료합니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/windows-2016-new-simple-volume-wizard-finish.png)

------

# Amazon EBS 볼륨에 대한 정보 보기
<a name="ebs-describing-volumes"></a>

EBS 볼륨에 대한 설명이 포함된 정보를 볼 수 있습니다. 예를 들어 특정 리전에 있는 모든 볼륨에 대한 정보를 보거나 크기, 볼륨 유형, 볼륨 암호화 여부, 볼륨 암호화에 사용된 KMS 키, 볼륨이 연결된 특정 인스턴스 등 단일 볼륨에 대한 자세한 정보를 볼 수 있습니다.

사용 가능한 디스크 공간 등 EBS 볼륨에 대한 추가 정보를 인스턴스의 운영 체제에서 가져올 수 있습니다.

**Topics**
+ [볼륨 정보 보기](#ebs-view-information-console)
+ [볼륨 상태](#volume-state)
+ [볼륨 지표 보기](#ebs-view-volume-metrics)
+ [여유 디스크 공간 보기](#ebs-view-free-disk-space-lin)

## 볼륨 정보 보기
<a name="ebs-view-information-console"></a>

EBS 볼륨에 대한 정보를 볼 수 있습니다.

------
#### [ Console ]

**볼륨에 대한 정보를 보려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 목록을 줄이기 위해 태그 및 볼륨 속성을 사용하여 볼륨을 필터링할 수 있습니다. 필터 필드를 선택하고 태그 또는 볼륨 속성을 선택한 다음 필터 값을 선택합니다.

1. 볼륨에 대한 자세한 정보를 확인하려면 해당 ID를 선택합니다.

**인스턴스에 연결된 EBS 볼륨을 보려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. 인스턴스를 선택합니다.

1. **스토리지(Storage)** 탭의 **블록 디바이스(Block devices)** 섹션에는 인스턴스에 연결된 볼륨을 나열됩니다. 특정 볼륨에 대한 정보를 보려면 **볼륨 ID(Volume ID)** 열에서 해당 ID를 선택합니다.

------
#### [ Amazon EC2 Global View ]

[Amazon EC2 Global View](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/global-view.html)를 사용하여 AWS 계정이 활성화된 모든 리전의 볼륨을 볼 수 있습니다.

**모든 리전의 EBS 볼륨에 대한 요약을 보려면**

1. [https://console.aws.amazon.com/ec2globalview/home](https://console.aws.amazon.com/ec2globalview/home)에서 Amazon EC2 Global View 콘솔을 엽니다.

1. **리전 탐색기** 탭의 **요약**에서 볼륨 수와 리전 수를 포함한 **볼륨** 리소스 수를 확인합니다. 밑줄이 그어진 텍스트를 클릭하면 볼륨 수가 리전에 어떻게 분산되는지 표시됩니다.

1. **전역 검색** 탭에서 클라이언트 필터 **리소스 유형 = 볼륨**을 선택합니다. 리전 또는 태그를 지정하여 결과를 추가로 필터링할 수 있습니다.

------
#### [ AWS CLI ]

**EBS 볼륨에 대한 정보를 보려면**  
[describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) 명령을 사용합니다. 다음 예제는 현재 리전의 볼륨 수를 계산합니다.

```
aws ec2 describe-volumes --query "length(Volumes[*])"
```

다음 예제는 지정된 인스턴스에 연결된 볼륨을 나열합니다.

```
aws ec2 describe-volumes \
    --filters "Name=attachment.instance-id,Values=i-1234567890abcdef0" \
    --query Volumes[*].VolumeId \
    --output text
```

다음 예제는 지정된 볼륨을 설명합니다.

```
aws ec2 describe-volumes --volume-ids vol-01234567890abcdef
```

다음은 예제 출력입니다.

```
{
    "Volumes": [
        {
            "Iops": 3000,
            "VolumeType": "gp3",
            "MultiAttachEnabled": false,
            "Throughput": 125,
            "Operator": {
                "Managed": false
            },
            "VolumeId": "vol-01234567890abcdef",
            "Size": 8,
            "SnapshotId": "snap-0abcdef1234567890",
            "AvailabilityZone": "us-west-2b",
            "State": "in-use",
            "CreateTime": "2024-05-17T23:23:00.400000+00:00",
            "Attachments": [
                {
                    "DeleteOnTermination": true,
                    "VolumeId": "vol-01234567890abcdef",
                    "InstanceId": "i-1234567890abcdef0",
                    "Device": "/dev/xvda",
                    "State": "attached",
                    "AttachTime": "2024-05-17T23:23:00+00:00"
                }
            ],
            "Encrypted": false
        }
    ]
}
```

------
#### [ PowerShell ]

**EBS 볼륨에 대한 정보를 보려면**  
[Get-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Volume.html) cmdlet을 사용합니다. 다음 예제는 현재 리전의 볼륨 수를 계산합니다.

```
(Get-EC2Volume).Count
```

다음 예제는 지정된 인스턴스에 연결된 볼륨을 나열합니다.

```
(Get-EC2Volume `
    -Filters @{Name="attachment.instance-id";Values="i-1234567890abcdef0"}).VolumeId
```

다음 예제는 지정된 볼륨을 설명합니다.

```
Get-EC2Volume -VolumeId vol-01234567890abcdef
```

다음은 예제 출력입니다.

```
Attachments        : {i-1234567890abcdef0}
AvailabilityZone   : us-west-2b
CreateTime         : 5/17/2024 11:23:00 PM
Encrypted          : False
FastRestored       : False
Iops               : 3000
KmsKeyId           : 
MultiAttachEnabled : False
Operator           : Amazon.EC2.Model.OperatorResponse
OutpostArn         : 
Size               : 8
SnapshotId         : snap-0abcdef1234567890
SseType            : 
State              : in-use
Tags               : {}
Throughput         : 125
VolumeId           : vol-01234567890abcdef
VolumeType         : gp3
```

------

## 볼륨 상태
<a name="volume-state"></a>

볼륨 상태는 Amazon EBS 볼륨의 가용성을 설명합니다. 콘솔의 볼륨 페이지에 있는 **상태** 열에서 또는 describe-volumes 명령을 사용하여 **볼륨** 상태를 볼 수 있습니다. [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) AWS CLI 

Amazon EBS 볼륨은 생성되는 순간부터 삭제될 때까지 다양한 상태로 전환됩니다.

다음 그림에서는 볼륨 상태 간 전환을 보여줍니다. Amazon EBS 스냅샷에서 볼륨을 생성하거나 빈 볼륨을 생성할 수 있습니다. 볼륨은 생성하면 `creating` 상태로 전환됩니다. 볼륨이 사용할 준비가 되면 `available` 상태로 전환됩니다. 사용 가능한 볼륨을 볼륨과 동일한 가용 영역에 있는 인스턴스에 연결할 수 있습니다. 볼륨을 다른 인스턴스에 연결하거나 삭제하려면 먼저 볼륨을 분리해야 합니다. 더 이상 필요하지 않은 볼륨은 삭제할 수 있습니다.

![\[EBS 볼륨의 수명 주기입니다.\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/volume-states.png)


다음 표에는 볼륨 상태가 요약되어 있습니다.


| State | 설명 | 
| --- | --- | 
| creating | 볼륨이 생성되고 있습니다. | 
| available | 볼륨이 인스턴스에 연결되어 있지 않습니다. | 
| in-use | 볼륨이 인스턴스에 연결되어 있습니다. | 
| deleting | 볼륨이 삭제 중입니다. | 
| deleted | 볼륨이 삭제되었습니다. | 
| error | EBS 볼륨과 관련된 기본 하드웨어에 장애가 발생하여 볼륨과 연결된 데이터를 복구할 수 없습니다. 볼륨을 복원하거나 볼륨의 데이터를 복원하는 방법에 대한 자세한 내용은 [내 EBS 볼륨이 왜 “오류” 상태입니까?](https://repost.aws/knowledge-center/ebs-error-status)를 참조하세요. | 

## 볼륨 지표 보기
<a name="ebs-view-volume-metrics"></a>

Amazon CloudWatch에서 EBS 볼륨에 대한 추가 정보를 얻을 수 있습니다. 자세한 내용은 [Amazon EBS에 대한 Amazon CloudWatch 지표](using_cloudwatch_ebs.md) 섹션을 참조하세요.

## 여유 디스크 공간 보기
<a name="ebs-view-free-disk-space-lin"></a>

사용 가능한 디스크 공간 등 EBS 볼륨에 대한 추가 정보를 인스턴스의 운영 체제에서 가져올 수 있습니다.

### Linux 인스턴스
<a name="ebs-view-free-disk-space-linux"></a>

**df -hT** 명령을 사용하여 디바이스 이름을 지정합니다.

```
[ec2-user ~]$ df -hT /dev/xvda1
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/xvda1     xfs       8.0G  1.2G  6.9G  15% /
```

### Windows 인스턴스
<a name="ebs-view-free-disk-space-windows"></a>

파일 탐색기를 열어 **이 PC**를 선택하면 여유 디스크 공간을 볼 수 있습니다.

다음과 같이 `dir` 명령을 사용하여 출력된 내용의 마지막 행에서 여유 디스크 공간을 확인할 수도 있습니다.

```
C:\> dir C:
 Volume in drive C has no label.
 Volume Serial Number is 68C3-8081

 Directory of C:\

03/25/2018  02:10 AM    <DIR>          .
03/25/2018  02:10 AM    <DIR>          ..
03/25/2018  03:47 AM    <DIR>          Contacts
03/25/2018  03:47 AM    <DIR>          Desktop
03/25/2018  03:47 AM    <DIR>          Documents
03/25/2018  03:47 AM    <DIR>          Downloads
03/25/2018  03:47 AM    <DIR>          Favorites
03/25/2018  03:47 AM    <DIR>          Links
03/25/2018  03:47 AM    <DIR>          Music
03/25/2018  03:47 AM    <DIR>          Pictures
03/25/2018  03:47 AM    <DIR>          Saved Games
03/25/2018  03:47 AM    <DIR>          Searches
03/25/2018  03:47 AM    <DIR>          Videos
               0 File(s)              0 bytes
              13 Dir(s)  18,113,662,976 bytes free
```

다음과 같이 `fsutil` 명령을 사용해 여유 디스크 공간을 확인할 수도 있습니다.

```
C:\> fsutil volume diskfree C:
Total # of free bytes        : 18113204224
Total # of bytes             : 32210153472
Total # of avail free bytes  : 18113204224
```

**작은 정보**  
CloudWatch 에이전트를 사용하여 인스턴스에 연결하지 않고도 Amazon EC2 인스턴스에서 디스크 공간 사용량 지표를 수집할 수도 있습니다. 자세한 내용을 알아보려면 *Amazon CloudWatch 사용 설명서*의 [ CloudWatch 에이전트 구성 파일 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file.html)과 [CloudWatch 에이전트 설치](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html)를 참조하세요. 여러 인스턴스의 디스크 공간 사용량을 모니터링해야 하는 경우, Systems Manager를 사용하여 해당 인스턴스에 CloudWatch 에이전트를 설치하고 구성할 수 있습니다. 자세한 내용을 알아보려면 [Systems Manager를 사용하여 CloudWatch 에이전트 설치(Installing the CloudWatch agent using Systems Manager)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/installing-cloudwatch-agent-ssm.html)를 참조하세요.

# 탄력적 볼륨 작업을 사용하여 Amazon EBS 볼륨 수정
<a name="ebs-modify-volume"></a>

Amazon EBS Elastic Volumes를 통해 볼륨 크기를 늘리거나 볼륨 유형을 변경하거나 EBS 볼륨의 성능을 조정할 수 있습니다. 인스턴스가 탄력적 볼륨을 지원하는 경우에는 볼륨을 분리하거나 인스턴스를 재시작하지 않고도 이것이 가능합니다. 따라서 변경 사항이 적용되는 동안 애플리케이션을 계속 사용할 수 있습니다.

볼륨 구성 수정은 무료입니다. 볼륨 수정이 시작된 후 새 볼륨 구성에 대한 요금이 청구됩니다. 자세한 내용은 [Amazon EBS 요금](https://aws.amazon.com/ebs/pricing/) 페이지를 참조하세요.

**Topics**
+ [고려 사항](#elastic-volumes-considerations)
+ [제한 사항](#elastic-volumes-limitations)
+ [Amazon EBS 볼륨 수정 요구 사항](modify-volume-requirements.md)
+ [Amazon EBS 볼륨 수정 요청](requesting-ebs-volume-modifications.md)
+ [Amazon EBS 볼륨 수정 진행 상황 모니터링](monitoring-volume-modifications.md)
+ [Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장](recognize-expanded-volume-linux.md)

## 고려 사항
<a name="elastic-volumes-considerations"></a>
+ 볼륨 수정을 시작한 후에는 해당 수정이 `completed` 상태에 도달할 때까지 기다려야 동일한 볼륨에 대해 다른 수정을 시작할 수 있습니다. 볼륨이 `in-use` 또는 `available` 상태이고 해당 볼륨에 대한 모든 이전 수정이 인 경우 롤링 24시간 내에 볼륨을 최대 4회 수정할 수 있습니다`completed`. 이 제한을 초과하면 다음 수정을 수행할 수 있는 시기를 나타내는 오류 메시지가 표시됩니다.
+ 볼륨 수정은 최대한 수행되며 요청된 볼륨 구성에 따라 완료하는 데 몇 분에서 몇 시간이 걸릴 수 있습니다. 일반적으로 1-TiB 볼륨을 수정하는 데 최대 6시간이 걸릴 수 있습니다. 그러나 시간이 항상 볼륨 크기에 따라 선형적으로 조정되는 것은 아닙니다. 볼륨이 클수록 시간이 줄어들고 볼륨이 작을수록 시간이 더 걸릴 수 있습니다.
+ 크기 증가는 볼륨 수정이 `optimizing` 상태에 도달하면 적용되며, 일반적으로 몇 초가 걸립니다.
+ 완전히 초기화되지 않은 볼륨의 경우 수정 시간이 늘어납니다. 자세한 내용은 [볼륨 생성 후 수동 초기화](initalize-volume.md#ebs-initialize)을 참조하세요.
+ 볼륨 유형을 `gp2`에서 `gp3`로 변경하고, IOPS 또는 처리량 성능을 지정하지 않는 경우, Amazon EBS에서 소스 `gp2` 볼륨이나 기준 `gp3` 성능 중에서 높은 쪽으로 그에 준하는 성능을 자동 프로비저닝합니다.

  예를 들어 처리량이 250MiB/s이고 IOPS가 1,500인 500GiB `gp2` 볼륨을 IOPS나 처리량 성능을 지정하지 않고 `gp3`으로 수정할 경우, Amazon EBS에서 IOPS 3,000(기준 `gp3` IOPS) 및 250MiB/s(소스 `gp2` 볼륨 처리량과 일치)으로 `gp3` 볼륨을 자동 프로비저닝합니다.
+ EBS 볼륨을 수정하려고 시도할 때 오류 메시지가 표시되는 경우 또는 이전 세대 인스턴스 유형에 연결된 EBS 볼륨을 수정하는 경우 다음 중 한 가지 조치를 취하세요.
  + 루트가 아닌 볼륨의 경우, 인스턴스에서 볼륨을 분리하고 수정 사항을 적용한 다음 볼륨을 다시 연결합니다.
  + 루트 볼륨의 경우, 인스턴스를 중단하고 수정 사항을 적용한 다음 인스턴스를 다시 시작합니다.

## 제한 사항
<a name="elastic-volumes-limitations"></a>
+ 볼륨 수정 요청을 제출한 후에는 취소할 수 없습니다.
+ 볼륨 크기를 높여야 합니다. 볼륨 크기는 줄일 수 없습니다. 그러나 더 작은 볼륨을 생성한 다음에 **rsync**(Linux 인스턴스) 또는 **robocopy**(Windows 인스턴스) 같은 애플리케이션 수준 도구를 사용하여 해당 볼륨으로 데이터를 마이그레이션할 수 있습니다.
+ 볼륨 수정 시 요청할 수 있는 최대 집계 스토리지에는 제한이 있습니다. 자세한 내용은 *Amazon Web Services 일반 참조*의 [Amazon EBS 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/ebs-service.html#limits_ebs)을 참조하세요.
+ 새 볼륨 크기는 볼륨의 파일 시스템 및 파티셔닝 체계에서 지원되는 용량을 초과할 수 없습니다. 자세한 내용은 [Amazon EBS 볼륨 제약 조건](volume_constraints.md) 단원을 참조하십시오.
+ 볼륨 유형을 변경하지 않는 경우 볼륨 크기와 성능 수정은 현재 볼륨 유형의 제한 범위 내에서 이루어져야 합니다. 볼륨 유형을 변경하는 경우 볼륨 크기와 성능 수정은 대상 볼륨 유형의 제한 범위 내에서 이루어져야 합니다. 자세한 내용은 [Amazon EBS 볼륨 유형](ebs-volume-types.md) 섹션을 참조하세요.
+ [ Nitro 기반 인스턴스](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서는 최대 256,000 IOPS로 프로비저닝된 볼륨을 지원합니다. 다른 인스턴스 유형은 최대 64,000 IOPS로 프로비저닝된 볼륨에 연결할 수 있지만 최대 32,000 IOPS를 달성할 수 있습니다.
+ 다중 연결 사용 `io2` 볼륨에 대한 볼륨 유형은 수정할 수 없습니다.
+ 다중 연결 지원 `io1` 볼륨의 볼륨 유형, 크기 또는 프로비저닝된 IOPS는 수정할 수 없습니다.
+ 루트 볼륨 유형 `io1`, `io2`, `gp2`, `gp3` 또는 `standard`는 인스턴스에서 분리하더라도 `st1` 또는 `sc1` 볼륨으로 수정할 수 없습니다.
+ 볼륨이 2016년 11월 3일 23:40 UTC 이전에 연결된 경우에는 탄력적 볼륨 지원을 초기화해야 합니다. 자세한 내용은 [탄력적 볼륨 지원 초기화](requesting-ebs-volume-modifications.md#initialize-modification-support)를 참조하십시오.
+ `m3.medium` 인스턴스는 볼륨 수정을 완전하게 지원하지만 `m3.large`, `m3.xlarge` 및 `m3.2xlarge` 인스턴스는 일부 볼륨 수정 기능을 지원하지 않을 수 있습니다.

# Amazon EBS 볼륨 수정 요구 사항
<a name="modify-volume-requirements"></a>

Amazon EBS 볼륨을 수정할 때 다음과 같은 요구 사항과 제한 사항이 적용됩니다. EBS 볼륨에 대한 일반 요구 사항에 대한 자세한 내용은 [Amazon EBS 볼륨 제약 조건](volume_constraints.md)을 참조하세요.

**Topics**
+ [지원되는 인스턴스 유형](#instance-support)
+ [운영 체제](#operating-system)

## 지원되는 인스턴스 유형
<a name="instance-support"></a>

탄력적 볼륨을 지원하는 인스턴스는 다음과 같습니다.
+ 모든 [현재 세대 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#current-gen-instances)
+ 이전 세대 인스턴스: C1, C3, C4, G2, I2, M1, M3, M4, R3, R4

인스턴스 유형에서 탄력적 볼륨을 지원하지 않는 경우에는 [탄력적 볼륨이 지원되지 않는 경우의 EBS 볼륨 수정](requesting-ebs-volume-modifications.md#modify-volume-stop-start) 섹션을 참조하세요.

## 운영 체제
<a name="operating-system"></a>

다음과 같은 운영 체제 요구 사항이 적용됩니다.

### Linux
<a name="operating-system-linux"></a>

Linux AMI에서 부팅 볼륨 2TiB(2,048GiB) 이상을 사용하려면 GUID 파티션 테이블(GPT)과 GRUB 2가 필요합니다. 현재 여러 Linux AMI에서도 부팅 볼륨 크기를 최대 2TiB까지만 지원하는 MBR 파티셔닝 체계를 사용하고 있습니다. 인스턴스가 2TiB 이상의 부팅 볼륨에서 부팅되지 않는 경우, 사용 중인 AMI의 부팅 볼륨 크기가 2TiB 미만으로 제한된 상태일 수 있습니다. 부팅 볼륨이 아닌 볼륨에는 이 Linux 인스턴스에 대한 제한이 적용되지 않습니다.

부팅 볼륨을 2TiB 이상으로 크기를 조정하기 전에 인스턴스에서 다음 명령을 실행하여 볼륨이 MBR 또는 GPT 파티셔닝을 사용하는지 확인할 수 있습니다.

```
[ec2-user ~]$ sudo gdisk -l /dev/xvda
```

GPT 파티셔닝을 사용하는 Amazon Linux 인스턴스는 다음 정보를 반환합니다.

```
GPT fdisk (gdisk) version 0.8.10
  
  Partition table scan:
    MBR: protective
    BSD: not present
    APM: not present
    GPT: present
  
  Found valid GPT with protective MBR; using GPT.
```

MBR 파티셔닝을 사용하는 SUSE 인스턴스는 다음 정보를 반환합니다.

```
GPT fdisk (gdisk) version 0.8.8
  
  Partition table scan:
    MBR: MBR only
    BSD: not present
    APM: not present
    GPT: not present
```

### Windows
<a name="operating-system-windows"></a>

기본적으로 Windows는 마스터 부트 레코드(MBR) 파티션 테이블을 사용하여 볼륨을 초기화합니다. MBR는 2TiB(2,048GiB) 미만의 볼륨만 지원하기 때문에 Windows에서는 MBR 볼륨 크기를 이 한도를 넘는 크기로 변경할 수 없습니다. 이렇게 하면 Windows **디스크 관리** 유틸리티에서 **볼륨 확장** 옵션이 비활성화됩니다. AWS Management Console 또는를 사용하여 크기 제한을 초과하는 MBR 분할 볼륨을 AWS CLI 생성하는 경우 Windows는 추가 공간을 감지하거나 사용할 수 없습니다.

이 제한을 해결하려면 GUID 파티션 테이블(GPT)을 사용하여 더 큰 볼륨을 새로 만든 후 원래 MBR 볼륨의 데이터를 복사합니다.

**GPT 볼륨을 생성하려면**

1. EC2 인스턴스의 가용 영역에서 원하는 크기의 비어 있는 새 볼륨을 생성하고 이 볼륨을 인스턴스에 연결합니다.
**참고**  
새 볼륨은 스냅샷에서 복원한 볼륨이 아니어야 합니다.

1. Windows 시스템에 로그인하고 **디스크 관리**(**diskmgmt.exe**)를 엽니다.

1. 새 디스크를 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 열고 **온라인**을 선택합니다.

1. **디스크 초기화** 창에서 새 디스크를 선택하고 **GPT(GUID 파티션 테이블)**, **확인**을 선택합니다.

1. 초기화가 완료되면 robocopy 또는 teracopy 등의 도구를 사용하여 원래 볼륨의 데이터를 새 볼륨으로 복사합니다.

1. **디스크 관리**에서 드라이브 문자를 적절한 값으로 변경하고 기존 볼륨을 오프라인으로 전환합니다.

1. Amazon EC2 콘솔에서 기존 볼륨을 인스턴스에서 분리하고, 인스턴스를 재부팅하여 인스턴스가 제대로 작동하는지 확인한 다음, 기존 볼륨을 삭제합니다.

# Amazon EBS 볼륨 수정 요청
<a name="requesting-ebs-volume-modifications"></a>

탄력적 볼륨을 사용하면 Amazon EBS 볼륨을 분리하지 않고도 크기를 늘리고, 성능을 높이거나 낮추고, 볼륨 유형을 동적으로 변경할 수 있습니다.

**프로세스 개요**

1. (선택 사항) 중요한 데이터가 포함된 볼륨을 수정하려면 먼저 변경 내용을 롤백해야 할 경우를 대비하여 볼륨의 스냅샷을 생성하는 것이 바람직합니다. 자세한 내용은 [Amazon EBS 스냅샷 생성](ebs-creating-snapshot.md) 섹션을 참조하세요.

1. 볼륨 수정을 요청합니다.

1. 볼륨 수정의 진행 상황을 모니터링합니다. 자세한 내용은 [Amazon EBS 볼륨 수정 진행 상황 모니터링](monitoring-volume-modifications.md) 섹션을 참조하세요.

1. 볼륨 크기가 수정된 경우 볼륨의 파일 시스템을 확장하여 스토리지 용량 증가를 활용합니다. 자세한 내용은 [Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장](recognize-expanded-volume-linux.md) 단원을 참조하십시오.

**Topics**
+ [탄력적 볼륨을 사용하여 EBS 볼륨 수정](#modify-ebs-volume)
+ [탄력적 볼륨이 지원되지 않는 경우의 EBS 볼륨 수정](#modify-volume-stop-start)
+ [탄력적 볼륨 지원 초기화(필요한 경우)](#initialize-modification-support)

## 탄력적 볼륨을 사용하여 EBS 볼륨 수정
<a name="modify-ebs-volume"></a>

시작하기 전에 다음을 수행하세요.
+ [고려 사항](ebs-modify-volume.md#elastic-volumes-considerations)
+ [제한 사항 ](ebs-modify-volume.md#elastic-volumes-limitations)
+ [요구 사항](modify-volume-requirements.md)

------
#### [ Console ]<a name="console-modify-size"></a>

**EBS 볼륨을 수정하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 수정할 볼륨을 선택하고 **작업(Actions)**, **볼륨 수정(Modify volume)**을 선택합니다.

1. **볼륨 수정(Modify volume)** 화면에 볼륨 ID와 유형, 크기, IOPS 및 처리량을 포함한 볼륨의 현재 구성이 표시됩니다. 다음과 같이 새로운 구성 값을 설정합니다.
   + 유형을 수정하려면 **볼륨 유형(Volume type)**의 값을 선택합니다.
   + 크기를 수정하려면 [**크기(Size)**]에 대한 새 값을 입력합니다.
   + (`gp3`, `io1` 및 `io2`에만 해당) IOPS를 수정하려면 **IOPS**에 대한 새 값을 입력합니다.
   + (`gp3`에만 해당) 처리량을 수정하려면 **처리량(Throughput)**에 대한 새 값을 입력합니다.

1. 볼륨 설정 변경을 완료했으면 **수정**을 선택합니다. 확인 메시지가 나타나면 **수정(Modify)**을 선택합니다.

1. 볼륨 크기를 늘린 경우 추가 저장 용량을 사용하려면 볼륨의 파티션도 확장해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장](recognize-expanded-volume-linux.md) 단원을 참조하십시오.

1. (*Windows 인스턴스만 해당*) AWS NVMe 드라이버가 없는 인스턴스에서 NVMe 볼륨의 크기를 늘리는 경우 Windows가 새 볼륨 크기를 볼 수 있도록 인스턴스를 재부팅해야 합니다. AWS NVMe 드라이버 설치에 대한 자세한 내용은 [AWS NVMe 드라이버](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html)를 참조하세요.

------
#### [ AWS CLI ]

**EBS 볼륨을 수정하려면**  
[modify-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-volume.html) 명령을 사용합니다. 예를 들어 크기가 100GiB이고 유형이 `gp2`인 볼륨을 가지고 있는 경우, 다음 예제가 IOPS가 10,000이고 크기가 200GiB이며 유형이 `io1`인 볼륨에 대한 구성을 변경합니다.

```
aws ec2 modify-volume \
    --volume-id vol-01234567890abcdef \
    --volume-type io1 \
    --iops 10000 \
    --size 200
```

다음은 예제 출력입니다.

```
{
    "VolumeModification": {
        "TargetSize": 200,
        "TargetVolumeType": "io1",
        "ModificationState": "modifying",
        "VolumeId": "vol-01234567890abcdef",
        "TargetIops": 10000,
        "StartTime": "2022-01-19T22:21:02.959Z",
        "Progress": 0,
        "OriginalVolumeType": "gp2",
        "OriginalIops": 300,
        "OriginalSize": 100
    }
}
```

볼륨 크기를 늘린 경우 추가 저장 용량을 사용하려면 볼륨의 파티션도 확장해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장](recognize-expanded-volume-linux.md) 단원을 참조하십시오.

------
#### [ PowerShell ]

**EBS 볼륨을 수정하려면**  
[Edit-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Volume.html) cmdlet을 사용합니다. 예를 들어 크기가 100GiB이고 유형이 `gp2`인 볼륨을 가지고 있는 경우, 다음 예제가 IOPS가 10,000이고 크기가 200GiB이며 유형이 `io1`인 볼륨에 대한 구성을 변경합니다.

```
Edit-EC2Volume `
    -VolumeId vol-01234567890abcdef `
    -VolumeType io1 `
    -Iops 10000 `
    -Size 200
```

볼륨 크기를 늘린 경우 추가 저장 용량을 사용하려면 볼륨의 파티션도 확장해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장](recognize-expanded-volume-linux.md) 단원을 참조하십시오.

------

## 탄력적 볼륨이 지원되지 않는 경우의 EBS 볼륨 수정
<a name="modify-volume-stop-start"></a>

지원되는 인스턴스 유형을 사용하고 있는 경우에는 탄력적 볼륨을 이용해 Amazon EBS 볼륨을 분리하지 않고도 크기, 성능 및 볼륨 유형을 동적으로 수정할 수 있습니다.

탄력적 볼륨을 사용할 수는 없지만 루트(부트) 볼륨을 수정해야 하는 경우에는 인스턴스를 중지하고 볼륨을 수정한 후 인스턴스를 다시 시작해야 합니다.

인스턴스가 시작된 후 파일 시스템의 크기를 확인하여 인스턴스가 더 큰 볼륨 공간을 인식하는지 파악할 수 있습니다. Linux에서는 **df -h** 명령을 사용하여 파일 시스템의 크기를 확인합니다.

```
[ec2-user ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  943M  6.9G  12% /
tmpfs                 1.9G     0  1.9G   0% /dev/shm
```

새로 확장된 볼륨이 크기에 반영되지 않을 경우 인스턴스에서 새 공간을 사용할 수 있도록 디바이스의 파일 시스템을 확장해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장](recognize-expanded-volume-linux.md) 단원을 참조하십시오.

볼륨을 Windows 인스턴스에서 사용하려면 온라인 상태로 전환해야 할 수 있습니다. 자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 단원을 참조하십시오. 볼륨을 다시 포맷할 필요는 없습니다.

## 탄력적 볼륨 지원 초기화(필요한 경우)
<a name="initialize-modification-support"></a>

2016년 11월 3일 23:40 UTC 이전에 인스턴스에 연결된 볼륨을 수정하기 전에 다음 중 한 가지 조치를 취하여 볼륨 수정 지원을 초기화해야 합니다.
+ 볼륨을 분리한 후 다시 연결합니다.
+ 인스턴스 중지 및 시작

------
#### [ Console ]

**인스턴스가 준비가 되었는지를 확인하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **인스턴스**를 선택합니다.

1. **열 표시/숨기기(Show/Hide Columns)** 아이콘(기어 모양)을 선택합니다. **시작 시간** 속성 열을 선택한 다음 **확인**을 선택합니다.

1. **시작 시간(Launch Time)** 열을 기준으로 인스턴스의 목록을 정렬합니다. 컷오프 날짜 이전에 시작된 각 인스턴스에 대해 **스토리지** 탭을 선택하고 **연결 시간** 열에서 볼륨이 연결된 시간을 확인합니다.

------
#### [ AWS CLI ]

**인스턴스가 준비가 되었는지를 확인하려면**  
다음 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용하여 2016년 11월 3일 23:40 UTC 전에 볼륨이 연결되었는지 여부를 확인합니다.

```
aws ec2 describe-instances \
    --query "Reservations[*].Instances[*].[InstanceId,LaunchTime<='2016-11-01',BlockDeviceMappings[*][Ebs.AttachTime<='2016-11-01']]" \
    --output text
```

각 인스턴스의 출력 첫 줄에는 해당 ID와 컷오프 날짜 이전에 시작되었는지 여부(True 또는 False)가 표시됩니다. 첫 줄 다음에는 각 EBS 볼륨이 컷오프 날짜 이전에 연결되었는지 여부를 보여주는(True 또는 False) 줄이 하나 이상 뒤따라 표시됩니다. 다음 예제 출력에서, 첫 번째 인스턴스가 컷오프 날짜 이전에 시작되었으며 해당 루트 볼륨이 컷오프 날짜 이전에 연결되었으므로 첫 번째 인스턴스에 대한 볼륨 수정을 초기화해야 합니다. 다른 인스턴스는 컷오프 날짜 이후에 시작되었으므로 사용 준비가 되었습니다.

```
i-e905622e              True
True
i-719f99a8              False
True
i-006b02c1b78381e57     False
False
False
i-e3d172ed              False
True
```

------
#### [ PowerShell ]

**인스턴스가 준비가 되었는지 확인하려면**  
[Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용하여 볼륨이 2016년 11월 3일 23:40 UTC 이전에 연결되었는지 여부를 확인합니다.

```
(Get-EC2Instance `
    -InstanceId i-1234567890abcdef0).Instances.BlockDeviceMappings | `
     Format-Table @{Name="VolumeId";Expression={$_.Ebs.VolumeId}}, `
                  @{Name="AttachTime";Expression={$_.Ebs.AttachTime}}
```

다음은 예제 출력입니다.

```
VolumeId              AttachTime
--------              ----------
vol-0b243c8d927752d2b 3/23/2020 12:21:14 AM
vol-043eadbeb4a8387c3 9/5/2020 7:39:22 PM
vol-0c3f0c4e55c082753 4/23/2019 4:07:40 PM
```

------

# Amazon EBS 볼륨 수정 진행 상황 모니터링
<a name="monitoring-volume-modifications"></a>

수정 시 EBS 볼륨은 상태 시퀀스를 통과합니다. 볼륨은 `modifying` 상태가 된 다음 `optimizing` 상태가 되고, 마지막으로 `completed` 상태가 됩니다. 그러면 볼륨을 더 수정할 준비가 완료됩니다.

볼륨이 `optimizing` 상태에 있는 동안 볼륨 성능은 소스 및 대상 구성 사양 사이에 있습니다. 일시적인 볼륨 성능은 소스 볼륨 성능 이상입니다. IOPS를 다운로드하면 일시적인 볼륨 성능은 대상 볼륨 성능 이상입니다.

볼륨 수정 변경 사항은 다음과 같이 적용됩니다.
+ 크기 증가는 볼륨 수정이 `optimizing` 상태에 도달하면 적용되며, 일반적으로 몇 초가 걸립니다.
+ 요청된 볼륨 구성에 따라 성능(IOPS 및 처리량) 변경을 완료하는 데 몇 분에서 몇 시간이 걸릴 수 있습니다. 일반적으로 완전히 사용되는 1-TiB 볼륨은 새 성능 구성으로 마이그레이션하는 데 약 6시간이 걸릴 수 있습니다. 경우에 따라 볼륨이 완전히 초기화되지 않은 경우와 같이 새 성능 구성이 적용되는 데 24시간 이상 걸릴 수 있습니다.

가능한 볼륨 상태는 `creating`, `available`, `in-use`, `deleting`, `deleted` 및 `error`입니다.

가능한 수정 상태는 `modifying`, `optimizing` 및 `completed`입니다.

------
#### [ Console ]

**수정 진행 상태를 모니터링하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택합니다.

1. **세부 정보** 탭의 **볼륨 상태** 열과 **볼륨 상태** 필드에는 *볼륨 상태* - *수정 상태*(*수정 진행률*) 형식의 정보가 들어 있습니다. 다음 이미지는 볼륨 및 볼륨 수정 상태를 보여줍니다.  
![\[볼륨 및 볼륨 수정 상태\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/volume_state.png)

   수정이 완료되면 볼륨 상태만 표시됩니다. 수정 상태 및 진행 상황이 더 이상 표시되지 않습니다.

   또는 Amazon EventBridge를 사용하여 볼륨 수정 이벤트에 대한 알림 규칙을 만들 수 있습니다. 자세한 내용은 [Amazon EventBridge 시작하기](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-get-started.html)를 참조하세요.

------
#### [ AWS CLI ]

**수정 진행 상태를 모니터링하려면**  
[describe-volumes-modifications](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes-modifications.html) 명령을 사용하여 하나 이상의 볼륨 수정 진행 상황을 모니터링합니다. 다음 예제에서는 두 볼륨의 볼륨 수정을 설명합니다.

```
aws ec2 describe-volumes-modifications \
    --volume-ids vol-11111111111111111 vol-22222222222222222
```

다음 예제 출력에서 볼륨 수정의 여전히 `modifying` 상태입니다. 진행률은 백분율로 보고됩니다.

```
{
    "VolumesModifications": [
        {
            "TargetSize": 200,
            "TargetVolumeType": "io1",
            "ModificationState": "modifying",
            "VolumeId": "vol-11111111111111111",
            "TargetIops": 10000,
            "StartTime": "2017-01-19T22:21:02.959Z",
            "Progress": 0,
            "OriginalVolumeType": "gp2",
            "OriginalIops": 300,
            "OriginalSize": 100
        },
        {
            "TargetSize": 2000,
            "TargetVolumeType": "sc1",
            "ModificationState": "modifying",
            "VolumeId": "vol-22222222222222222",
            "StartTime": "2017-01-19T22:23:22.158Z",
            "Progress": 0,
            "OriginalVolumeType": "gp2",
            "OriginalIops": 300,
            "OriginalSize": 1000
        }
    ]
}
```

다음 예에서는 수정 상태가 `optimizing` 또는 `completed`인 모든 볼륨을 설명하고, 2017년 2월 1일 이후 시작된 수정만 표시하도록 결과를 필터링 및 형식 지정합니다.

```
aws ec2 describe-volumes-modifications \
    --filters Name=modification-state,Values="optimizing","completed" \
    --query "VolumesModifications[?StartTime>='2017-02-01'].{ID:VolumeId,STATE:ModificationState}"
```

다음은 두 볼륨에 대한 정보가 포함된 출력 예제입니다.

```
[
    {
        "STATE": "optimizing",
        "ID": "vol-06397e7a0eEXAMPLE"
    },
    {
        "STATE": "completed",
        "ID": "vol-ba74e18c2aEXAMPLE"
    }
]
```

------
#### [ PowerShell ]

**수정 진행 상태를 모니터링하려면**  
[Get-EC2VolumeModification](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2VolumeModification.html) cmdlet을 사용합니다. 다음 예제에서는 두 볼륨의 볼륨 수정을 설명합니다.

```
Get-EC2VolumeModification `
    -VolumeId vol-11111111111111111 vol-22222222222222222
```

------

**참고**  
드물게 일시적인 AWS 장애로 인해 `failed` 상태가 발생할 수 있습니다. 이는 볼륨 상태를 나타내는 것이 아니라 단지 볼륨 수정이 실패했음을 나타내는 것입니다. 이 경우 볼륨 수정을 다시 시도합니다.

# Amazon EBS 볼륨 크기 조정 후 파일 시스템 확장
<a name="recognize-expanded-volume-linux"></a>

[EBS 볼륨 크기 증가](requesting-ebs-volume-modifications.md) 후 파일 시스템을 새롭게 더 큰 크기로 확장하려면 파티션과 파일 시스템을 확장해야 합니다. 볼륨이 `optimizing` 상태가 되자마자 이 작업을 수행할 수 있습니다.

## 시작하기 전 준비 사항
<a name="extend-file-system"></a>
+ 변경 사항을 롤백해야 하는 경우에 대비하여 볼륨의 스냅샷을 생성합니다. 자세한 내용은 [Amazon EBS 스냅샷 생성](ebs-creating-snapshot.md) 단원을 참조하십시오.
+ 볼륨 수정이 성공했으며 `optimizing` 또는 `completed` 상태인지 확인합니다. 자세한 내용은 [Amazon EBS 볼륨 수정 진행 상황 모니터링](monitoring-volume-modifications.md) 단원을 참조하십시오.
+ 볼륨이 인스턴스에 연결되어 있고 포맷 및 탑재되었는지 확인합니다. 자세한 내용은 [연결된 볼륨 포맷 및 탑재](ebs-using-volumes.md#ebs-format-mount-volume) 단원을 참조하십시오.
+ (**Linux 인스턴스에만 해당) Amazon EBS 볼륨에서 논리 볼륨을 사용하는 경우, 논리 볼륨 관리자(LVM)를 사용하여 논리 볼륨을 확장해야 합니다. 이 작업을 수행하는 방법에 대한 지침을 알아보려면 문서 [LVM을 사용하여 Amazon EBS 볼륨의 파티션에 논리 볼륨을 생성하려면 어떻게 해야 합니까?](https://repost.aws/knowledge-center/create-lv-on-ebs-partition)의 **LV 확장** 섹션을 참조하세요.

## Linux 인스턴스
<a name="extend-linux"></a>

**참고**  
다음과 같은 지침에서는 Linux용 **XFS** 및 **Ext4** 파일 시스템을 확장하는 프로세스를 안내합니다. 다른 파일 시스템을 확장하는 방법에 대한 자세한 내용은 해당 설명서를 참조하세요.

볼륨에 파티션이 있으면 파티션을 먼저 확장해야 Linux에서 파일 시스템을 확장할 수 있습니다.

### EBS 볼륨의 파일 시스템 확장
<a name="extend-file-system"></a>

크기가 조정된 볼륨의 파일 시스템을 확장하려면 다음 절차를 따르세요.

디바이스 및 파티션 이름 지정은 Xen 인스턴스와 Nitro System에 구축된 인스턴스에 따라 다릅니다. 인스턴스가 Xen 기반인지 Nitro 기반인지 여부를 확인하려면 [Amazon EC2 하이퍼바이저 유형](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-hypervisor-type)을 참조하세요.

**EBS 볼륨의 파일 시스템을 확장하려면**

1. [인스턴스에 연결합니다](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html).

1. 필요한 경우 파티션 크기를 조정합니다. 그렇게 하려면 다음을 수행하세요.

   1. 볼륨에 파티션이 있는지 확인합니다. **lsblk** 명령을 사용합니다.

------
#### [ Nitro instance example ]

      다음 예제 출력에서 루트 볼륨(`nvme0n1`)에는 2개의 파티션(`nvme0n1p1` 및 `nvme0n1p128`)이 있는 반면 추가 볼륨(`nvme1n1`)에는 파티션이 없습니다.

      ```
      [ec2-user ~]$ sudo lsblk
      NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
      nvme1n1       259:0    0  30G  0 disk /data
      nvme0n1       259:1    0  16G  0 disk
      └─nvme0n1p1   259:2    0   8G  0 part /
      └─nvme0n1p128 259:3    0   1M  0 part
      ```

------
#### [ Xen instance example ]

      다음 예제 출력에서 루트 볼륨(`xvda`)에는 1개의 파티션(`xvda1`)이 있는 반면 추가 볼륨(`xvdf`)에는 파티션이 없습니다.

      ```
      [ec2-user ~]$ sudo lsblk                
      NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
      xvda    202:0    0  16G  0 disk
      └─xvda1 202:1    0   8G  0 part /
      xvdf    202:80   0  24G  0 disk
      ```

------
      + 볼륨에 파티션이 있으면 다음 단계(2b)를 계속합니다.
      + 볼륨에 파티션이 없으면 2b, 2c 및 2d 단계를 건너뛰고 3단계를 계속 진행합니다.
**문제 해결 도움말**  
명령 출력에 볼륨이 표시되지 않으면 볼륨이 [인스턴스에 연결](ebs-attaching-volume.md)되어 있고 [포맷 및 탑재](ebs-using-volumes.md#ebs-format-mount-volume)되었는지 확인합니다.

   1. 파티션을 확장해야 하는지 여부를 확인합니다. 이전 단계의 **lsblk** 명령 출력에서 파티션 크기와 볼륨 크기를 비교합니다.
      + 파티션 크기가 볼륨 크기보다 작은 경우 다음 단계(2c)를 계속 진행합니다.
      + 파티션 크기가 볼륨 크기와 같은 경우, 파티션을 확장할 필요가 없습니다. 2c단계와 2d단계를 건너뛰고 3단계로 계속 진행하세요.
**문제 해결 도움말**  
볼륨이 여전히 원래 크기를 반영하는 경우 [볼륨 수정이 성공했는지 확인합니다](monitoring-volume-modifications.md).

   1. 파티션을 확장합니다. **growpart** 명령을 사용하여 디바이스 이름과 파티션 번호를 지정합니다.

------
#### [ Nitro instance example ]

      파티션 번호는 `p` 뒤에 오는 숫자입니다. 예를 들어 `nvme0n1p1`의 경우 파티션 번호는 `1`입니다. `nvme0n1p128`의 경우 파티션 번호는 `128`입니다.

      `nvme0n1p1`이라는 파티션을 확장하려면 다음 명령을 사용합니다.

**중요**  
디바이스 이름(`nvme0n1`)과 파티션 번호(`1`) 사이의 공백에 유의하세요.

      ```
      [ec2-user ~]$ sudo growpart /dev/nvme0n1 1
      ```

------
#### [ Xen instance example ]

      파티션 번호는 디바이스 이름 뒤의 번호입니다. 예를 들어 `xvda1`의 경우 파티션 번호는 `1`입니다. `xvda128`의 경우 파티션 번호는 `128`입니다.

      `xvda1`이라는 파티션을 확장하려면 다음 명령을 사용합니다.

**중요**  
디바이스 이름(`xvda`)과 파티션 번호(`1`) 사이의 공백에 유의하세요.

      ```
      [ec2-user ~]$ sudo growpart /dev/xvda 1
      ```

------
**문제 해결 팁**  
`mkdir: cannot create directory ‘/tmp/growpart.31171’: No space left on device FAILED: failed to make temp dir`: 크기 조정을 수행하는 데 필요한 임시 디렉터리를 생성하기 위해 볼륨에 여유 디스크 공간이 부족함을 나타냅니다. 디스크 공간을 확보한 다음 다시 시도합니다.
`must supply partition-number`: 잘못된 파티션을 지정했음을 나타냅니다. **lsblk** 명령을 사용하여 파티션 이름을 확인하고 디바이스 이름과 파티션 번호 사이에 공백을 입력해야 합니다.
`NOCHANGE: partition 1 is size 16773087. it cannot be grown`: 파티션이 이미 전체 볼륨을 확장하고 확장할 수 없음을 나타냅니다. [볼륨 수정이 성공했는지 확인합니다](monitoring-volume-modifications.md).

   1. 파티션이 확장되었는지 확인합니다. **lsblk** 명령을 사용합니다. 이제 파티션 크기가 볼륨 크기와 같아야 합니다.

------
#### [ Nitro instance example ]

      다음 예제 출력은 볼륨(`nvme0n1`)과 파티션(`nvme0n1p1`)이 동일한 크기(`16 GB`)임을 보여줍니다.

      ```
      [ec2-user ~]$ sudo lsblk
      NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
      nvme1n1       259:0    0  30G  0 disk /data
      nvme0n1       259:1    0  16G  0 disk
      └─nvme0n1p1   259:2    0  16G  0 part /
      └─nvme0n1p128 259:3    0   1M  0 part
      ```

------
#### [ Xen instance example ]

      다음 예제 출력은 볼륨(`xvda`)과 파티션(`xvda1`)이 동일한 크기(`16 GB`)임을 보여줍니다.

      ```
      [ec2-user ~]$ sudo lsblk               
      NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
      xvda    202:0    0  16G  0 disk
      └─xvda1 202:1    0  16G  0 part /
      xvdf    202:80   0  24G  0 disk
      ```

------

1. 파일 시스템을 확장합니다.

   1. 확장해야 하는 파일 시스템의 이름, 크기, 유형 및 탑재 지점을 가져옵니다. **df -hT** 또는 **lsblk -f** 명령을 사용합니다.

------
#### [ Nitro instance example ]

      **df -hT** 명령에 대한 다음 예제 출력은 `/dev/nvme0n1p1` 파일 시스템의 크기가 8GB이고 유형이 `xfs`이며 탑재 지점이 `/`임을 보여줍니다.

      ```
      [ec2-user ~]$ df -hT
      Filesystem      Type  Size  Used Avail Use% Mounted on
      /dev/nvme0n1p1  xfs   8.0G  1.6G  6.5G  20% /
      /dev/nvme1n1    xfs   8.0G   33M  8.0G   1% /data
      ...
      ```

------
#### [ Xen instance example ]

      **df -hT** 명령에 대한 다음 예제 출력은 `/dev/xvda1` 파일 시스템의 크기가 8GB이고 유형이 `ext4`이며 탑재 지점이 `/`임을 보여줍니다.

      ```
      [ec2-user ~]$ df -hT
      Filesystem      Type   Size    Used   Avail   Use%   Mounted on
      /dev/xvda1      ext4   8.0G    1.9G   6.2G    24%    /
      /dev/xvdf1      xfs    24.0G   45M    8.0G    1%     /data
      ...
      ```

------
      + 파일 시스템 크기가 볼륨 크기보다 작은 경우 다음 단계(3b)를 계속합니다.
      + 파일 시스템 크기가 볼륨 크기와 같은 경우, 확장할 필요가 없습니다. 이 경우에는 나머지 단계를 건너뜁니다. 파티션 및 파일 시스템은 이미 새 볼륨 크기로 확장되었습니다.

       

   1. 파일 시스템을 확장하는 명령은 파일 시스템 유형에 따라 다릅니다. 이전 단계에서 기록한 파일 시스템 유형에 따라 다음 올바른 명령을 선택합니다.
      + **[XFS 파일 시스템]** **xfs\$1growfs** 명령을 사용하여 이전 단계에서 기록한 파일 시스템의 탑재 지점을 지정합니다.

------
#### [ Nitro and Xen instance example ]

        예를 들어 `/`에 탑재된 파일 시스템을 확장하려면 다음 명령을 사용합니다.

        ```
        [ec2-user ~]$ sudo xfs_growfs -d /
        ```

------
**문제 해결 팁**  
`xfs_growfs: /data is not a mounted XFS filesystem`: 잘못된 탑재 지점을 지정했거나 파일 시스템이 XFS가 아님을 나타냅니다. 탑재 지점과 파일 시스템 유형을 확인하려면 **df -hT** 명령을 사용합니다.
`data size unchanged, skipping`: 파일 시스템이 이미 전체 볼륨을 확장하고 있음을 나타냅니다. 볼륨에 파티션이 없는 경우 [볼륨 수정이 성공했는지 확인합니다](monitoring-volume-modifications.md). 볼륨에 파티션이 있는 경우 2단계에서 설명한 대로 파티션이 확장되었는지 확인합니다.
      + **[Ext4 파일 시스템]** **resize2fs** 명령을 사용하여 이전 단계에서 기록한 파일 시스템의 이름을 지정합니다.

------
#### [ Nitro instance example ]

        예를 들어 `/dev/nvme0n1p1`이라는 이름으로 탑재된 파일 시스템을 확장하려면 다음 명령을 사용합니다.

        ```
        [ec2-user ~]$ sudo resize2fs /dev/nvme0n1p1
        ```

------
#### [ Xen instance example ]

        예를 들어 `/dev/xvda1`이라는 이름으로 탑재된 파일 시스템을 확장하려면 다음 명령을 사용합니다.

        ```
        [ec2-user ~]$ sudo resize2fs /dev/xvda1
        ```

------
**문제 해결 팁**  
`resize2fs: Bad magic number in super-block while trying to open /dev/xvda1`: 파일 시스템이 Ext4가 아님을 나타냅니다. 탑재 지점과 파일 시스템 유형을 확인하려면 **df -hT** 명령을 사용합니다.
`open: No such file or directory while opening /dev/xvdb1`: 잘못된 파티션을 지정했음을 나타냅니다. 파티션을 확인하려면 **df -hT** 명령을 사용합니다.
`The filesystem is already 3932160 blocks long. Nothing to do!`: 파일 시스템이 이미 전체 볼륨을 확장하고 있음을 나타냅니다. 볼륨에 파티션이 없는 경우 [볼륨 수정이 성공했는지 확인합니다](monitoring-volume-modifications.md). 볼륨에 파티션이 있는 경우 2단계에서 설명한 대로 파티션이 확장되었는지 확인합니다.
      + **[기타 파일 시스템]** 사용 중인 파일 시스템의 설명서에서 지침을 참조하세요.

   1. 파일 시스템이 확장되었는지 확인합니다. **df -hT** 명령을 사용하여 파일 시스템 크기가 볼륨 크기와 같은지 확인합니다.

## Windows 인스턴스
<a name="extend-windows"></a>

Windows 인스턴스에서 파일 시스템을 확장하려면 다음과 같은 방법 중 하나를 사용합니다.

------
#### [ Disk Management utility ]

**디스크 관리를 사용하여 파일 시스템을 확장하려면**

1. 중요한 데이터가 저장된 파일 시스템을 확장하려면 먼저 변경 내용을 롤백해야 할 경우를 대비하여 파일 시스템이 저장된 볼륨 스냅샷을 생성하는 것이 바람직합니다. 자세한 내용은 [Amazon EBS 스냅샷 생성](ebs-creating-snapshot.md) 섹션을 참조하세요.

1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다.

1. [**실행(Run)**] 대화 상자에 **diskmgmt.msc**를 입력하고 Enter 키를 누릅니다. 디스크 관리 유틸리티가 열립니다.  
![\[Windows Server 디스크 관리 유틸리티\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/Expand-Volume-Win2008-before.png)

1. **디스크 관리(Disk Management)** 메뉴에서 **작업**, **디스크 다시 스캔(Rescan Disks)**을 선택합니다.

1. 확장된 드라이브를 오른쪽 클릭하여 컨텍스트 메뉴를 열고 **볼륨 확장(Extend Volume)**을 선택합니다.
**참고**  
다음과 같은 경우 [**볼륨 확장**]이 비활성화(회색으로 표시)될 수 있습니다.  
할당되지 않은 공간이 드라이브에 인접하지 않습니다. 할당되지 않은 공간이 확장할 드라이브의 오른쪽에 인접해야 합니다.
볼륨은 마스터 부트 레코드(MBR) 파티션 스타일을 사용하며 이미 크기가 2TB입니다. MBR을 사용하는 볼륨의 크기는 2TB를 초과할 수 없습니다.  
![\[Windows Server 디스크 관리 유틸리티\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/Expand-Volume-Win2008-before-menu.png)

1. **Extend Volume(볼륨 확장)** 마법사에서 **다음**을 선택합니다. **MB 단위로 공간 크기 선택(Select the amount of space in MB)**에 볼륨 확장에 적용할 메가바이트 수를 입력합니다. 일반적으로 최대 사용 가능한 공간을 설정합니다. **선택(Selected)** 아래에 강조된 텍스트는 추가되는 공간의 양이며, 볼륨의 최종 크기가 아닙니다. 마법사를 완료합니다.  
![\[Windows Server 볼륨 확장 마법사\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/Extend-Volume-Wizard-Win2008.png)

1.  AWS NVMe 드라이버가 없는 인스턴스에서 NVMe 볼륨의 크기를 늘릴 경우 Windows에서 새 볼륨의 크기를 확인할 수 있도록 인스턴스를 재부팅해야 합니다. AWS NVMe 드라이버 설치에 대한 자세한 내용은 [AWS NVMe 드라이버](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/aws-nvme-drivers.html)를 참조하세요.

------
#### [ PowerShell ]

PowerShell을 사용하여 Windows 파일 시스템을 확장하려면 다음 절차를 따릅니다.

**PowerShell을 사용하여 파일 시스템을 확장하려면**

1. 중요한 데이터가 저장된 파일 시스템을 확장하려면 먼저 변경 내용을 롤백해야 할 경우를 대비하여 파일 시스템이 저장된 볼륨 스냅샷을 생성하는 것이 바람직합니다. 자세한 내용은 [Amazon EBS 스냅샷 생성](ebs-creating-snapshot.md) 섹션을 참조하세요.

1. 원격 데스크톱을 사용하여 Windows 인스턴스에 로그인합니다.

1. 관리자 권한으로 PowerShell을 실행합니다.

1. `Get-Partition` 명령을 실행합니다. PowerShell은 각 파티션에 해당하는 파티션 번호, 드라이브 문자, 오프셋, 크기 및 유형을 반환합니다. 확장할 파티션의 드라이브 문자를 확인해 둡니다.

1. 다음 명령을 실행하여 디스크를 다시 검색합니다.

   ```
   "rescan" | diskpart
   ```

1. **<drive-letter>** 대신 4단계에서 확인한 드라이브 문자를 사용하여 다음 명령을 실행합니다. PowerShell은 파티션의 최소 및 최대 허용 크기를 바이트 단위로 반환합니다.

   ```
   Get-PartitionSupportedSize -DriveLetter <drive-letter>
   ```

1. 파티션을 지정된 용량으로 확장하려면 **<size>** 대신 볼륨의 새 크기를 입력하여 다음 명령을 실행합니다. 예를 들어 `KB`, `MB` 및 `GB`로 크기(예: `50GB`)를 입력할 수 있습니다.

   ```
   Resize-Partition -DriveLetter <drive-letter> -Size <size>
   ```

   파티션을 사용 가능한 최대 크기로 확장하려면 다음 명령을 실행합니다.

   ```
   Resize-Partition -DriveLetter <drive-letter> -Size $(Get-PartitionSupportedSize -DriveLetter <drive-letter>).SizeMax
   ```

   다음 PowerShell 명령은 파일 시스템을 특정 크기로 확장하기 위한 전체 명령 및 응답 흐름을 보여줍니다.  
![\[PowerShell을 사용하여 파티션 확장 - 특정\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/ebs-extend-powershell-v3-specific.png)

   다음 PowerShell 명령은 파일 시스템을 사용 가능한 최대 크기로 확장하기 위한 전체 명령 및 응답 흐름을 보여줍니다.  
![\[PowerShell을 사용하여 파티션 확장 - 최대\]](http://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/images/ebs-extend-powershell-v3-max.png)

------

# Amazon EC2 인스턴스에서 Amazon EBS 볼륨 분리
<a name="ebs-detaching-volume"></a>

Amazon Elastic Block Store(Amazon EBS) 볼륨을 다른 인스턴스에 연결하거나 삭제하려면 먼저 인스턴스에서 분리해야 합니다. 볼륨을 분리해도 볼륨의 데이터에는 영향을 주지 않습니다.

**Topics**
+ [고려 사항](#considerations)
+ [볼륨 마운트 해제 및 분리](#umount-detach-volume)
+ [문제 해결](#detach-troubleshoot)

## 고려 사항
<a name="considerations"></a>
+ 인스턴스에서 Amazon Amazon EBS 볼륨을 분리하거나 인스턴스를 종료하는 것이 가능합니다. 그러나 인스턴스가 실행 중인 경우 인스턴스에서 먼저 해당 볼륨의 마운트를 해제해야 합니다.
+ EBS 볼륨이 인스턴스의 루트 디바이스인 경우에는 볼륨을 분리하기 전에 인스턴스를 중지해야 합니다.
+ 분리된(탑재를 해제하지 않고) 볼륨을 다시 연결할 수 있지만 동일 탑재 지점을 가져올 수는 없습니다. 분리된 상태에서 진행 중인 볼륨 쓰기 작업이 있으면 볼륨의 데이터가 동기화되지 않을 수 있습니다.
+ 볼륨을 분리한 후에도 스토리지 용량이 AWS 프리 티어 한도를 초과하는 한 볼륨 스토리지에 대한 요금이 계속 청구됩니다. 추가 비용이 청구되지 않도록 하려면 볼륨을 삭제해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 삭제](ebs-deleting-volume.md) 섹션을 참조하세요.

## 볼륨 마운트 해제 및 분리
<a name="umount-detach-volume"></a>

인스턴스에서 볼륨을 탑재 해제하고 분리하려면 다음 절차를 사용합니다. 이 절차는 볼륨을 다른 인스턴스에 연결해야 하거나 볼륨을 삭제해야 하는 경우 유용할 수 있습니다.

**Topics**
+ [1단계: 볼륨 탑재 해제](#unmount)
+ [2단계: 인스턴스에서 볼륨 분리](#detach)
+ [3단계: (Windows 인스턴스만 해당**) 오프라인 디바이스 위치 제거](#uninstall)

### 1단계: 볼륨 탑재 해제
<a name="unmount"></a>

#### Linux 인스턴스
<a name="unmount-linux"></a>

Linux 인스턴스에서 다음 명령을 사용하여 `/dev/sdh` 디바이스의 탑재를 해제합니다.

```
[ec2-user ~]$ sudo umount -d /dev/sdh
```

#### Windows 인스턴스
<a name="unmount-windows"></a>

Windows 인스턴스에서 다음과 같이 볼륨을 마운트 해제하세요.

1. 디스크 관리 유틸리티를 시작합니다.
   + (Windows Server 2012 이상) 작업 표시줄에서 Windows 로고를 마우스 오른쪽 단추를 클릭한 다음 [**디스크 관리(Disk Management)**]를 선택합니다.
   + (Windows Server 2008) [**시작(Start)**], [**관리 도구(Administrative Tools)**], [**컴퓨터 관리(Computer Management)**], [**디스크 관리(Disk Management)**]를 선택합니다.

1. 디스크를 마우스 오른쪽 단추로 클릭하고(예: **디스크 1**을 마우스 오른쪽 단추로 클릭) **오프라인**을 선택하십시오. Amazon EC2 콘솔을 열기 전에 디스크 상태가 **오프라인**으로 변경될 때까지 기다리십시오.

### 2단계: 인스턴스에서 볼륨 분리
<a name="detach"></a>

인스턴스에서 볼륨을 분리하려면 다음 방법 중 하나를 사용합니다.

------
#### [ Console ]

**EBS 볼륨을 분리하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택합니다.

1. **작업**, **볼륨 분리**를 선택합니다.

1. 확인 메시지가 나타나면 [**분리(Detach)**]를 선택합니다.

------
#### [ AWS CLI ]

**인스턴스에서 EBS 볼륨을 분리하려면**  
볼륨 탑재를 해제한 후 [detach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-volume.html) 명령을 사용합니다.

```
aws ec2 detach-volume --volume-id vol-01234567890abcdef
```

------
#### [ PowerShell ]

**인스턴스에서 EBS 볼륨을 분리하려면**  
볼륨 탑재를 해제한 후 [Dismount-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Dismount-EC2Volume.html) cmdlet을 사용합니다.

```
Dismount-EC2Volume -VolumeId vol-01234567890abcdef
```

------

### 3단계: (Windows 인스턴스만 해당**) 오프라인 디바이스 위치 제거
<a name="uninstall"></a>

인스턴스에서 볼륨을 탑재 해제하고 분리하면 Windows에서 디바이스 위치에 오프라인 플래그가 지정됩니다. 디바이스 위치는 인스턴스 재부팅, 중지 및 다시 시작 후에도 오프라인 상태로 유지됩니다. 인스턴스를 다시 시작하면 Windows에서 나머지 볼륨 중 하나가 오프라인 디바이스 위치에 탑재될 수 있습니다. 이로 인해 Windows에서 볼륨을 사용할 수 없게 됩니다. 이러한 문제를 방지하고 다음에 Windows를 시작할 때 모든 볼륨이 온라인 디바이스 위치에 연결되도록 하려면 다음 단계를 수행합니다.

1. 인스턴스에서 디바이스 관리자를 엽니다.

1. 디바이스 관리자에서 [**보기(View)**], [**숨겨진 디바이스 표시(Show hidden devices)**]를 선택합니다.

1. 디바이스 목록에서 [**스토리지 컨트롤러(Storage controllers)**] 노드를 확장합니다.

   분리된 볼륨이 탑재된 디바이스 위치의 이름은 `AWS NVMe Elastic Block Storage Adapter`이며 회색으로 표시됩니다.

1. `AWS NVMe Elastic Block Storage Adapter`라는 회색으로 표시된 각 디바이스 위치를 마우스 오른쪽 버튼으로 클릭하고 **Uninstall device**(디바이스 제거)를 선택한 다음 **Uninstall**(제거)을 선택합니다.
**중요**  
[**이 디바이스의 드라이버 소프트웨어 삭제(Delete the driver software for this device)**] 확인란을 선택하지 마세요.

## 문제 해결
<a name="detach-troubleshoot"></a>

다음에서는 볼륨을 분리할 때 발생할 수 있는 일반적인 문제와 해결 방법에 대해 설명합니다.

**참고**  
데이터 손실에 대비하여 볼륨을 해제하기 전 볼륨 스냅샷을 만들어 두세요. 고착된 볼륨을 강제로 분리할 경우 파일 시스템 또는 여기에 포함된 데이터가 손상되거나 인스턴스를 재부팅 하지 않는 이상 동일한 디바이스 이름으로 새 볼륨을 연결할 수 없게 될 수 있습니다.
+ Amazon EC2 콘솔을 통해 볼륨을 분리하는 동안 문제가 발생할 경우 **describe-volumes** CLI 명령을 사용하여 문제를 진단하는 것이 좋습니다. 자세한 내용은 [describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html)를 참조하세요.
+ 볼륨이 `detaching` 상태를 유지하는 경우 **강제 분리**를 선택하여 강제 분리할 수 있습니다. 이 옵션은 오류가 발생한 인스턴에서 볼륨 분리 또는 삭제할 목적으로 볼륨을 분리하는 경우에만 최후의 수단으로 사용하세요. 인스턴스는 파일 시스템 캐시 또는 파일 시스템 메타데이터를 플러시하지 않습니다. 이 옵션을 사용하는 경우 파일 시스템 확인 및 복구 절차를 수행해야 합니다.
+ 몇 분 동안 강제 볼륨 분리를 수차례 시도하였지만 `detaching` 상태가 계속해서 유지되는 경우 [AWS re:Post](https://repost.aws/)에 도움을 요청하세요. 해결 방법을 신속히 찾아내려면 볼륨 ID를 기재하고 어떤 단계를 수행했는지에 대해 설명하세요.
+ 아직 마운트되어 있는 볼륨을 분리하려는 경우 분리 시도 중에 볼륨이 `busy` 상태로 고착될 수 있습니다. 다음의 **describe-volumes** 출력 화면은 이 조건을 보여주는 예입니다.

  ```
  "Volumes": [
      {
          "AvailabilityZone": "us-west-2b",
          "Attachments": [
              {
                  "AttachTime": "2022-07-21T23:44:52.000Z",
                  "InstanceId": "i-1234567890abcdef0",
                  "VolumeId": "vol-01234567890abcdef",
                  "State": "busy",
                  "DeleteOnTermination": false,
                  "Device": "/dev/sdf"
              }
          ...
      }
  ]
  ```

  이 상태가 발생하면 볼륨의 마운트를 해제하거나 강제 분리하거나 인스턴스를 재부팅하거나 세 가지 조치를 모두 실행하기 전까지 분리가 무한히 지연될 수 있습니다.

# Amazon EBS 볼륨 삭제
<a name="ebs-deleting-volume"></a>

더 이상 필요하지 않는 Amazon EBS 볼륨을 삭제할 수 있습니다. 볼륨을 삭제한 후에는 데이터가 사라지므로 해당 볼륨을 인스턴스에 연결할 수 없습니다. 따라서 삭제하기 전에 볼륨의 스냅샷을 저장하면 이 스냅샷을 사용하여 나중에 볼륨을 재생성할 수 있습니다.

인스턴스에 연결된 볼륨은 삭제할 수 없습니다. 볼륨을 삭제하려면 먼저 볼륨을 분리해야 합니다. 자세한 내용은 [Amazon EC2 인스턴스에서 Amazon EBS 볼륨 분리](ebs-detaching-volume.md) 단원을 참조하십시오.

휴지통 보존 규칙과 일치하는 볼륨을 삭제하면 볼륨이 즉시 삭제되는 대신 휴지통에 보관됩니다. 자세한 내용은 [휴지통](recycle-bin.md)을 참조하세요.

------
#### [ Console ]

**EBS 볼륨을 삭제하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택합니다. 볼륨이 **사용 가능** 상태에 있는지 확인합니다.

1. **작업**을 선택한 후 **볼륨 삭제**을 선택합니다.

   이 옵션이 비활성화된 경우 볼륨이 인스턴스에 연결되며 삭제할 수 없습니다.

1. 확인 메시지가 나타나면 **delete**를 입력한 다음 **삭제(Delete)**를 선택합니다.

------
#### [ AWS CLI ]

**EBS 볼륨이 사용 중인지 여부를 확인하려면**  
[describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) 명령을 사용합니다. 볼륨이 사용 중인 경우 상태는 `in-use`입니다. 그렇지 않으면 `available`입니다.

```
aws ec2 describe-volumes \
    --volume-id vol-01234567890abcdef \
    --query Volumes[*].State \
    --output text
```

**EBS 볼륨을 삭제하려면**  
[delete-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-volume.html) 명령을 사용합니다.

```
aws ec2 delete-volume --volume-id vol-01234567890abcdef
```

------
#### [ PowerShell ]

**EBS 볼륨이 사용 중인지 여부를 확인하려면**  
[Get-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Volume.html) cmdlet을 사용합니다. 볼륨이 사용 중인 경우 상태는 `in-use`입니다. 그렇지 않으면 `available`입니다.

```
(Get-EC2Volume `
    -VolumeId vol-01234567890abcdef).State.Value
```

**EBS 볼륨을 삭제하려면**  
[Remove-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Volume.html) cmdlet을 사용합니다.

```
Remove-EC2Volume -VolumeId vol-01234567890abcdef
```

------

# 스냅샷을 사용하여 Amazon EBS 볼륨 바꾸기
<a name="ebs-restoring-volume"></a>

Amazon EBS 스냅샷은 속도, 편리성 및 비용으로 인해 Amazon EC2에서 선호하는 백업 도구입니다. 스냅샷에서 볼륨을 생성할 경우 특정 시점 그대로 유지한 상태로 저장된 데이터를 특정 시점에서 해당 상태를 재생성합니다. 스냅샷에서 생성된 볼륨을 인스턴스에 연결하면 여러 리전에서 데이터를 복제하고 테스트 환경을 생성하며 손상된 프로덕션 볼륨 전체를 바꾸거나 특정 파일 및 디렉터리를 검색하여 연결된 다른 볼륨으로 전송할 수 있습니다. 자세한 내용은 [Amazon EBS 스냅샷](ebs-snapshots.md) 단원을 참조하십시오.

다음 절차 중 하나를 사용하여 Amazon EBS 볼륨을 해당 볼륨의 이전 스냅샷에서 생성된 다른 볼륨으로 대체할 수 있습니다.

**요구 사항**  
인스턴스와 동일한 가용 영역에서 볼륨을 생성해야 합니다. 볼륨은 동일한 가용 영역의 인스턴스에 연결되어야 합니다.

------
#### [ Console ]

**볼륨을 교체하려면**

1. 스냅샷에서 볼륨을 생성하고 새 볼륨의 ID를 기록합니다. 자세한 내용은 [Amazon EBS 볼륨 생성](ebs-creating-volume.md) 단원을 참조하십시오.

1. 인스턴스 페이지에서 볼륨을 교체할 인스턴스를 선택하고 인스턴스 ID를 기록합니다.

   인스턴스가 선택된 상태에서 **스토리지(Storage)** 탭을 선택합니다. **블록 디바이스(Block devices)** 섹션에서 교체할 볼륨을 찾고 볼륨의 디바이스 이름을 기록합니다(예: `/dev/sda1`).

1. **스토리지** 탭에서 볼륨 ID를 선택한 다음 [인스턴스에서 볼륨을 탐재 해제하고 분리](ebs-detaching-volume.md#umount-detach-volume)합니다.

1. 1단계에서 생성한 새 볼륨을 선택하고 **작업(Actions)**, **볼륨 연결(Attach volume)**을 선택합니다.

   **인스턴스(Instance)** 및 **디바이스 이름(Device name)**에 2단계에서 적어 둔 인스턴스 ID 및 디바이스 이름을 입력한 다음 **볼륨 연결(Attach volume)**을 선택합니다.

1. 인스턴스에 연결하고 볼륨을 탑재합니다. 자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 단원을 참조하십시오.

------
#### [ AWS CLI ]

**볼륨을 교체하려면**

1. 스냅샷에서 새 볼륨을 생성합니다. `--snapshot-id` 옵션과 함께 [create-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-volume.html) 명령을 사용합니다. `--availability-zone`에 인스턴스와 동일한 가용 영역을 지정합니다. 출력의 새 볼륨 ID를 메모해 둡니다.

   ```
   aws ec2 create-volume \
       --volume-type gp3 \
       --snapshot-id snap-0abcdef1234567890 \
       --availability-zone us-east-1a
   ```

1. 대체할 볼륨의 디바이스 이름을 가져옵니다. 아래와 같이 [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) 명령을 사용합니다. `--instance-ids`에 볼륨을 대체할 인스턴스의 ID를 지정합니다. 대체할 볼륨의 디바이스 이름과 볼륨 ID를 적어둡니다.

   ```
   aws ec2 describe-instances \
       --instance-ids i-1234567890abcdef0 \
       --query Reservations[].Instances[].BlockDeviceMappings
   ```

1. 인스턴스에서 대체할 볼륨을 분리합니다. [detach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-volume.html) 명령을 사용합니다.

   ```
   aws ec2 detach-volume --volume-id vol-xxxxxxxxxxxxxxxxx
   ```

1. 인스턴스에 대체 볼륨을 연결합니다. [attach-volume](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-volume.html) 명령을 사용합니다. `--volume-id`에 대체 볼륨의 ID를 지정합니다. `--instance-id`에 볼륨을 연결할 인스턴스의 ID를 지정합니다. `--device`에 이전에 기록한 것과 동일한 디바이스 이름을 지정합니다.

   ```
   aws ec2 attach-volume \
       --volume-id vol-01234567890abcdef \
       --instance-id i-1234567890abcdef0 \
       --device /dev/sdf
   ```

1. 인스턴스에 연결하고 볼륨을 탑재합니다. 자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 단원을 참조하십시오.

------
#### [ PowerShell ]

**볼륨을 교체하려면**

1. 스냅샷에서 새 볼륨을 생성합니다. [New-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Volume.html) cmdlet을 `-SnapshotId` 옵션과 함께 사용합니다. `-AvailabilityZone`에 인스턴스와 동일한 가용 영역을 지정합니다. 출력의 새 볼륨 ID를 메모해 둡니다.

   ```
   New-EC2Volume `
       -VolumeType gp3 `
       -SnapshotId snap-0abcdef1234567890 `
       -AvailabilityZone us-east-1a
   ```

1. 대체할 볼륨의 디바이스 이름을 가져옵니다. [Get-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Instance.html) cmdlet을 사용합니다. `-InstanceId`에 볼륨을 대체할 인스턴스의 ID를 지정합니다. 대체할 볼륨의 디바이스 이름과 볼륨 ID를 적어둡니다.

   ```
   (Get-EC2Instance `
       -InstanceId i-1234567890abcdef0).Instances.BlockDeviceMappings | `
        Format-Table DeviceName, @{Name="VolumeId";Expression={$_.Ebs.VolumeId}}
   ```

1. 인스턴스에서 대체할 볼륨을 분리합니다. [Dismount-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Dismount-EC2Volume.html) cmdlet을 사용합니다.

   ```
   DismountEC2Volume -VolumeId vol-xxxxxxxxxxxxxxxxx
   ```

1. 인스턴스에 대체 볼륨을 연결합니다. [Add-EC2Volume](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2Volume.html) cmdlet을 사용합니다. `-VolumeId`에 대체 볼륨의 ID를 지정합니다. `-InstanceId`에 볼륨을 연결할 인스턴스의 ID를 지정합니다. `-Device`에 이전에 기록한 것과 동일한 디바이스 이름을 지정합니다.

   ```
   Add-EC2Volume`
       -VolumeId vol-01234567890abcdef `
       -InstanceId i-1234567890abcdef0 `
       -Device /dev/sdf
   ```

1. 인스턴스에 연결하고 볼륨을 탑재합니다. 자세한 내용은 [Amazon EBS 볼륨을 사용할 수 있도록 만들기](ebs-using-volumes.md) 단원을 참조하십시오.

------

# Amazon EBS 볼륨 상태 확인
<a name="monitoring-volume-checks"></a>

볼륨 상태 확인을 사용하여 Amazon EBS 볼륨에 있는 데이터의 잠재적 불일치를 더 잘 파악, 추적 및 관리할 수 있습니다. 볼륨 상태 확인은 Amazon EBS 볼륨이 손상되었는지 여부를 확인하는 데 필요한 정보를 제공하며, 잠재적으로 일치하지 않는 볼륨을 처리하는 방법을 제어하는 데 도움이 됩니다.

볼륨 상태 확인은 5분마다 테스트를 자동으로 실행하여 통과 또는 실패 상태를 반환합니다. 모든 확인을 통과한 경우 볼륨의 상태는 `ok`이고, 확인에 실패한 경우 볼륨의 상태는 `impaired`입니다. 상태가 `insufficient-data`인 경우 볼륨에 대한 확인이 아직 진행 중일 수 있습니다. 볼륨 상태 확인의 결과를 보고 손상된 볼륨을 식별하고 필요한 조치를 취할 수 있습니다.

Amazon EBS에서 볼륨의 데이터가 잠재적으로 일치하지 않는 것으로 확인하면 데이터 손상을 방지하기 위해 기본적으로 연결된 EC2 인스턴스에서 볼륨으로의 I/O가 비활성화됩니다. I/O가 비활성화되면 다음 볼륨 상태 확인에 실패하고 볼륨 상태는 `impaired`가 됩니다. 또한 I/O가 비활성화되었으며 볼륨에 대한 I/O를 활성화하여 볼륨의 손상된 상태를 해결할 수 있다고 알려주는 이벤트가 표시됩니다. 이를 위해 사용자가 I/O를 사용할 때까지 기다려서 인스턴스에서 계속 볼륨을 사용할지 또는 명령(예: **fsck**(Linux 인스턴스)나 **chkdsk**(Windows 인스턴스))을 사용하여 일관성 검사를 실행할지 결정할 기회를 제공합니다.

**참고**  
볼륨 상태는 볼륨 상태 검사 결과를 기준으로 한 것으로, 볼륨 상태를 직접 반영하는 것은 아닙니다. 따라서 볼륨 상태가 `error` 상태의 볼륨을 나타내는 것은 아닙니다(예: 볼륨이 I/O를 허용할 수 없을 때). 볼륨 상태에 대한 자세한 내용은 [볼륨 상태](ebs-describing-volumes.md#volume-state) 섹션을 참조하세요.

특정 볼륨의 일관성은 문제가 아니고, 볼륨이 손상된 경우 볼륨을 즉시 사용할 수 있게 하려면 I/O를 자동으로 사용하도록 볼륨을 구성하여 기본 동작을 무시할 수 있습니다. [**IO 자동 사용(Auto-Enable IO)**] 볼륨 속성(API의 `autoEnableIO`)을 사용하면 볼륨 상태 확인이 계속해서 통과됩니다. 또한 볼륨이 잠재적으로 일치하지 않는 것으로 확인되었지만 I/O가 자동으로 활성화되었다고 알려주는 이벤트가 표시됩니다. 그러면 볼륨의 일관성을 확인하거나 나중에 볼륨을 교체할 수 있습니다.

I/O 성능 상태 확인은 실제 볼륨 성능과 볼륨의 예상 성능을 비교합니다. 볼륨 성능이 예상보다 낮은 경우 알림을 제공합니다. 이 상태 확인은 인스턴스에 연결된 프로비저닝된 IOPS SSD(`io1` 및 `io2`) 및 범용 SSD(`gp3`) 볼륨에만 사용할 수 있습니다. 범용 SSD(`gp2`), 처리량 최적화 HDD(`st1`), 콜드 HDD(`sc1`) 또는 마그네틱(`standard`) 볼륨에는 상태 확인이 유효하지 않습니다. I/O 성능 상태 확인은 1분에 한 번씩 수행되며 CloudWatch는 이 데이터를 5분 간격으로 수집합니다. `io1` 또는 `io2` 볼륨을 인스턴스에 연결한 후 상태 확인에서 I/O 성능 상태를 보고하기까지 최대 5분이 소요될 수 있습니다.

**중요**  
스냅샷에서 복원한 Provisioned IOPS SSD 볼륨을 초기화할 경우 볼륨의 성능이 예상 수준보다 50퍼센트 이하로 떨어질 수 있으며, 이로 인해 볼륨의 **I/O 성능** 상태 확인에 `warning` 상태가 표시될 수 있습니다. 이는 예상된 동작이므로 초기화 중에는 Provisioned IOPS SSD 볼륨에 대한 `warning` 상태를 무시해도 됩니다. 자세한 내용은 [볼륨 생성 후 수동 초기화](initalize-volume.md#ebs-initialize) 섹션을 참조하세요.

다음 표에는 Amazon EBS 볼륨에 대한 상태가 나와 있습니다.


| 볼륨 상태 | I/O 활성화 상태 | I/O 성능 상태(`io1`, `io2` 및 `gp3` 볼륨에만 해당) | 
| --- | --- | --- | 
|  `ok`  |  활성화됨(I/O 활성화 또는 I/O 자동 활성화)  |  정상(볼륨 성능이 예상대로임)  | 
|  `warning`  |  활성화됨(I/O 활성화 또는 I/O 자동 활성화)  |  성능 저하(볼륨 성능이 예상보다 낮음) 심각한 성능 저하(볼륨 성능이 예상보다 훨씬 낮음)  | 
|  `impaired`  |  활성화됨(I/O 활성화 또는 I/O 자동 활성화) 비활성화됨(볼륨이 오프라인이고 복구 보류 중이거나 사용자가 I/O를 활성화하기를 기다리는 중)  |  중단됨(볼륨 성능이 저하됨) 사용할 수 없음(I/O가 비활성화되어 I/O 성능을 확인할 수 없음)  | 
|  `insufficient-data`  |  활성화됨(I/O 활성화 또는 I/O 자동 활성화) 데이터 부족  |  데이터 부족  | 

------
#### [ Console ]

**상태 확인 보기**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

   **볼륨 상태(Volume status\$1** 열에 각 볼륨의 작업 상태가 나열됩니다.

1. 특정 볼륨의 상태 세부 정보를 보려면 그리드를 선택하고 **상태 검사(Status checks)** 탭을 선택합니다.

1. 상태 확인에 실패한 볼륨이 있는 경우(`impaired` 상태) [손상된 Amazon EBS 볼륨 작업](work_volumes_impaired.md) 섹션을 참조하세요.

또는 탐색기에서 **이벤트** 창을 선택하여 인스턴스와 볼륨에 대한 모든 이벤트를 볼 수 있습니다. 자세한 내용은 [Amazon EBS 볼륨 이벤트](monitoring-vol-events.md) 섹션을 참조하세요.

------
#### [ AWS CLI ]

**볼륨 상태 정보를 보기**  
[describe-volume-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volume-status.html) 명령을 사용합니다.

```
aws ec2 describe-volume-status --volume-ids vol-01234567890abcdef
```

다음 예제를 사용하여 손상된 볼륨을 식별합니다.

```
aws ec2 describe-volume-status --filters Name=volume-status.status,Values=impaired
```

------
#### [ PowerShell ]

**볼륨 상태 정보를 보기**  
[Get-EC2VolumeStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2VolumeStatus.html) cmdlet을 사용합니다.

```
Get-EC2VolumeStatus -VolumeId vol-01234567890abcdef
```

다음 예제를 사용하여 손상된 볼륨을 식별합니다.

```
Get-EC2VolumeStatus -Filter @{Name="volume-status.status"; Values="impaired"}
```

------

# Amazon EBS 볼륨 이벤트
<a name="monitoring-vol-events"></a>

Amazon EBS에서 볼륨의 데이터가 잠재적으로 일치하지 않는 것으로 확인하면 기본적으로 연결된 EC2 인스턴스에서 볼륨으로의 I/O가 비활성화됩니다. 그러면 볼륨 상태 확인에 실패하고 실패의 원인을 나타내는 볼륨 상태 이벤트가 생성됩니다.

데이터가 잠재적으로 일치하지 않는 볼륨에서 I/O를 자동으로 활성화하려면 **IO 자동 활성화** 볼륨 속성(API의 `autoEnableIO`)의 설정을 변경합니다. 이 속성 변경에 대한 자세한 내용은 [손상된 Amazon EBS 볼륨 작업](work_volumes_impaired.md) 섹션을 참조하세요.

각 이벤트에는 이벤트가 발생한 시간을 나타내는 시작 시간과 볼륨에 대한 I/O가 비활성화된 시간을 나타내는 기간이 포함됩니다. 볼륨에 대한 I/O가 활성화되면 이벤트에 종료 시간이 추가됩니다.볼륨 상태 이벤트

`Awaiting Action: Enable IO`  
볼륨 데이터가 잠재적으로 일치하지 않습니다. 사용자가 명시적으로 활성화할 때까지 볼륨에 대해 I/O가 비활성화됩니다. I/O를 명시적으로 활성화하면 이벤트 설명이 **IO Enabled**로 변경됩니다.

`IO Enabled`  
이 볼륨에 대해 I/O 작업이 명시적으로 활성화되었습니다.

`IO Auto-Enabled`  
이벤트가 발생한 후 이 볼륨에서 I/O 작업이 자동으로 활성화되었습니다. 데이터를 계속 사용하려면 먼저 데이터 불일치를 확인하는 것이 좋습니다.

`Normal`  
`io1`, `io2` 및 `gp3` 볼륨에만 해당합니다. 볼륨 성능이 예상대로입니다.

`Degraded`  
`io1`, `io2` 및 `gp3` 볼륨에만 해당합니다. 볼륨 성능이 예상보다 낮습니다.

`Severely Degraded`  
`io1`, `io2` 및 `gp3` 볼륨에만 해당합니다. 볼륨 성능이 예상보다 훨씬 낮습니다.

`Stalled`  
`io1`, `io2` 및 `gp3` 볼륨에만 해당합니다. 볼륨 성능이 저하되었습니다.

I/O가 비활성화된 볼륨이 있는 경우 [손상된 Amazon EBS 볼륨 작업](work_volumes_impaired.md) 섹션을 참조하세요. I/O 성능이 정상보다 낮은 볼륨이 있는 경우 수행한 작업(예: 피크 사용 동안 볼륨 스냅샷 생성, 필요한 I/O 대역폭을 지원할 수 없는 인스턴스에서 볼륨 실행, 볼륨의 데이터에 처음 액세스 등)으로 인한 일시적인 현상일 수 있습니다.

------
#### [ Console ]

**볼륨에 대한 이벤트 보기**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 [**Events**]를 선택합니다. 이벤트가 있는 모든 인스턴스와 볼륨이 나열됩니다.

1. 볼륨을 기준으로 필터링하여 볼륨 상태만 볼 수 있습니다. 특정 상태 유형을 기준으로 필터링할 수도 있습니다.

1. 특정 이벤트를 보려는 볼륨을 선택합니다.

------
#### [ AWS CLI ]

**볼륨에 대한 이벤트 보기**  
[describe-volume-status](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volume-status.html) 명령을 사용합니다.

```
aws ec2 describe-volume-status --volume-ids vol-01234567890abcdef
```

------
#### [ PowerShell ]

**볼륨에 대한 이벤트 보기**  
[Get-EC2VolumeStatus](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2VolumeStatus.html) cmdlet을 사용합니다.

```
Get-EC2VolumeStatus -VolumeId vol-01234567890abcdef
```

------

# 손상된 Amazon EBS 볼륨 작업
<a name="work_volumes_impaired"></a>

볼륨의 데이터가 잠재적으로 일치하지 않아서 볼륨이 손상된 경우 다음 옵션을 사용합니다.

**Topics**
+ [옵션 1: 인스턴스에 연결된 볼륨에 대한 일관성 확인 수행](#work_volumes_impaired_option1)
+ [옵션 2: 다른 인스턴스를 사용하여 볼륨에 대한 일관성 확인 수행](#work_volumes_impaired_option2)
+ [옵션 3: 볼륨이 더 이상 필요하지 않은 경우 볼륨 삭제](#work_volumes_impaired_option3)

## 옵션 1: 인스턴스에 연결된 볼륨에 대한 일관성 확인 수행
<a name="work_volumes_impaired_option1"></a>

가장 간단한 옵션은 볼륨이 Amazon EC2 인스턴스에 연결된 상태에서 I/O를 활성화한 다음 볼륨에 대한 데이터 일관성 확인을 수행하는 것입니다.

**연결된 볼륨에 대해 일관성 확인을 수행하려면**

1. 모든 애플리케이션의 볼륨 사용을 중지합니다.

1. 볼륨에서 I/O를 활성화합니다. 다음 방법 중 하나를 사용합니다.

------
#### [ Console ]

**볼륨에 대한 I/O 활성화**

   1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

   1. 탐색 창에서 [**이벤트(Events)**]를 선택합니다.

   1. 볼륨을 선택합니다.

   1. **작업(Actions)**, **I/O 활성화(Enable I/O)**를 선택합니다.

------
#### [ AWS CLI ]

**볼륨에 대한 I/O 활성화**  
[enable-volume-io](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-volume-io.html) 명령을 사용합니다.

   ```
   aws ec2 enable-volume-io --volume-id vol-01234567890abcdef
   ```

------
#### [ PowerShell ]

**볼륨에 대한 I/O 활성화**  
[Enable-EC2VolumeIO](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2VolumeIO.html) cmdlet을 사용합니다.

   ```
   Enable-EC2VolumeIO -VolumeId vol-01234567890abcdef
   ```

------

1. 볼륨의 데이터를 확인합니다.

   1. **fsck**(Linux 인스턴스) 또는 **chkdsk**(Windows 인스턴스) 명령을 실행합니다.

   1. (선택 사항) 애플리케이션 또는 시스템 로그에 관련 오류 메시지가 있는지 검토합니다.

   1. 볼륨이 20분 이상 손상된 경우 AWS 지원 센터에 문의할 수 있습니다. **문제 해결**을 선택한 다음 **상태 검사 문제 해결** 대화 상자에서 **고객 지원**을 선택하여 지원 사례를 제출합니다.

## 옵션 2: 다른 인스턴스를 사용하여 볼륨에 대한 일관성 확인 수행
<a name="work_volumes_impaired_option2"></a>

다음 절차에 따라 프로덕션 환경 외부의 볼륨을 확인합니다.

**중요**  
이 절차를 수행하면 볼륨 I/O가 비활성화된 상태에서 일시 중지된 쓰기 I/O가 손실될 수 있습니다.

**격리 중인 볼륨에 대한 일관성 확인을 수행하려면**

1. 모든 애플리케이션의 볼륨 사용을 중지합니다.

1. 인스턴스에서 볼륨을 분리합니다. 자세한 내용은 [Amazon EC2 인스턴스에서 Amazon EBS 볼륨 분리](ebs-detaching-volume.md) 섹션을 참조하세요.

1. 볼륨에서 I/O를 활성화합니다. 다음 방법 중 하나를 사용합니다.

------
#### [ Console ]

**볼륨에 대한 I/O 활성화**

   1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

   1. 탐색 창에서 [**이벤트(Events)**]를 선택합니다.

   1. 이전 단계에서 분리한 볼륨을 선택합니다.

   1. **작업(Actions)**, **I/O 활성화(Enable I/O)**를 선택합니다.

------
#### [ AWS CLI ]

**볼륨에 대한 I/O 활성화**  
[enable-volume-io](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-volume-io.html) 명령을 사용합니다.

   ```
   aws ec2 enable-volume-io --volume-id vol-01234567890abcdef
   ```

------
#### [ PowerShell ]

**볼륨에 대한 I/O 활성화**  
[Enable-EC2VolumeIO](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2VolumeIO.html) cmdlet을 사용합니다.

   ```
   Enable-EC2VolumeIO -VolumeId vol-01234567890abcdef
   ```

------

1. 볼륨을 다른 인스턴스에 연결합니다. 자세한 내용은 [인스턴스 시작](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) 및 [Amazon EC2 인스턴스에 Amazon EBS 볼륨 연결](ebs-attaching-volume.md) 섹션을 참조하세요.

1. 볼륨의 데이터를 확인합니다.

   1. **fsck**(Linux 인스턴스) 또는 **chkdsk**(Windows 인스턴스) 명령을 실행합니다.

   1. (선택 사항) 애플리케이션 또는 시스템 로그에 관련 오류 메시지가 있는지 검토합니다.

   1. 볼륨이 20분 이상 손상된 경우 AWS 지원 센터에 문의할 수 있습니다. **문제 해결**을 선택하고 문제 해결 대화 상자에서 **고객 지원**을 선택하여 지원 사례를 제출합니다.

## 옵션 3: 볼륨이 더 이상 필요하지 않은 경우 볼륨 삭제
<a name="work_volumes_impaired_option3"></a>

환경에서 볼륨을 제거하려면 볼륨을 삭제하면 됩니다. 볼륨 삭제에 대한 자세한 내용은 [Amazon EBS 볼륨 삭제](ebs-deleting-volume.md) 섹션을 참조하세요.

볼륨의 데이터를 백업하는 최근 스냅샷이 있는 경우 해당 스냅샷에서 새 볼륨을 생성할 수 있습니다. 자세한 내용은 [Amazon EBS 볼륨 생성](ebs-creating-volume.md) 단원을 참조하십시오.

# 손상된 Amazon EBS 볼륨에 대해 I/O 자동 활성화
<a name="volumeIO"></a>

Amazon EBS에서 볼륨의 데이터가 잠재적으로 일치하지 않는 것으로 확인하면 기본적으로 연결된 EC2 인스턴스에서 볼륨으로의 I/O가 비활성화됩니다. 그러면 볼륨 상태 확인에 실패하고 실패의 원인을 나타내는 볼륨 상태 이벤트가 생성됩니다. 특정 볼륨의 일관성은 문제가 아니고, 볼륨이 **손상**된 경우 볼륨을 즉시 사용할 수 있게 하려면 I/O를 자동으로 사용하도록 볼륨을 구성하여 기본 동작을 무시할 수 있습니다. [**IO 자동 사용(Auto-Enable IO)**] 볼륨 속성(API의 `autoEnableIO`)을 사용하면 볼륨과 인스턴스 간 I/O가 자동으로 다시 사용되고 볼륨 상태 확인이 계속해서 통과됩니다. 또한 볼륨이 잠재적으로 일치하지 않는 상태인 것으로 결정되었지만 I/O가 자동으로 활성화되었다고 알려주는 이벤트가 표시됩니다. 이 이벤트가 발생하면 볼륨의 일관성을 확인하고 필요한 경우 볼륨을 교체해야 합니다. 자세한 내용은 [Amazon EBS 볼륨 이벤트](monitoring-vol-events.md) 단원을 참조하십시오.

------
#### [ Console ]

**볼륨의 자동 활성화 IO 속성 보기**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택하고 **상태 검사(Status checks)**를 선택합니다.

   **자동 활성화된 I/O(Auto-Enabled I/O)** 필드는 선택된 볼륨에 대한 현재 설정(**활성화됨(Enabled)** 또는 **비활성됨(Disabled)**)을 표시합니다.

**볼륨의 자동 활성화 IO 속성 수정**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 볼륨을 선택하고 **작업(Actions)**, **I/O 자동 활성화 관리(Manage auto-enabled I/O)**를 선택합니다.

1. 손상된 볼륨에 대한 I/O를 자동으로 활성화하려면 **손상된 볼륨에 대한 IO 자동 활성화(Auto-enable I/O for impaired volumes)** 확인란을 선택합니다. 이 기능을 비활성화하려면 확인란의 선택을 취소합니다.

1. **업데이트**를 선택합니다.

------
#### [ AWS CLI ]

**볼륨의 autoEnableIO 속성 보기**  
[describe-volume-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volume-attribute.html) 명령을 사용합니다.

```
aws ec2 describe-volume-attribute \
    --attribute autoEnableIO \
    --volume-id vol-01234567890abcdef
```

다음은 예제 출력입니다.

```
{
    "AutoEnableIO": {
        "Value": true
    },
    "VolumeId": "vol-01234567890abcdef"
}
```

**볼륨의 autoEnableIO IO 속성 수정**  
[modify-volume-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-volume-attribute.html) 명령을 사용합니다.

```
aws ec2 modify-volume-attribute \
    --auto-enable-io \
    --volume-id vol-01234567890abcdef
```

------
#### [ PowerShell ]

**볼륨의 autoEnableIO 속성 보기**  
[Get-EC2VolumeAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2VolumeAttribute.html) cmdlet을 사용합니다.

```
(Get-EC2VolumeAttribute `
    -Attribute autoEnableIO `
    -VolumeId vol-01234567890abcdef).AutoEnableIO
```

다음은 예제 출력입니다.

```
True
```

**볼륨의 autoEnableIO IO 속성 수정**  
[Edit-EC2VolumeAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2VolumeAttribute.html) cmdlet을 사용합니다.

```
Edit-EC2VolumeAttribute `
    -AutoEnableIO $true `
    -VolumeId vol-01234567890abcdef
```

------

# Amazon EBS에서 오류 테스트
<a name="ebs-fis"></a>

AWS Fault Injection Service (AWS FIS)는 AWS 워크로드에서 결함 주입 실험을 수행하는 데 도움이 되는 완전 관리형 서비스입니다. 의 EBS 작업을 사용하면 애플리케이션이 스토리지 장애에 어떻게 반응하여 볼륨에서 I/O 중단 및 성능 저하를 초래할 수 있는지 테스트 AWS FIS할 수 있습니다. 이 제어된 테스트 환경을 사용하면 애플리케이션이 장애에 어떻게 대응하는지 관찰하여 아키텍처의 약점을 식별하고 애플리케이션의 전반적인 복원력을 개선할 수 있습니다. I/O 일시 중지 작업과 지연 시간 주입 작업을 사용하여 Amazon CloudWatch 경보 및 장애 조치 워크플로와 같은 모니터링 및 복구 메커니즘을 테스트하고, 스토리지 장애에 대한 미션 크리티컬 애플리케이션의 복원력을 개선할 수 있습니다. 에 대한 자세한 내용은 [AWS Fault Injection Service 사용 설명서를](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html) AWS FIS참조하세요.

## 사용 가능한 실험
<a name="ebs-fis-experiments"></a>

Amazon EBS는 현재 두 가지 AWS FIS 장애 주입을 지원합니다.
+ [I/O 오류 주입 일시 중지](ebs-fis-pause-io.md)
+ [지연 시간 주입](ebs-fis-latency-injection.md)

## 고려 사항
<a name="ebs-fis-consids"></a>

다음 사항을 고려하세요.
+ 모든 Amazon EBS 볼륨 유형이 지원됩니다. 루트 볼륨과 데이터 볼륨이 모두 지원됩니다. 인스턴스 스토어 볼륨이 지원되지 않습니다.
+ 볼륨은 [Nitro 기반 EC2 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#instance-hypervisor-type)에 연결해야 합니다.
+ 실험이 지속 시간에 따라 완료되고 나면 볼륨이 원래 I/O 성능을 재개합니다. 실행 중인 실험을 완료 전에 중지할 수도 있습니다. 또는 CloudWatch 경보에서 정의한 임계값에 도달하는 경우 실험을 중지하는 중지 조건을 생성할 수 있습니다.
+ 다중 연결 지원 볼륨 AWS FIS 에서를 사용할 수 있습니다. 연결된 인스턴스가 모두 영향을 받습니다. 실험에 대해 특정 볼륨-인스턴스 연결만 선택할 수는 없습니다.
+ FIS는 현재 로컬 영역, Outpost 또는 Wavelength Zone에서 사용할 수 없습니다.
+ 콘솔에서 볼륨 ARN을 지정할 때 동일한 가용 영역에서 최대 5개의 볼륨을 동시에 테스트할 수 있습니다.
+ , AWS Wavelength 영역 또는 로컬 영역에서 생성된 AWS FIS 볼륨Outpost에는를 사용할 수 없습니다.

# I/O 오류 주입 일시 중지
<a name="ebs-fis-pause-io"></a>

 AWS Fault Injection Service 및 I/O 일시 중지 작업을 사용하여 Amazon EBS 볼륨과 연결된 인스턴스 간의 I/O를 일시적으로 중지하여 워크로드가 I/O 중단을 처리하는 방법을 테스트합니다.

에 대한 자세한 내용은 [https://docs.aws.amazon.com/fis/latest/userguide/what-is.html](https://docs.aws.amazon.com/fis/latest/userguide/what-is.html) AWS FIS참조하세요.

**고려 사항**

볼륨 I/O 일시 중지에 대한 다음 고려 사항에 유의하세요.
+ I/O 일시 중지는 모든 [Nitro 기반 인스턴스 유형](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서 지원됩니다.
+ OS 제한 시간 구성을 테스트하려면 실험 기간을 `nvme_core.io_timeout`에 지정된 값 이상으로 설정합니다. 자세한 내용은 [Amazon EBS 볼륨에 대한 NVMe I/O 작업 시간 제한](timeout-nvme-ebs-volumes.md) 단원을 참조하십시오.
+ I/O가 일시 중지된 볼륨으로 I/O를 구동하면 다음과 같은 상황이 발생합니다.
  + 볼륨 상태가 120초 이내에 `impaired`로 전환됩니다. 자세한 내용은 [Amazon EBS 볼륨 상태 확인](monitoring-volume-checks.md) 단원을 참조하십시오.
  + 볼륨 I/O가 60초를 초과하여 일시 중지된 경우, `VolumeStalledIOCheck`에 대한 CloudWatch 지표는 `1`입니다. 자세한 내용은 [Amazon EBS 볼륨 지표](using_cloudwatch_ebs.md#ebs-volume-metrics)을 참조하세요.
  + 대기열 길이(`VolumeQueueLength`)에 대한 CloudWatch 지표가 0이 아닙니다. 모든 경보 또는 모니터링에서 0이 아닌 대기열 깊이를 모니터링해야 합니다.
  + `VolumeReadOps` 또는 `VolumeWriteOps`에 대한 CloudWatch 지표가 `0`입니다. 이는 볼륨이 더 이상 I/O를 처리하지 않음을 나타냅니다.

Amazon EC2 콘솔에서 기본 실험을 수행하거나 AWS FIS 콘솔을 사용하여 고급 실험을 수행할 수 있습니다. AWS FIS 콘솔을 사용하여 고급 실험을 수행하는 방법에 대한 자세한 내용은 *AWS Fault Injection Service 사용 설명서*의 [ 자습서를 참조하세요 AWS FIS](https://docs.aws.amazon.com/fis/latest/userguide/fis-tutorials.html).

**Amazon EC2 콘솔을 사용하여 기본 실험 수행**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. I/O를 일시 중지할 볼륨을 선택하고 **작업**, **오류 주입**, **볼륨 I/O 일시 중지**를 선택합니다.

1. **기간**에 볼륨과 인스턴스 간의 I/O를 일시 중지할 기간을 입력합니다. 기간 드롭다운 목록 옆의 필드에는 기간이 ISO 8601 형식으로 표시됩니다.

1. **서비스 액세스** 섹션에서가 실험을 수행하기 위해 수임 AWS FIS 할에 대한 IAM 서비스 역할을 선택합니다. 기본 역할을 사용하거나 생성한 기존 역할을 사용할 수 있습니다. 자세한 내용은 [AWS FIS 실험을 위한 IAM 역할](https://docs.aws.amazon.com/fis/latest/userguide/getting-started-iam-service-role.html)을 참조하세요.

1. **볼륨 I/O 일시 중지**를 선택합니다. 메시지가 나타나면 확인 필드에 `start`를 입력하고 **실험 시작**을 선택합니다.

1. 실험의 진행 상황과 영향을 모니터링합니다. 자세한 내용은 **AWS FIS 사용 설명서의 [AWS FIS모니터링](https://docs.aws.amazon.com/fis/latest/userguide/monitoring-experiments.html)을 참조하세요.

# 지연 시간 주입
<a name="ebs-fis-latency-injection"></a>

의 지연 시간 주입 작업(`aws:ebs:volume-io-latency`) AWS FIS 을 사용하여 Amazon EBS 볼륨에서 늘어난 I/O 지연 시간을 시뮬레이션하여 애플리케이션이 스토리지 성능 저하에 어떻게 반응하는지 테스트합니다. 이 작업을 사용하면 주입될 지연 시간 값과 대상 볼륨에 영향을 미칠 I/O의 백분율을 지정할 수 있습니다. 를 사용하면 사전 구성된 지연 시간 실험 템플릿을 AWS FIS사용하여 스토리지 장애 발생 시 관찰될 수 있는 다양한 I/O 지연 시간 패턴을 테스트할 수 있습니다. 이러한 템플릿은 복원력 테스트를 위해 애플리케이션에 중단을 일으키는 데 사용할 수 있는 초기 시나리오 세트로 설계되었습니다. 실제 환경에서 애플리케이션이 경험할 수 있는 모든 유형의 영향을 포함하도록 설계된 것은 아닙니다. 애플리케이션의 성능 요구 사항에 따라 여러 가지의 테스트를 실행하도록 조정할 것이 권장됩니다. 사용 가능한 템플릿을 사용자 지정하거나 새로운 실험 템플릿을 생성하여 애플리케이션의 고유한 요구 사항을 테스트할 수 있습니다.

**사전 구성된 지연 시간 실험 템플릿**  
Amazon EBS는 EBS 콘솔 및 [AWS FIS 시나리오 라이브러리](https://docs.aws.amazon.com/fis/latest/userguide/scenario-library-scenarios.html)를 통해 다음과 같은 지연 시간 실험 템플릿을 제공합니다. 이러한 템플릿을 대상 볼륨에 직접 사용하여 지연 시간 주입 실험을 실행할 수 있습니다.
+ **지속 지연 시간** - 일정한 지연 시간을 시뮬레이션합니다. 이 실험은 단일 지연 시간 주입 작업을 활용하며 총 시간은 15분입니다. 이 실험은 15분 동안 50%의 읽기 I/O와 100%의 쓰기 I/O에서 500ms의 지속 지연 시간을 시뮬레이션합니다.
+ **증가 지연 시간** - 점진적으로 증가하는 지연 시간을 시뮬레이션합니다. 이 실험은 5개의 지연 시간 주입 작업을 활용하며 총 시간은 15분입니다. 이 실험은 10%의 읽기 I/O와 25%의 쓰기 I/O에서 점진적으로 증가하는 지연 시간(3분 동안 50ms, 3분 동안 200ms, 3분 동안 700ms, 3분 동안 1초 및 3분 동안 15초)을 시뮬레이션합니다.
+ **간헐적 지연 시간** - 급격한 간헐적 지연 시간 스파이크와 그 사이의 복구 기간을 시뮬레이션합니다. 이 실험은 3개의 지연 시간 주입 작업을 활용하며 총 시간은 15분입니다. 이 실험은 0.1%의 읽기 및 쓰기 I/O에서 3개의 지연 시간 스파이크(1분 동안 지속되는 30초 스파이크, 2분 동안 지속되는 10초 스파이크 및 2분 동안 지속되는 20초 스파이크)를 시뮬레이션합니다. 각 지연 시간 스파이크 사이에는 5분의 복구 기간을 둡니다.
+ **감소 지연 시간**- 점진적으로 감소되는 지연 시간을 시뮬레이션합니다. 이 실험은 5개의 지연 시간 주입 작업을 활용하며 총 시간은 15분입니다. 이 실험은 10%의 읽기 I/O 및 쓰기 I/O에서 점진적으로 감소하는 지연 시간(3분 동안 20초, 3분 동안 5초, 3분 동안 900ms, 3분 동안 300ms 및 3분 동안 40ms)을 시뮬레이션합니다.

**사전 구성된 시나리오의 사용자 지정**

위의 사전 구성된 템플릿을 사용자 지정하거나 다음과 같은 사용자 지정 가능한 파라미터를 사용하여 새로운 실험 템플릿을 생성합니다.
+ `readIOPercentage` - 지연 시간이 주입될 읽기 I/O 작업의 백분율. 이는 작업의 영향을 받을 볼륨에 대한 모든 읽기 I/O 작업의 백분율입니다.

  범위: 최소 0.1%, 최대 100%
+ `readIOLatencyMilliseconds` - 읽기 I/O 작업에 주입될 지연 시간. 이는 실험 중에 읽기 I/O의 지정된 백분율에서 관찰될 지연 시간 값입니다.

  범위: 최소 1ms(io2)/10ms(비io2), 최대 60초
+ `writeIOPercentage` - 지연 시간이 주입될 쓰기 I/O 작업의 백분율. 이는 작업의 영향을 받을 볼륨에 대한 모든 쓰기 I/O 작업의 백분율입니다.

  범위: 최소 0.1%, 최대 100%
+ `writeIOLatencyMilliseconds` - 쓰기 I/O 작업에 주입될 지연 시간. 이는 실험 중에 쓰기 I/O의 지정된 백분율에서 관찰될 지연 시간 값입니다.

  범위: 최소 1ms(io2)/10ms(비io2), 최대 60초
+ `duration` - 선택한 I/O의 백분율에 지연 시간이 주입되는 기간입니다.

  범위: 최소 1초, 최대 12시간

**지연 시간 주입 모니터링**  
볼륨에 대한 성능 영향은 다음과 같은 방법으로 모니터링할 수 있습니다.
+ CloudWatch의 평균 지연 시간 지표를 사용하여 분당 평균 I/O 지연 시간을 얻습니다. 자세한 내용을 알아보려면 [CloudWatch를 사용하여 EBS 볼륨 모니터링](https://docs.aws.amazon.com/ebs/latest/userguide/using_cloudwatch_ebs.html)을 참조하세요.
+ NVMe-CLI, CloudWatch 에이전트 및 Prometheus를 통해 사용 가능한 EBS 세부 성능 통계를 사용하여 초당 평균 I/O 지연 시간을 얻습니다. 이 세부 지표는 볼륨의 지연 시간 변동을 분석하는 데 사용할 수 있는 I/O 지연 시간 히스토그램도 제공합니다. 자세한 내용을 알아보려면 [NVMe 세부 성능 통계](https://docs.aws.amazon.com/ebs/latest/userguide/nvme-detailed-performance-stats.html)를 참조하세요.
+ [Amazon EBS 볼륨 상태 확인](monitoring-volume-checks.md)를 사용합니다. I/O 지연 시간을 주입하면 볼륨의 상태가 `warning` 상태로 전환됩니다.

**고려 사항**  
EBS 지연 시간 주입을 사용할 때는 다음 사항을 고려하세요.
+ 지연 시간 주입은 P4d, P5, P5e, Trn2u, G6, G6f, Gr6, Gr6f, M8i, M8i-flex, C8i-flex, R8i, R8i-flex, I8ge, Mac-m4pro, Mac-m4를 제외한 모든 [Nitro 기반 인스턴스 유형](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html)에서 지원됩니다.
+ 실험에 지정된 지연 시간 값과 관찰된 지연 시간에서 최대 5%의 차이가 표시될 수 있습니다.
+ 매우 적은 수의 I/O 작업을 실행하는 경우 작업 파라미터에 지정된 I/O 비율이 작업의 영향을 받는 I/O의 실제 백분율과 일치하지 않을 수 있습니다.

**Amazon EBS 볼륨에서 지연 시간 주입 실험을 실행하려면**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)에서 Amazon EC2 콘솔을 엽니다.

1. 탐색 창에서 **볼륨**을 선택합니다.

1. 실험을 실행할 볼륨을 선택하고 **작업**, **복원력 테스트**, **볼륨 I/O 지연 시간 주입**을 선택합니다.

    AWS Fault Injection Service 콘솔이 열립니다.

1. **실험 생성** 창에서, 실행할 실험 유형(**간헐적**, **증가**, **지속** 또는 **감소**)을 선택합니다.

1. **IAM 역할 선택**에서 **새 역할 생성을** 선택하여 AWS FIS 가 사용자를 대신하여 실험을 수행하는 데 사용할 새 역할을 생성합니다. 또는 필요한 권한이 있는 IAM 역할을 이전에 생성한 경우 **기존 IAM 역할 사용**을 선택합니다.

1. **비용 추정** 섹션은 실험 실행에 대한 추정 비용을 제공합니다. 를 사용하면 실험의 대상 계정 수에 따라 처음부터 끝까지 작업이 실행되는 분당 요금이 청구 AWS FIS됩니다.

1. **실험 시작**을 선택합니다.