Amazon EBS 다중 연결을 사용하여 여러 인스턴스에 볼륨 연결
Amazon EBS 다중 연결을 사용하면 단일 프로비저닝된 IOPS SSD(io1
또는 io2
) 볼륨을 동일한 가용 영역에 있는 여러 인스턴스에 연결할 수 있습니다. 여러 다중 연결 지원 볼륨을 인스턴스 또는 인스턴스 집합에 연결할 수 있습니다. 볼륨이 연결된 각 인스턴스는 공유된 볼륨에 대한 전체 읽기 및 쓰기 권한을 가집니다. 다중 연결을 사용하면 동시 쓰기 작업을 관리하는 클러스터링된 Linux 애플리케이션에서 더 쉽게 더 높은 애플리케이션 가용성을 얻을 수 있습니다.
고려 사항 및 제한
-
다중 연결 지원 볼륨은 동일한 가용 영역에 있는 최대 16개의 Nitro 시스템 기반 Linux 인스턴스에 연결할 수 있습니다. 다중 연결 사용 볼륨을 Windows 인스턴스에 연결할 수 있지만 운영 체제는 인스턴스 간에 공유되는 볼륨의 데이터를 인식하지 못합니다. 따라서 데이터 불일치가 발생할 수 있습니다.
-
인스턴스에 연결할 수 있는 Amazon EBS 볼륨의 최대 수는 인스턴스 유형 및 인스턴스 크기에 따라 달라집니다. 자세한 내용은 인스턴스 볼륨 제한 섹션을 참조하세요.
-
다중 연결은 프로비저닝된 IOPS SSD(io1 및 io2) 볼륨에만 지원됩니다.
-
io1
볼륨 다중 연결은 다음 리전에서만 사용할 수 있습니다. 미국 동부(버지니아 북부), 미국 서부(캘리포니아 북부), 미국 서부(오레곤), 아시아 태평양(서울)io2
및io2
Block Express 볼륨에 대한 다중 연결은 해당 볼륨 유형을 지원하는 모든 리전에서 사용할 수 있습니다. -
io2
볼륨이 사용 설정된 다중 연결을 Block Express를 지원하는 인스턴스 유형과 Block Express를 지원하지 않는 인스턴스 유형에 동시에 연결할 수 없습니다. 자세한 내용은 io2 Block Express 볼륨 섹션을 참조하세요. -
다중 연결이 활성화된
io1
볼륨은 io2 Block Express를 지원하는 인스턴스 유형에서 지원되지 않습니다. 다중 연결을 이러한 인스턴스 유형에 사용하려면 io2 볼륨을 사용해야 합니다. -
XFS 및 EXT4와 같은 표준 파일 시스템은 EC2 인스턴스와 같은 여러 서버에서 동시에 액세스하도록 설계되지 않았습니다. 표준 파일 시스템에서 다중 연결을 사용하면 데이터가 손상되거나 손실될 수 있으므로 프로덕션 워크로드에 안전하지 않습니다. 클러스터링된 파일 시스템을 사용하여 프로덕션 워크로드의 데이터 복원력과 안정성을 보장할 수 있습니다.
-
다중 연결 지원 볼륨은 I/O 차단 기능을 지원하지 않습니다. I/O 차단 프로토콜은 데이터 일관성을 유지하기 위해 공유된 스토리지 환경에서 쓰기 액세스를 제어합니다. 애플리케이션은 데이터 일관성을 유지하기 위해 연결된 인스턴스에 대해 쓰기 순서를 제공해야 합니다.
-
다중 연결 지원 볼륨은 부팅 볼륨으로 만들 수 없습니다.
-
다중 연결 지원 볼륨은 인스턴스당 하나의 블록 디바이스 매핑에 연결할 수 있습니다.
-
인스턴스 시작 중에는 Amazon EC2 콘솔 또는 RunInstances API를 사용하여 다중 연결을 활성화할 수 없습니다.
-
Amazon EBS 인프라 계층에서 문제가 있는 다중 연결 지원 볼륨은 연결된 모든 인스턴스에서 사용할 수 없습니다. Amazon EC2 또는 네트워킹 계층의 문제가 있는 경우 연결된 인스턴스 일부만 영향을 받을 수 있습니다.
-
다음 표에는 다중 연결 사용
io1
및io2
볼륨을 생성한 후의 볼륨 수정 지원 정보가 나와 있습니다.io2
볼륨io1
볼륨볼륨 유형 수정 ✗ ✗ 볼륨 크기 수정 ✓ ✗ 프로비저닝된 IOPS 수정 ✓ ✗ 다중 연결 활성화 ✓ * ✗ 다중 연결 비활성화 ✓ * ✗ * 볼륨이 인스턴스에 연결되어 있는 동안에는 다중 연결 기능을 활성화하거나 비활성화할 수 없습니다.
성능
연결된 각 인스턴스는 최대 IOPS 성능을 볼륨의 최대 프로비저닝된 성능까지 구동할 수 있습니다. 그러나 연결된 모든 인스턴스의 전체 성능은 볼륨의 최대 프로비저닝된 성능을 초과할 수 없습니다. 연결된 인스턴스의 IOPS에 대한 수요가 볼륨의 프로비저닝된 IOPS보다 높으면 볼륨이 프로비저닝된 성능을 초과하지 않습니다.
예를 들어 io2
프로비저닝된 IOPS를 사용하여 50,000
다중 연결 사용 볼륨을 생성하고 m5.8xlarge
인스턴스와 c5.12xlarge
인스턴스에 연결한다고 가정합니다. m5.8xlarge
및 c5.12xlarge
인스턴스는 각각 최대 30,000
및 40,000
IOPS를 지원합니다. 각 인스턴스는 최대 IOPS가 볼륨의 프로비저닝된 IOPS인 50,000
보다 작기 때문에 최대 IOPS를 구동할 수 있습니다. 그러나 두 인스턴스 모두 볼륨에 대한 I/O를 동시에 구동하는 경우 결합된 IOPS는 볼륨의 프로비저닝된 성능인 50,000
IOPS를 초과할 수 없습니다. 볼륨이 50,000
IOPS를 초과하지 않습니다.
일관된 성능을 얻으려면 다중 연결 지원 볼륨의 섹터 전체에 대해 연결된 인스턴스에서 구동되는 I/O의 균형을 유지하는 것이 가장 좋습니다.
다중 연결 작업
다중 연결 지원 볼륨은 다른 Amazon EBS 볼륨을 관리하는 것과 거의 동일한 방식으로 관리할 수 있습니다. 그러나 다중 연결 기능을 사용하려면 볼륨에 대해 이 기능을 활성화해야 합니다. 새 볼륨을 만들 때 다중 연결은 기본적으로 비활성화되어 있습니다.
다중 연결 활성화
io1
및 io2
볼륨을 생성하는 동안 다중 연결을 사용할 수 있습니다.
다음 방법 중 하나를 사용하여 생성 중에 io1
또는 io2
볼륨에 대한 다중 연결을 활성화합니다.
어떠한 인스턴스에도 연결되지 않은 경우에만 io2
볼륨을 생성한 후 다중 연결을 활성화할 수도 있습니다.
참고
io1
볼륨의 경우 생성 후에 다중 연결을 활성화할 수 없습니다.
다음 방법 중 하나를 사용하여 Amazon EBS 볼륨을 생성한 후 다중 연결을 활성화합니다.
다중 연결 비활성화
io2
볼륨이 둘 이상의 인스턴스에 연결되지 않은 경우에만 다중 연결을 비활성화할 수 있습니다.
참고
io1
볼륨을 생성한 후에는 다중 연결을 비활성화할 수 없습니다.
다음 방법 중 하나를 사용하여 io2
볼륨에 대해 다중 연결을 비활성화합니다.
인스턴스에 볼륨 연결
다른 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(io1
및 io2
) 볼륨에 적용되는 표준 요금이 청구됩니다. 자세한 내용은 Amazon EBS 요금