Amazon EC2 인스턴스 루트 디바이스 볼륨 - Amazon Elastic Compute Cloud

Amazon EC2 인스턴스 루트 디바이스 볼륨

인스턴스를 시작하면 인스턴스 부팅에 사용된 이미지가 루트 디바이스 볼륨에 저장됩니다. 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를 사용하는 것이 좋습니다.

중요

C3, D2, G2, I2, M3 및 R3 같은 인스턴스 유형만 인스턴스 스토어 볼륨을 루트 디바이스로 지원합니다.

루트 볼륨에 대해 Amazon EC2에서 사용하는 디바이스 이름에 대한 자세한 내용은 Linux 인스턴스의 디바이스 이름 섹션을 참조하세요.

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

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

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

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

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


     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-backed Linux AMI 생성 섹션을 참조하세요.

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

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

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

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

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

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

자세한 내용은 Amazon EBS 볼륨 섹션을 참조하세요.

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

인스턴스를 시작할 때 지정하는 AMI가 인스턴스의 루트 디바이스 볼륨 유형을 결정합니다. 다음 방법 중 하나를 사용하여 루트 디바이스 유형별 AMI를 볼 수 있습니다.

Console

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

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. 필터 목록에서 퍼블릭 이미지 등의 이미지 유형을 선택합니다. 검색 창에서 플랫폼을 선택하고 Amazon Linux 등의 운영 체제를 선택한 후 루트 디바이스 유형을 선택하고 EBS 이미지를 선택합니다.

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

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

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

  1. Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. 필터 목록에서 퍼블릭 이미지 등의 이미지 유형을 선택합니다. 검색 창에서 플랫폼을 선택하고 Amazon Linux 등의 운영 체제를 선택한 후 루트 디바이스 유형을 선택하고 인스턴스 스토어를 선택합니다.

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

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

AWS CLI

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

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

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

New console

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

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

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

  3. 스토리지 탭의 루트 디바이스 세부 정보에서 루트 디바이스 유형의 값을 다음과 같이 확인합니다.

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

    • 값이 INSTANCE-STORE이면 인스턴스 스토어 지원 인스턴스입니다.

Old console

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

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

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

  3. 아래를 참고하여 설명 탭의 루트 디바이스 유형 값을 확인합니다.

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

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

AWS CLI

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

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

루트 볼륨이 지속되도록 변경

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

인스턴스 시작 중 루트 볼륨이 지속되도록 구성

Amazon EC2 콘솔이나 명령줄 도구를 사용하여 인스턴스를 시작할 때 루트 볼륨이 유지되도록 구성할 수 있습니다.

Console

콘솔을 사용하여 인스턴스를 시작할 때 루트 볼륨이 지속되도록 구성하려면

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

  2. 탐색 창에서 인스턴스를 선택한 후 인스턴스 시작을 선택합니다.

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

  4. 마법사 안내에 따라 인스턴스 유형 선택인스턴스 세부 정보 구성 설정을 완료합니다.

  5. 스토리지 추가 페이지에서 루트 볼륨에 대한 종료 시 삭제의 선택을 해제합니다.

  6. 나머지 마법사 페이지를 완료한 후 시작을 선택합니다.

AWS CLI

AWS CLI를 사용하여 인스턴스를 시작할 때 루트 볼륨이 지속되도록 구성하려면

run-instances 명령을 사용하고 DeleteOnTermination 속성을 false로 설정하는 블록 디바이스 매핑을 포함합니다.

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

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

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]
Tools for Windows PowerShell

Tools for Windows PowerShell을 사용하여 인스턴스를 시작할 때 루트 볼륨이 지속되도록 구성하려면

New-EC2Instance 명령을 사용하고 DeleteOnTermination 속성을 false로 설정하는 블록 디바이스 매핑을 포함합니다.

C:\> $ebs = New-Object Amazon.EC2.Model.EbsBlockDevice C:\> $ebs.DeleteOnTermination = $false C:\> $bdm = New-Object Amazon.EC2.Model.BlockDeviceMapping C:\> $bdm.DeviceName = "dev/xvda" C:\> $bdm.Ebs = $ebs C:\> New-EC2Instance -ImageId ami-0abcdef1234567890 -BlockDeviceMapping $bdm ...other parameters...

기존 인스턴스에서 루트 볼륨이 지속되도록 구성

명령줄 도구만 사용하여 실행 중인 인스턴스에 대해 루트 볼륨이 지속되도록 구성할 수 있습니다.

AWS CLI

AWS CLI를 사용하여 기존 인스턴스에서 루트 볼륨이 지속되도록 구성하려면

DeleteOnTermination 속성을 false로 설정하는 블록 디바이스 매핑과 함께 modify-instance-attribute 명령을 사용합니다.

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

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

[ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": false } } ]
Tools for Windows PowerShell

AWS Tools for Windows PowerShell를 사용하여 기존 인스턴스에서 루트 볼륨이 지속되도록 구성하려면

DeleteOnTermination 속성을 false로 설정하는 블록 디바이스 매핑과 함께 Edit-EC2InstanceAttribute 명령을 사용합니다.

C:\> $ebs = New-Object Amazon.EC2.Model.EbsInstanceBlockDeviceSpecification C:\> $ebs.DeleteOnTermination = $false C:\> $bdm = New-Object Amazon.EC2.Model.InstanceBlockDeviceMappingSpecification C:\> $bdm.DeviceName = "/dev/xvda" C:\> $bdm.Ebs = $ebs C:\> Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -BlockDeviceMapping $bdm

루트 볼륨이 지속되도록 구성되었는지 확인

Amazon EC2 콘솔이나 명령줄 도구를 사용하여 루트 볼륨이 지속되도록 구성되어 있는지 확인할 수 있습니다.

New console

Amazon EC2 콘솔을 사용하여 루트 볼륨이 지속되도록 구성되어 있는지 확인하려면

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

  2. 탐색 창에서 인스턴스를 선택한 후 해당 인스턴스를 선택합니다.

  3. 스토리지 탭의 블록 디바이스에서 루트 볼륨에 대한 항목을 찾습니다. 종료 시 삭제No인 경우 볼륨이 지속되도록 구성된 것입니다.

Old console

Amazon EC2 콘솔을 사용하여 루트 볼륨이 지속되도록 구성되어 있는지 확인하려면

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

  2. 탐색 창에서 인스턴스를 선택한 후 해당 인스턴스를 선택합니다.

  3. 설명 탭에서 루트 디바이스 항목을 선택합니다. 종료 시 삭제False인 경우 볼륨이 지속되도록 구성된 것입니다.

AWS CLI

AWS CLI를 사용하여 루트 볼륨이 지속되도록 구성되었는지 확인하려면

describe-instances 명령을 사용하여 DeleteOnTermination 응답 요소의 BlockDeviceMappings 속성이 false로 설정되어 있는지 확인합니다.

$ aws ec2 describe-instances --instance-id i-1234567890abcdef0
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": false, "VolumeId": "vol-1234567890abcdef0", "AttachTime": "2013-07-19T02:42:39.000Z" } } ...
Tools for Windows PowerShell

AWS Tools for Windows PowerShell를 사용하여 루트 볼륨이 지속되도록 구성되었는지 확인하려면

Get-EC2Instance를 사용하여 DeleteOnTermination 응답 요소의 BlockDeviceMappings 속성이 false로 설정되어 있는지 확인합니다.

C:\> (Get-EC2Instance -InstanceId i-i-1234567890abcdef0).Instances.BlockDeviceMappings.Ebs

루트 볼륨의 초기 크기 변경

기본적으로 루트 볼륨의 크기는 스냅샷의 크기에 따라 결정됩니다. 다음과 같이 인스턴스의 블록 디바이스 매핑을 사용하여 루트 볼륨의 초기 크기를 늘릴 수 있습니다.

  1. AMI 블록 디바이스 매핑에서 EBS 볼륨 보기에 설명된 대로 AMI에 지정된 루트 볼륨의 디바이스 이름을 확인합니다.

  2. Amazon EBS 스냅샷 정보 보기에 설명된 대로 AMI 블록 디바이스 매핑에 지정된 스냅샷의 크기를 확인합니다.

  3. 인스턴스를 시작할 때 블록 디바이스 매핑 업데이트에 설명된 대로 스냅샷 크기보다 큰 볼륨 크기를 지정하고 인스턴스 블록 디바이스 매핑을 사용하여 루트 볼륨의 크기를 재정의합니다.

예를 들어 인스턴스 블록 디바이스 매핑에 대한 다음 항목은 루트 볼륨 /dev/xvda의 크기를 100GiB로 늘립니다. 스냅샷 ID는 AMI 블록 디바이스 매핑에 이미 지정되어 있으므로 인스턴스 블록 디바이스 매핑에서 스냅샷 ID를 생략해도 됩니다.

{ "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 100 } }

자세한 내용은 블록 디바이스 매핑 섹션을 참조하세요.