Amazon EBS 다중 연결을 사용하여 여러 인스턴스에 볼륨 연결 - Amazon Elastic Compute Cloud

Amazon EBS 다중 연결을 사용하여 여러 인스턴스에 볼륨 연결

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

고려 사항 및 제한

  • 다중 연결 지원 볼륨은 동일한 가용 영역에 있는 최대 16개의 Nitro 시스템 기반 Linux 인스턴스에 연결할 수 있습니다. 다중 연결 사용 볼륨을 Windows 인스턴스에 연결할 수 있지만 운영 체제는 인스턴스 간에 공유되는 볼륨의 데이터를 인식하지 못합니다. 따라서 데이터 불일치가 발생할 수 있습니다.

  • 다중 연결은 프로비저닝된 IOPS SSD(io1 및 io2) 볼륨에만 지원됩니다.

  • io1 볼륨 다중 연결은 다음 리전에서만 사용할 수 있습니다. 미국 동부(버지니아 북부), 미국 서부(캘리포니아 북부), 미국 서부(오레곤), 아시아 태평양(서울)

    io2io2 Block Express 볼륨에 대한 다중 연결은 해당 볼륨 유형을 지원하는 모든 리전에서 사용할 수 있습니다.

  • io2 볼륨이 사용 설정된 다중 연결을 Block Express를 지원하는 인스턴스 유형과 Block Express를 지원하지 않는 인스턴스 유형에 동시에 연결할 수 없습니다. C7g, R5b, Trn1, X2idn 및 X2iedn 인스턴스 유형은 Block Express를 지원합니다.

  • 다중 연결이 활성화된 io1 볼륨은 R5b 인스턴스 유형에서 지원되지 않습니다. 다중 연결을 R5b 인스턴스 유형과 함께 사용하려면 io2 볼륨을 사용해야 합니다.

  • XFS 및 EXT4와 같은 표준 파일 시스템은 EC2 인스턴스와 같은 여러 서버에서 동시에 액세스하도록 설계되지 않았습니다. 표준 파일 시스템에서 다중 연결을 사용하면 데이터가 손상되거나 손실될 수 있으므로 프로덕션 워크로드에 안전하지 않습니다. 클러스터링된 파일 시스템을 사용하여 프로덕션 워크로드의 데이터 복원력과 안정성을 보장할 수 있습니다.

  • 다중 연결 지원 볼륨은 I/O 차단 기능을 지원하지 않습니다. I/O 차단 프로토콜은 데이터 일관성을 유지하기 위해 공유된 스토리지 환경에서 쓰기 액세스를 제어합니다. 애플리케이션은 데이터 일관성을 유지하기 위해 연결된 인스턴스에 대해 쓰기 순서를 제공해야 합니다.

  • 다중 연결 지원 볼륨은 부팅 볼륨으로 만들 수 없습니다.

  • 다중 연결 지원 볼륨은 인스턴스당 하나의 블록 디바이스 매핑에 연결할 수 있습니다.

  • 인스턴스 시작 중에는 Amazon EC2 콘솔 또는 RunInstances API를 사용하여 다중 연결을 활성화할 수 없습니다.

  • Amazon EBS 인프라 계층에서 문제가 있는 다중 연결 지원 볼륨은 연결된 모든 인스턴스에서 사용할 수 없습니다. Amazon EC2 또는 네트워킹 계층의 문제가 있는 경우 연결된 인스턴스 일부만 영향을 받을 수 있습니다.

  • 다음 표에는 다중 연결 사용 io1io2 볼륨을 생성한 후의 볼륨 수정 지원 정보가 나와 있습니다.

    io2 볼륨 io1 볼륨
    볼륨 유형 수정
    볼륨 크기 수정
    프로비저닝된 IOPS 수정
    다중 연결 활성화 ✓ *
    다중 연결 비활성화 ✓ *

    * 볼륨이 인스턴스에 연결되어 있는 동안에는 다중 연결 기능을 활성화하거나 비활성화할 수 없습니다.

성능

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

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

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

다중 연결 작업

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

다중 연결 활성화

io1io2 볼륨을 생성하는 동안 다중 연결을 사용할 수 있습니다.

다음 방법 중 하나를 사용하여 생성 중에 io1 또는 io2 볼륨에 대한 다중 연결을 활성화합니다.

Console

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

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

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

  3. 볼륨 생성을 선택합니다.

  4. 볼륨 유형(Volume type)에서 프로비저닝된 IOPS SSD(io1)(Provisioned IOPS SSD (io1)) 또는 프로비저닝된 IOPS SSD(io2)(Provisioned IOPS SSD (io2))를 선택합니다.

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

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

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

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

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

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

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

    참고

    암호화된 볼륨은 Amazon EBS 암호화를 지원하는 인스턴스에만 연결할 수 있습니다. 자세한 정보는 Amazon EBS 암호화을 참조하십시오.

  10. (선택 사항) 볼륨에 사용자 정의 태그를 할당하려면 태그(Tags) 섹션에서 태그 추가(Add tag)를 선택한 다음 태그 키 및 값 페어를 입력합니다. 자세한 정보는 Amazon EC2 리소스 태깅을 참조하십시오.

  11. 볼륨 생성을 선택합니다.

Command line

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

create-volume 명령을 사용하고 --multi-attach-enabled 파라미터를 지정합니다.

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

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

참고

io1 볼륨의 경우 생성 후에 다중 연결을 활성화할 수 없습니다.

다음 방법 중 하나를 사용하여 Amazon EBS 볼륨을 생성한 후 다중 연결을 활성화합니다.

Console

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

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

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

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

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

  5. 수정을 선택합니다.

Command line

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

modify-volume 명령을 사용하고 --multi-attach-enabled 파라미터를 지정합니다.

$ aws ec2 modify-volume --volume-id vol-1234567890abcdef0 --multi-attach-enabled

다중 연결 비활성화

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

참고

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

다음 방법 중 하나를 사용하여 io2 볼륨에 대해 다중 연결을 비활성화합니다.

Console

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

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

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

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

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

  5. 수정(Modify)을 선택합니다.

Command line

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

modify-volume 명령을 사용하고 –no-multi-attach-enabled 파라미터를 지정합니다.

$ aws ec2 modify-volume --volume-id vol-1234567890abcdef0 -–no-multi-attach-enabled

인스턴스에 볼륨 연결

다른 EBS 볼륨을 연결하는 것과 동일한 방식으로 다중 연결 지원 볼륨을 인스턴스에 연결합니다. 자세한 내용은 인스턴스에 Amazon EBS 볼륨 연결 섹션을 참조하세요.

종료 시 삭제

다중 연결 지원 볼륨은 마지막으로 연결된 인스턴스가 종료되고 종료 시 볼륨을 삭제하도록 해당 인스턴스가 구성된 경우 인스턴스 종료 시 삭제됩니다. 볼륨이 볼륨 블록 디바이스 매핑에서 종료 시 삭제 설정이 다른 여러 인스턴스에 연결되어 있는 경우 마지막으로 연결된 인스턴스의 블록 디바이스 매핑 설정에 따라 종료 시 삭제 동작이 결정됩니다.

종료 시 삭제 동작을 예측 가능하도록 하려면 볼륨이 연결된 모든 인스턴스에 대해 종료 시 삭제를 활성화 또는 비활성화합니다.

기본적으로 볼륨이 인스턴스에 연결되면 블록 디바이스 매핑에 대한 종료 시 삭제 설정이 false로 설정됩니다. 다중 연결 지원 볼륨에 대해 종료 시 삭제를 설정하려면 블록 디바이스 매핑을 수정합니다.

연결된 인스턴스가 종료될 때 볼륨을 삭제하려면 연결된 모든 인스턴스에 대해 블록 디바이스 매핑에서 종료 시 삭제를 활성화합니다. 연결된 인스턴스가 종료된 후 볼륨을 유지하려면 연결된 모든 인스턴스에 대해 블록 디바이스 매핑에서 종료 시 삭제를 비활성화합니다. 자세한 내용은 인스턴스 종료 시 Amazon EBS 볼륨 보존 섹션을 참조하세요.

시작 시 또는 시작된 후에 인스턴스의 종료 시 삭제 설정을 수정할 수 있습니다. 인스턴스 시작 중에 종료 시 삭제를 활성화하거나 비활성화하면 시작 시 연결된 볼륨에만 설정이 적용됩니다. 시작 후 인스턴스에 볼륨을 연결하는 경우 해당 볼륨에 대해 종료 시 삭제 동작을 명시적으로 설정해야 합니다.

명령줄 도구만 사용하여 인스턴스의 종료 시 삭제 설정을 수정할 수 있습니다.

기존 인스턴스에 대한 종료 시 삭제 설정을 수정하려면

modify-instance-attribute 명령을 사용하고 DeleteOnTermination에서 --block-device-mappings option 속성을 지정합니다.

aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

mapping.json에서 다음을 지정합니다.

[ { "DeviceName": "/dev/sdf", "Ebs": { "DeleteOnTermination": true|false } } ]

다중 연결 사용 볼륨 모니터링

Amazon EBS 볼륨에 대한 CloudWatch 지표를 사용하여 다중 연결 지원 볼륨을 모니터링할 수 있습니다. 자세한 내용은 Amazon EBS에 대한 Amazon CloudWatch 지표 섹션을 참조하세요.

연결된 모든 인스턴스에서 데이터가 집계됩니다. 연결된 개별 인스턴스에 대한 지표를 모니터링할 수는 없습니다.

요금 및 결제

Amazon EBS 다중 연결 사용에 따르는 추가 비용은 없습니다. 프로비저닝된 IOPS SSD(io1io2) 볼륨에 적용되는 표준 요금이 청구됩니다. 자세한 내용은 Amazon EBS 요금을 참조하세요.