Amazon EBS에서 다중 연결을 사용해 봤습니다.

Amazon EBS에서 다중 연결을 사용해 봤습니다.

Amazon EBS에서 다중 연결을 사용해 봤습니다.
Clock Icon2025.01.27

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Amazon EBS에서 다중 연결을 사용해 봤습니다.

다중 연결?

2020년부터 Amazon EBS 서비스에서는 다중 연결 기능을 지원하고 있습니다.

오늘 AWS에서는 Amazon EBS(Amazon Elastic Block Store)의 다중 연결 기능을 정식 발표했습니다. 이제 Amazon EBS 프로비저닝된 IOPS io1 볼륨에 다중 연결을 활성화하면 동일한 가용 영역 내에서 단일 볼륨을 최대 16개의 AWS Nitro 시스템 기반 Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스에 동시에 연결할 수 있습니다.

https://aws.amazon.com/ko/about-aws/whats-new/2020/02/ebs-multi-attach-available-provisioned-iops-ssd-volumes/

해당 발표에는 io1 볼륨에서 다중 연결을 활성화할 수 있다고 하지만, 현재 2025년에는 io1과 io2에 다중 연결을 활성화할 수 있습니다.

io1과 io2의 차이점은 다음과 같습니다.

io2 볼륨 io1 볼륨
볼륨 유형 수정 X X
볼륨 크기 수정 O X
프로비저닝된 IOPS 수정 O X
다중 연결 활성화 O X
다중 연결 비활성화 O X
  • 볼륨이 인스턴스에 연결되어 있는 동안에는 다중 연결 기능을 활성화하거나 비활성화할 수 없습니다.

고려 사항

AWS 공식 문서에서는 io1과 io2의 고려 사항을 안내하고 있습니다.

  • 다중 연결 지원 볼륨은 동일한 가용 영역에 있는 Nitro System에 구축된 최대 16개의 인스턴스에 연결할 수 있습니다.
  • Linux 인스턴스에서는 다중 연결 사용 io1 및 io2 볼륨을 지원합니다. Windows 인스턴스에서는 다중 연결 사용 io2 볼륨만 지원합니다.
  • 인스턴스에 연결할 수 있는 Amazon EBS 볼륨의 최대 수는 인스턴스 유형 및 인스턴스 크기에 따라 달라집니다. 자세한 내용은 인스턴스 볼륨 제한을 참조하세요.
  • 다중 연결은 프로비저닝된 IOPS SSD(io1 및 io2) 볼륨에서만 지원됩니다.
  • io1 볼륨 다중 연결은 다음 리전에서만 사용할 수 있습니다. 미국 동부(버지니아 북부), 미국 서부(오레곤), 아시아 태평양(서울)
  • io2에 대한 다중 연결은 io2를 지원하는 모든 리전에서 사용할 수 있습니다.

무엇보다 저렴한 비용으로 성능, 일관성 및 내구성을 높이기 위해서 io2를 사용하는 것을 권장하고 있습니다.

https://docs.aws.amazon.com/ko_kr/ebs/latest/userguide/ebs-volumes-multi.html#considerations

jw-blgebsmult-1

또한, 다중 연결의 경우 같은 AZ에만 연결이 가능하며, 다른 AZ에 있는 EC2 인스턴스를 대상으로 연결할 수는 없습니다.
※ 즉, 연결하고자 하는 EC2 인스턴스와 EBS 볼륨이 같은 AZ여야 합니다.

다중 연결 시도

이번에는 직접 콘솔 화면에서 다중 연결을 시도해 보겠습니다.

jw-blgebsmult-2

먼저 Amazon EBS를 생성합니다. EBS 생성 화면에서 볼륨 유형을 io1 혹은 io2로 선택하면, 다중 연결 체크박스가 활성화됩니다.

jw-blgebsmult-3

이어서 기존에 생성한 EC2 인스턴스에 다중 연결을 위해 생성한 EBS 볼륨을 연결합니다.
※ 여러 EC2 인스턴스에 공유하기 위한 목적이므로 루트 볼륨으로는 사용할 수 없는 것 같습니다.
※ 콘솔 화면에서 EC2 인스턴스를 생성할 때 루트 볼륨을 생성하는데, 이 때 다중 연결 체크 박스는 활성화되지 않습니다.

또한, 다중 연결은 Nitro System에 구축된 최대 16개의 인스턴스에 연결할 수 있다고 설명하고 있는데, 여기서 말 하는 Nitro System에 대해서는 아래 공식 문서에서 확인할 수 있습니다.

https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html#nitro-instance-types

jw-blgebsmult-4

또 다른 EC2 인스턴스에 연결하고 싶다면, 조금 전과 동일하게 EBS 볼륨을 연결하면 해당 볼륨이 여러 EC2 인스턴스에 연결된 것을 확인할 수 있습니다.

Linux에서 EBS 볼륨을 마운트하는 방법은 아래 블로그에서 확인할 수 있습니다.

https://dev.classmethod.jp/articles/jw-connect-and-mount-additional-volumes-in-an-ec2-linux-environment/

jw-blgebsmult-5

마운트가 끝났다면, 한 쪽의 EC2 인스턴스에서 텍스트 파일을 만들고 다른 한쪽의 EC2 인스턴스에 들어가 확인해 보면 동일하게 파일이 공유되는 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.