AMI의 부팅 모드 설정 - Amazon Elastic Compute Cloud

AMI의 부팅 모드 설정

register-image 명령을 사용하여 AMI를 생성하는 경우에 AMI의 부팅 모드를 uefi, legacy-bios 또는 uefi-preferred로 설정할 수 있습니다.

AMI 부팅 모드가 uefi-preferred로 설정된 경우 인스턴스는 다음과 같이 부팅됩니다.

  • UEFI와 레거시 BIOS를 모두 지원하는 인스턴스 유형(예: m5.large)의 경우 UEFI를 사용하여 인스턴스가 부팅됩니다.

  • 레거시 BIOS만 지원하는 인스턴스 유형(예: m4.large)의 경우 레거시 BIOS를 사용하여 인스턴스가 부팅됩니다.

참고

AMI 부팅 모드를 uefi-preferred로 설정하면 운영 체제가 UEFI와 레거시 BIOS를 모두 부팅할 수 있는 기능을 지원해야 합니다.

현재는 이 register-image 명령을 사용하여 NitroTPM과 UEFI Preferred 모두를 지원하는 AMI를 생성할 수 없습니다.

주의

UEFI 보안 부팅과 같은 일부 기능은 UEFI에서 부팅하는 인스턴스에서만 사용할 수 있습니다. UEFI를 지원하지 않는 인스턴스 유형과 함께 uefi-preferred AMI 부팅 모드 파라미터를 사용하면 인스턴스가 레거시 BIOS로 시작되고 UEFI 종속 기능이 비활성화됩니다. UEFI 종속 기능의 가용성에 의존하는 경우 AMI 부팅 모드 파라미터를 uefi로 설정하세요.

기존 레거시 BIOS 기반 인스턴스를 UEFI로 변환하거나 기존 UEFI 기반 인스턴스를 레거시 BIOS로 변환하려면 여러 단계를 수행해야 합니다. 먼저 인스턴스의 볼륨 및 운영 체제가 선택한 부팅 모드를 지원하도록 수정합니다. 다음에 볼륨의 스냅샷을 생성합니다. 마지막으로 register-image를 사용하여 스냅샷을 통해 AMI를 생성합니다.

create-image 명령을 사용하면 AMI의 부팅 모드를 설정할 수 없습니다. create-image를 사용하면 AMI가 AMI를 생성하는 데 사용된 EC2 인스턴스의 부팅 모드를 상속합니다. 예를 들어, 레거시 BIOS에서 실행 중인 EC2 인스턴스에서 AMI를 생성하는 경우에는 AMI 부팅 모드가 legacy-bios로 구성됩니다. 부팅 모드가 uefi-preferred로 설정된 AMI를 사용하여 시작한 EC2 인스턴스에서 AMI를 생성하면 생성된 AMI의 부팅 모드도 uefi-preferred로 설정됩니다.

주의

AMI 부팅 모드 파라미터를 설정해도 지정된 부팅 모드에 대한 운영 체제가 자동으로 구성되지는 않습니다. 이 단계를 진행하기 전에 먼저 선택된 부팅 모드를 통한 부팅을 지원하도록 인스턴스의 볼륨 및 운영 체제를 적절하게 수정해야 합니다. 그렇지 않으면 생성된 AMI를 사용할 수 없습니다. 예를 들어 레거시 BIOS 기반 Windows 인스턴스를 UEFI로 변환하는 경우 Microsoft의 MBR2GPT 도구를 사용하여 시스템 디스크를 MBR에서 GPT로 변환할 수 있습니다. 필요한 수정 사항은 운영 체제마다 다릅니다. 자세한 내용은 운영 체제 설명서를 참조하세요.

AMI의 부팅 모드를 설정하려면(AWS CLI)
  1. 선택된 부팅 모드를 통한 부팅을 지원하도록 인스턴스의 볼륨 및 운영 체제를 적절하게 수정합니다. 필요한 수정 사항은 운영 체제마다 다릅니다. 자세한 내용은 운영 체제 설명서를 참조하세요.

    참고

    이 단계를 수행하지 않으면 AMI를 사용할 수 없습니다.

  2. 인스턴스의 볼륨 ID를 찾으려면 describe-instances 명령을 사용합니다. 다음 단계에서 이 볼륨의 스냅샷을 생성합니다.

    aws ec2 describe-instances --region us-east-1 --instance-ids i-1234567890abcdef0

    예상 결과

    ... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "AttachTime": "", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "vol-1234567890abcdef0" } } ...
  3. 볼륨의 스냅샷을 생성하려면 create-snapshot 명령을 사용합니다. 이전 단계의 볼륨 ID를 사용합니다.

    aws ec2 create-snapshot --region us-east-1 --volume-id vol-1234567890abcdef0 --description "add text"

    예상 결과

    { "Description": "add text", "Encrypted": false, "OwnerId": "123", "Progress": "", "SnapshotId": "snap-01234567890abcdef", "StartTime": "", "State": "pending", "VolumeId": "vol-1234567890abcdef0", "VolumeSize": 30, "Tags": [] }
  4. 이전 단계의 출력에서 스냅샷 ID를 확인합니다.

  5. 스냅샷 생성이 completed까지 기다렸다가 다음 단계로 이동합니다. 스냅샷 상태를 쿼리하려면 describe-snapshots 명령을 사용합니다.

    aws ec2 describe-snapshots --region us-east-1 --snapshot-ids snap-01234567890abcdef

    출력 예시

    { "Snapshots": [ { "Description": "This is my snapshot", "Encrypted": false, "VolumeId": "vol-049df61146c4d7901", "State": "completed", "VolumeSize": 8, "StartTime": "2019-02-28T21:28:32.000Z", "Progress": "100%", "OwnerId": "012345678910", "SnapshotId": "snap-01234567890abcdef", ...
  6. 새 AMI를 생성하려면 register-image 명령을 사용합니다. 이전 단계에서 확인한 스냅샷 ID를 사용합니다.

    • 부팅 모드를 UEFI로 설정하려면 명령에 --boot-mode 파라미터를 추가하고 값으로 uefi를 지정합니다.

      aws ec2 register-image \ --region us-east-1 \ --description "add description" \ --name "add name" \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={SnapshotId=snap-01234567890abcdef,DeleteOnTermination=true}" \ --architecture x86_64 \ --root-device-name /dev/sda1 \ --virtualization-type hvm \ --ena-support \ --boot-mode uefi
    • 부팅 모드를 uefi-preferred로 설정하려면 명령에 --boot-mode 파라미터를 추가하고 값으로 uefi-preferred를 지정합니다.

      aws ec2 register-image \ --region us-east-1 \ --description "add description" \ --name "add name" \ --block-device-mappings "DeviceName=/dev/sda1,Ebs={SnapshotId=snap-01234567890abcdef,DeleteOnTermination=true}" \ --architecture x86_64 \ --root-device-name /dev/sda1 \ --virtualization-type hvm \ --ena-support \ --boot-mode uefi-preferred

    예상 결과

    { "ImageId": "ami-new_ami_123" }
  7. 새로 생성된 AMI이 이전 단계에서 지정한 부팅 모드인지 확인하려면 describe-images 명령을 사용합니다.

    aws ec2 describe-images --region us-east-1 --image-id ami-new_ami_123

    예상 결과

    { "Images": [ { "Architecture": "x86_64", "CreationDate": "2021-01-06T14:31:04.000Z", "ImageId": "ami-new_ami_123", "ImageLocation": "", ... "BootMode": "uefi" } ] }
  8. 새로 생성된 AMI를 사용하여 새 인스턴스를 시작합니다.

    AMI 부팅 모드가 uefi 또는 legacy-bios인 경우 이 AMI에서 생성된 인스턴스는 AMI와 부팅 모드가 동일합니다. AMI 부팅 모드가 uefi-preferred인 경우 인스턴스 유형이 UEFI를 지원하면 인스턴스가 UEFI를 사용하여 부팅되고, 그렇지 않으면 인스턴스가 레거시 BIOS를 사용하여 부팅됩니다. 자세한 내용은 고려 사항 단원을 참조하십시오.

  9. 새 인스턴스가 예상 부팅 모드인지 확인하려면 describe-instances 명령을 사용합니다.