为什么 EC2 AWS 实例显示额外的块设备?

为什么 EC2 AWS 实例显示额外的块设备?

我正在使用 aws cli 的自动扩展功能来创建 EC2 实例。尽管我的启动配置中只有两个设备映射,但生成的实例却有一个附加设备。相关映射 Json:

  "BlockDeviceMappings": [
    {
      "DeviceName": "/dev/sda1",
      "Ebs": {
        "VolumeSize": 32,
        "VolumeType": "gp2",
        "DeleteOnTermination": true
      }
    },
    {
      "DeviceName": "/dev/sdb",
      "Ebs": {
        "VolumeSize": 64,
        "VolumeType": "gp2",
        "DeleteOnTermination": true
      }
    }
  ]

出乎意料的是,实例有三个:

$ sudo lsblk | grep disk
xvda    202:0    0    32G  0 disk
xvdb    202:16   0    64G  0 disk
xvdc    202:32   0  37.5G  0 disk

答案1

经过调查,EC2 元数据显示了一个额外的临时映射:

$ curl -s http://169.254.169.254/latest/meta-data/block-device-mapping/
ami
ebs1
ephemeral1

通过阅读实例块设备映射结果是:

默认情况下,您启动的实例包含启动实例的 AMI 的块储存设备映射中指定的任何存储设备。您可以在启动实例时指定对块储存设备映射的更改,这些更新将覆盖或与 AMI 的块储存设备映射合并。

查看AMI 的映射是什么,并用无设备配置中的参数修复了后续实例的问题。

相关内容