Amazon EC2 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
AMI의 부팅 모드를 설정하려면(AWS CLI)
-
선택된 부팅 모드를 통한 부팅을 지원하도록 인스턴스의 볼륨 및 운영 체제를 적절하게 수정합니다. 필요한 수정 사항은 운영 체제마다 다릅니다. 자세한 내용은 운영 체제 설명서를 참조하세요.
참고
이 단계를 수행하지 않으면 AMI를 사용할 수 없습니다.
-
인스턴스의 볼륨 ID를 찾으려면 describe-instances 명령을 사용합니다. 다음 단계에서 이 볼륨의 스냅샷을 생성합니다.
aws ec2 describe-instances --region
us-east-1
--instance-idsi-1234567890abcdef0
예상 결과
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "AttachTime": "", "DeleteOnTermination": true, "Status": "attached", "VolumeId": "
vol-1234567890abcdef0
" } } ... -
볼륨의 스냅샷을 생성하려면 create-snapshot 명령을 사용합니다. 이전 단계의 볼륨 ID를 사용합니다.
aws ec2 create-snapshot --region
us-east-1
--volume-idvol-1234567890abcdef0
--description "add text
"예상 결과
{ "Description": "add text", "Encrypted": false, "OwnerId": "123", "Progress": "", "SnapshotId": "
snap-01234567890abcdef
", "StartTime": "", "State": "pending", "VolumeId": "vol-1234567890abcdef0
", "VolumeSize": 30, "Tags": [] } -
이전 단계의 출력에서 스냅샷 ID를 확인합니다.
-
스냅샷 생성이
completed
까지 기다렸다가 다음 단계로 이동합니다. 스냅샷 상태를 쿼리하려면 describe-snapshots 명령을 사용합니다.aws ec2 describe-snapshots --region
us-east-1
--snapshot-idssnap-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", ...
-
새 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" }
-
-
새로 생성된 AMI이 이전 단계에서 지정한 부팅 모드인지 확인하려면 describe-images 명령을 사용합니다.
aws ec2 describe-images --region
us-east-1
--image-idami-new_ami_123
예상 결과
{ "Images": [ { "Architecture": "x86_64", "CreationDate": "2021-01-06T14:31:04.000Z", "ImageId": "
ami-new_ami_123
", "ImageLocation": "", ... "BootMode": "uefi" } ] } -
새로 생성된 AMI를 사용하여 새 인스턴스를 시작합니다.
AMI 부팅 모드가
uefi
또는legacy-bios
인 경우 이 AMI에서 생성된 인스턴스는 AMI와 부팅 모드가 동일합니다. AMI 부팅 모드가uefi-preferred
인 경우 인스턴스 유형이 UEFI를 지원하면 인스턴스가 UEFI를 사용하여 부팅되고, 그렇지 않으면 인스턴스가 레거시 BIOS를 사용하여 부팅됩니다. -
새 인스턴스가 예상 부팅 모드인지 확인하려면 describe-instances 명령을 사용합니다.