Amazon EC2 루트 디바이스 볼륨(https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/RootDeviceStorage.html)

사용자가 인스턴스를 시작할 때 루트 디바이스 볼륨에는 인스턴스를 부팅하는 데 사용된 이미지가 들어 있습니다. Amazon EC2가 출시되었던 시점에서는 Amazon EC2 인스턴스 스토어가 모든 AMI를 지원했으므로 AMI에서 시작한 인스턴스의 루트 디바이스는 Amazon S3에 저장된 템플릿으로부터 생성된 인스턴스 스토어 볼륨이었습니다. Amazon EBS가 출시된 후에는 Amazon EBS의 지원을 받는 AMI가 도입되었습니다. 따라서 AMI에서 시작한 인스턴스의 루트 디바이스는 Amazon EBS 스냅샷으로부터 생성된 Amazon EBS 볼륨입니다.

사용자는 Amazon EC2 인스턴스 스토어가 지원하는 AMI와 Amazon EBS에서 지원하는 AMI 중에서 선택할 수 있습니다. 시작 속도가 더 빠르고 영구 스토리지를 사용하는 Amazon EBS 지원 AMI를 사용하는 것이 좋습니다.

루트 볼륨에 대해 Amazon EC2에서 사용하는 디바이스 이름에 대한 자세한 내용은 Linux 인스턴스의 디바이스 명명 단원을 참조하십시오.

루트 디바이스 스토리지 개념

인스턴스 스토어 지원 AMI 또는 Amazon EBS 지원하는 AMI에서 인스턴스를 시작할 수 있습니다. AMI 설명에는 AMI의 유형이 포함되며, 설명 중간에 루트 디바이스가 ebs(Amazon EBS 지원) 또는 instance store(인스턴스 스토어 지원)로 언급됩니다. 각 AMI 유형별로 수행할 수 있는 작업이나 기능이 달라지기 때문에 이 차이점을 아는 것이 중요합니다. 해당 차이점에 대한 자세한 내용은 루트 디바이스 스토리지 단원을 참조하십시오.


인스턴스 스토어 지원 인스턴스

인스턴스 스토어를 루트 디바이스로 사용하는 인스턴스는 하나 이상의 인스턴스 스토어 볼륨을 자동으로 사용할 수 있으며, 이러한 볼륨 중 하나가 루트 디바이스 볼륨 역할을 합니다. 인스턴스가 시작되면 인스턴스를 부팅하는 데 사용된 이미지가 루트 볼륨으로 복사됩니다. 인스턴스 유형에 따라 다른 인스턴스 스토어 볼륨을 사용할 수도 있습니다.

인스턴스 스토어 볼륨의 모든 데이터는 인스턴스가 실행되는 동안 유지되지만, 인스턴스가 종료되거나(인스턴스 스토어 지원 인스턴스는 [Stop] 작업을 지원하지 않음) 장애가 발생하면(예: 기본 드라이브에 문제가 있는 경우) 데이터가 삭제됩니다.

 Amazon EC2 인스턴스 스토어가 지원하는 인스턴스의 루트 디바이스

인스턴스 스토어가 지원하는 인스턴스는 종료되거나 장애가 발생할 경우 복원이 불가능합니다. Amazon EC2 인스턴스 스토어가 지원하는 인스턴스를 사용하려는 경우 여러 가용 영역의 인스턴스 스토어로 데이터를 분산하는 것이 좋습니다. 또한 인스턴스 스토어 볼륨의 중요한 데이터를 정기적으로 영구 스토리지로 백업해야 합니다.

자세한 내용은 Amazon EC2 인스턴스 스토어 단원을 참조하십시오.

Amazon EBS 지원 인스턴스

Amazon EBS를 루트 디바이스로 사용하는 인스턴스에는 자동으로 Amazon EBS 볼륨이 연결됩니다. Amazon EBS 지원 인스턴스를 시작하면 사용하는 AMI가 참조하는 각 Amazon EBS 스냅샷에 대한 Amazon EBS 볼륨이 생성됩니다. 인스턴스 유형에 따라 다른 Amazon EBS 볼륨이나 인스턴스 스토어 볼륨을 사용할 수도 있습니다.

 Amazon EBS 지원 인스턴스의 루트 디바이스 볼륨 및 기타 Amazon EBS 볼륨

Amazon EBS 지원 인스턴스는 중지한 후 다시 시작해도 연결된 볼륨에 저장된 데이터에 아무런 영향이 없습니다. Amazon EBS 지원 인스턴스가 중지 상태일 때 다양한 인스턴스 및 볼륨 관련 작업을 수행할 수 있습니다. 예를 들어 인스턴스의 속성을 수정하거나, 인스턴스의 크기를 변경하거나, 사용하는 커널을 업데이트하거나, 디버깅 등의 목적으로 루트 볼륨을 실행 중인 다른 인스턴스에 연결할 수 있습니다.

Amazon EBS 지원 인스턴스에서 장애가 발생할 경우 다음 방법 중 하나로 세션을 복원할 수 있습니다.

  • 중지 후 다시 시작합니다(먼저 이 방법 시도).

  • 모든 관련 볼륨의 스냅샷을 자동으로 생성하고 새 AMI를 생성합니다. 자세한 내용은 Amazon EBS 지원 Linux AMI 생성 단원을 참조하십시오.

  • 다음 단계에 따라 볼륨에 새 인스턴스를 연결합니다.

    1. 루트 볼륨의 스냅샷을 생성합니다.

    2. 스냅샷을 사용하여 새 AMI를 등록합니다.

    3. 새 AMI에서 새 인스턴스를 시작합니다.

    4. 나머지 Amazon EBS 볼륨을 이전 인스턴스에서 분리합니다.

    5. Amazon EBS 볼륨을 새 인스턴스에 다시 연결합니다.

자세한 내용은 Amazon EBS 볼륨 단원을 참조하십시오.

루트 디바이스 유형에 따른 AMI 선택

인스턴스를 시작할 때 지정하는 AMI가 인스턴스의 루트 디바이스 볼륨 유형을 결정합니다.

콘솔을 사용하여 Amazon EBS 지원 AMI를 선택하려면 다음을 수행합니다.

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [AMIs]를 선택합니다.

  3. 필터 목록에서 [Public images] 등의 이미지 유형을 선택합니다. 검색 창에서 [Platform]을 선택하고 [Amazon Linux] 등의 운영 체제를 선택한 후 [Root Device Type]을 선택하고 [EBS images]를 선택합니다.

  4. (선택 사항) 결정에 도움이 되는 추가 정보를 얻으려면 [Show/Hide Columns] 아이콘을 선택하고 표시할 열을 업데이트한 후 [Close]를 선택합니다.

  5. AMI를 선택하고 AMI ID를 메모해 둡니다.

콘솔을 사용하여 인스턴스 스토어 지원 AMI를 선택하려면 다음을 수행합니다.

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [AMIs]를 선택합니다.

  3. 필터 목록에서 [Public images] 등의 이미지 유형을 선택합니다. 검색 창에서 [Platform]을 선택하고 [Amazon Linux] 등의 운영 체제를 선택한 후 [Root Device Type]을 선택하고 [Instance store]를 선택합니다.

  4. (선택 사항) 결정에 도움이 되는 추가 정보를 얻으려면 [Show/Hide Columns] 아이콘을 선택하고, 표시할 열을 업데이트한 후 [Close]를 선택합니다.

  5. AMI를 선택하고 AMI ID를 메모해 둡니다.

명령줄을 사용하여 AMI의 루트 디바이스 볼륨 유형을 확인하려면 다음을 수행합니다.

다음 명령 중 하나를 사용할 수 있습니다. 다음의 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

인스턴스의 루트 디바이스 유형 확인

콘솔을 사용하여 인스턴스의 루트 디바이스 유형을 확인하려면 다음을 수행합니다.

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Instances]를 선택하고 인스턴스를 선택합니다.

  3. 아래를 참고하여 [Description] 탭의 [Root device type] 값을 확인합니다.

    • 값이 ebs이면 Amazon EBS 지원 인스턴스입니다.

    • 값이 instance store이면 인스턴스 스토어 지원 인스턴스입니다.

명령줄을 사용해 인스턴스의 루트 디바이스 유형을 확인하는 방법

다음 명령 중 하나를 사용할 수 있습니다. 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

루트 디바이스 볼륨이 계속 유지되도록 변경

기본적으로 Amazon EBS에서 지원하는 AMI의 루트 디바이스 볼륨은 인스턴스 종료 시 삭제됩니다. 기본 동작을 변경하려면 블록 디바이스 매핑을 사용하여 DeleteOnTermination 속성을 false로 설정합니다.

콘솔을 사용하여 루트 볼륨이 계속 유지되도록 변경

콘솔을 사용하여 인스턴스 시작 시 DeleteOnTermination 속성을 변경할 수 있습니다. 실행 중인 인스턴스의 속성을 변경하려면 명령줄을 사용해야 합니다.

콘솔을 사용해 인스턴스의 루트 디바이스 볼륨 유지를 설정하는 방법(인스턴스 시작 시)

  1. Amazon EC2 콘솔을 엽니다.

  2. Amazon EC2 콘솔 대시보드에서 [Launch Instance]를 선택합니다.

  3. [Choose an Amazon Machine Image (AMI)] 페이지에서 사용할 AMI를 선택하고 [Select]를 선택합니다.

  4. 마법사 안내에 따라 [Choose an Instance Type] 및 [Configure Instance Details] 설정을 완료합니다.

  5. [Add Storage] 페이지에서 루트 볼륨에 대한 [Delete On Termination]의 선택을 해제합니다.

  6. 나머지 마법사 페이지를 완료한 다음 [Launch]를 선택합니다.

인스턴스의 세부 정보 창에서 루트 디바이스 볼륨의 세부 정보를 조회하여 설정을 확인할 수 있습니다. [Block devices] 옆의 루트 디바이스 볼륨 항목을 선택합니다. [Delete on termination]의 기본 설정은 True입니다. 기본 동작을 변경하면 [Delete on termination]이 False가 됩니다.

AWS CLI를 사용하여 인스턴스의 루트 볼륨이 계속 유지되도록 변경

AWS CLI를 사용하여 인스턴스 시작 시 또는 인스턴스 실행 중에 DeleteOnTermination 속성을 변경할 수 있습니다.

예 시작 시

루트 볼륨을 보존하려면 run-instances 명령을 사용하여 DeleteOnTermination 속성을 false로 설정하는 블록 디바이스 매핑을 포함시킵니다.

aws ec2 run-instances --block-device-mappings file://mapping.json other parameters...

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

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

아래와 같이 describe-instances 명령을 사용하고 명령 출력에서 디바이스의 BlockDeviceMappings항목을 찾아보면 DeleteOnTermination이 false인 것을 확인할 수 있습니다.

... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": false, "VolumeId": "vol-1234567890abcdef0", "AttachTime": "2013-07-19T02:42:39.000Z" } } ...

예 인스턴스 실행 중

루트 볼륨을 보존하려면 modify-instance-attribute 명령을 사용하여 DeleteOnTermination 속성을 false로 설정하는 블록 디바이스 매핑을 포함시킵니다.

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

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

[ { "DeviceName": "/dev/sda1", "Ebs" : { "DeleteOnTermination": false } } ]


+ Recent posts