amazon-web-services - 使用 EC2 Image Builder 将附加 EBS 卷安装到 AMI

标签 amazon-web-services amazon-ec2 aws-cloudformation mount ec2-ami

我正在使用 EC2 Image Builder Service 来构建黄金 AMI。

用例:

我想在实例中附加额外的 EBS 卷,在那里我将完成第三方组件的所有安装并将所有内容存储在那里,而不是在我的根设备上执行所有操作。此后,我想为此构建 AMI,因此我目前正在使用 EC2 Image Builder 服务。

问题陈述:

我想将额外的 EBS 卷安装到实例(正在构建 AMI)。为了实现这一目标,我包含了mounting设备命令并将它们包含在自定义构建组件中。

name: DeployComponents
description: This is to deploycomponents.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: DeploymentStep
        action: ExecuteBash
        inputs:
          commands:
            - echo "Attaching Additional EBS Volume."
            - lsblk
            - sudo useradd -m abc -p abc
            - sudo groupadd cloud
            - sudo usermod -a -G cloud cloud
            - sudo umount -f /dev/sdb
            - sudo mkfs -t ext4 /dev/sdb
            - sudo mkdir /cloud
            - mount /dev/sdb /cloud
            - echo /dev/sdb /cloud ext4 defaults,nofail 0 2 >> /etc/fstab
            - sed -i 's+/opt/mount1+/cloud+' /etc/fstab
            - sudo chown -R cloud:cloud /cloud

还在配方中包含相同的设备,即/dev/sdb

当我查看 EC2 Image Builder 日志时,我看到了以下内容:

日志:

umount: /dev/sdb: mountpoint not found
mke2fs 1.42.9 (28-Dec-2013)
Could not stat /dev/sdb --- No such file or directory

The device apparently does not exist; did you specify it correctly?
mount: special device /dev/sdb does not exist
umount: /dev/sdb: mountpoint not found
mke2fs 1.42.9 (28-Dec-2013)
Could not stat /dev/sdb --- No such file or directory

The device apparently does not exist; did you specify it correctly?
mount: special device /dev/sdb does not exist

我错过了什么?

感谢任何帮助。

非常感谢。

最佳答案

我发现了这个问题。

这是由于 AWS 上设备的命名约定所致

我在机器上运行了lsblk命令(将用于创建AMI),输出如下

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1     259:1    0  100G  0 disk 
└─nvme0n1p1 259:2    0  100G  0 part /
nvme1n1     259:0    0  100G  0 disk 

我发现 /dev/sdb 的命名约定将是 /dev/nvme1n1

引用文献:

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html

关于amazon-web-services - 使用 EC2 Image Builder 将附加 EBS 卷安装到 AMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66171575/

相关文章:

amazon-web-services - Amazon Elastic Search - 安装 Hunspell Stemmer

php - 签署我的请求时我做错了什么? AWS SignatureV4 和 PHP

amazon-web-services - 如何将 docker 容器镜像更新从 AWS ECR 部署到 ECS?

amazon-web-services - 无法使用 Cloudformation 创建 KMS

amazon-web-services - 在 CloudFormation 中更新用户数据时强制更换 EC2 实例

dns - 将我的域名指向亚马逊实例

apache - 可以 ping ec2 服务器 (ubuntu/apache) 但没有从 http 请求得到响应

amazon-web-services - 如何使用 Terraform 传递 AssumeRole 并将 SSM 文档与 EC2 相关联

docker - 容器化和编排使用哪个工具以及原因

node.js - 无服务器框架AWS部署错误