Amazon EC2 AMI에 인스턴스 스토어 볼륨 추가
Amazon EC2 AMI에 인스턴스 스토어 볼륨 추가 (Add instance store volumes to an Amazon EC2 AMI)
인스턴스 스토어 볼륨을 포함하는 블록 디바이스 매핑(block device mapping)으로 AMI를 만들 수 있어요.
출처: 문서
본문
인스턴스 스토어 볼륨 블록 디바이스 매핑을 지정한 AMI로 non-NVMe 인스턴스 스토어 볼륨을 지원하는 인스턴스를 시작하면, 그 인스턴스는 인스턴스 스토어 볼륨을 포함해요. AMI의 인스턴스 스토어 볼륨 블록 디바이스 매핑 수가 인스턴스가 사용할 수 있는 인스턴스 스토어 볼륨 수를 초과하면, 초과하는 인스턴스 스토어 볼륨 블록 디바이스 매핑은 무시돼요.
인스턴스 스토어 볼륨 블록 디바이스 매핑을 지정한 AMI로 NVMe 인스턴스 스토어 볼륨을 지원하는 인스턴스를 시작하면, 인스턴스 스토어 볼륨 블록 디바이스 매핑은 무시돼요. NVMe 인스턴스 스토어 볼륨을 지원하는 인스턴스는 인스턴스 시작 요청과 AMI에 지정된 블록 디바이스 매핑에 관계없이 지원되는 모든 인스턴스 스토어 볼륨을 받아요. 이 볼륨의 디바이스 매핑은 운영체제가 볼륨을 열거하는 순서에 따라 달라져요.
- 사용 가능한 인스턴스 스토어 볼륨 수는 인스턴스 유형에 따라 달라져요. 자세한 내용은 Available instance store volumes를 참고하세요.
- 각 블록 디바이스에 대해 디바이스 이름을 지정해야 해요. 자세한 내용은 Device names for volumes on Amazon EC2 instances를 참고하세요.
- 인스턴스를 시작할 때 AMI 블록 디바이스 매핑에 지정된 non-NVMe 인스턴스 스토어 볼륨을 생략하거나 인스턴스 스토어 볼륨을 추가할 수 있어요.
- M3 인스턴스의 경우 AMI가 아닌 인스턴스의 블록 디바이스 매핑에 인스턴스 스토어 볼륨을 지정하세요. Amazon EC2가 AMI의 인스턴스 스토어 볼륨 블록 디바이스 매핑을 무시할 수 있어요.
콘솔 (Console)
Amazon EBS 기반 AMI에 인스턴스 스토어 볼륨을 추가하려면: Amazon EC2 콘솔(https://console.aws.amazon.com/ec2/)을 엽니다. 탐색 창에서 Instances를 선택하고 인스턴스를 선택해요. Actions, Image and templates, Create image를 선택해요. Create image 페이지에서 이미지의 의미 있는 이름과 설명을 입력해요. 추가할 인스턴스 스토어 볼륨 각각에 대해 Add volume을 선택하고, Volume type에서 인스턴스 스토어 볼륨을, Device에서 디바이스 이름을 선택해요. Create image를 선택해요.
AWS CLI
AMI에 인스턴스 스토어 볼륨을 추가하려면: EBS 기반 AMI의 블록 디바이스 매핑을 지정하려면 create-image 명령을 --block-device-mappings 옵션과 함께 사용해요. Amazon S3 기반 AMI의 블록 디바이스 매핑을 지정하려면 register-image 명령을 --block-device-mappings 옵션과 함께 사용해요.
--block-device-mappings file://mapping.json
다음 블록 디바이스 매핑은 인스턴스 스토어 볼륨 두 개를 추가해요.
[
{
"DeviceName": "/dev/sdc",
"VirtualName": "ephemeral0"
},
{
"DeviceName": "/dev/sdd",
"VirtualName": "ephemeral1"
}
]
PowerShell
AMI에 인스턴스 스토어 볼륨을 추가하려면: EBS 기반 AMI의 블록 디바이스 매핑을 지정하려면 New-EC2Image cmdlet을 -BlockDeviceMapping 파라미터와 함께 사용해요. Amazon S3 기반 AMI의 블록 디바이스 매핑을 지정하려면 Register-EC2Image cmdlet을 -BlockDeviceMapping 파라미터와 함께 사용해요.
-BlockDeviceMapping $bdm
다음 블록 디바이스 매핑은 인스턴스 스토어 볼륨 두 개를 추가해요.
$bdm = @()
$sdc = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdc.DeviceName = "/dev/sdc"
$sdc.VirtualName = "ephemeral0"
$bdm += $sdc
$sdd = New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping
$sdd.DeviceName = "/dev/sdd"
$sdd.VirtualName = "ephemeral1"
$bdm += $sdd