amazon-web-services - Packer 将现有的 ebs-volume 附加到 AMI
问题描述
我正在尝试使用打包器在我的 AMI 上附加现有的亚马逊 ebs 卷和一些预加载的信息,但我还没有找到方法。
查看打包程序文档,我很确定我正在寻找的是一个 amazon-ebssurrogate 构建器。但我没有看到任何指定卷 ID 的选项。我已经看过很多关于如何创建新卷并附加它的示例。但没有任何使用现有卷执行此操作的示例。这是我目前的打包文件:
{
"variables": {
"modified_by": "{{env `USER`}}",
"aws_access_key": "{{user `aws_access_key`}}",
"aws_secret_key": "{{user `aws_secret_key`}}",
"aws_bamboo_ami": "{{user `aws_ubuntu_ami`}}"
},
"builders": [{
"type": "amazon-ebs",
"vpc_id": "vpc-12345",
"subnet_id": "subnet-12345",
"access_key": "{{user `aws_access_key`}}",
"secret_key": "{{user `aws_secret_key`}}",
"region": "us-east-1",
"availability_zone": "us-east-1b",
"source_ami": "{{user `aws_ubuntu_ami`}}",
"instance_type": "m5.xlarge",
"ssh_username": "ubuntu",
"ami_name": "{{user `modified_by`}} bamboo-server-stock-ami {{timestamp}}",
"tags": {
"Name": "Stock-Bamboo-Ubuntu-Server-Image",
"business_unit": "Commercial:Release",
"service": "opensource.atlassian.com",
"resource_owner": "{{user `modified_by`}}",
"service_tier": "app",
"environment": "dev"
}
}],
"provisioners": [
{
"type": "shell",
"scripts": [
"../scripts/ansible-ubuntu.sh"
]
},
{
"type": "ansible-local",
"playbook_dir": "../playbooks",
"playbook_file": "../playbooks/bamboo-server.yml",
"extra_arguments": "-vvvvv"
}
]
}
任何关于如何实现这一目标的反馈或指示将不胜感激。
解决方案
拍摄卷的快照并在ami_block_device_mappings或launch_block_device_mappings中引用该快照。
推荐阅读
- reactjs - React Hooks:是否有理由省略 useEffect 和 useCallback 的 create 或回调是不好的?
- python - 如何为python文件夹中新添加的文件查找时间
- rest - Http Responding 403 Forbidden just in Post Request in GET request 没问题
- python - 将 Procfile 移动到项目根目录会使 Django 应用程序崩溃
- reactjs - Material-UI Popover 打开时无法点击背景下的元素
- spring-boot - OSGi Karaf Spring Boot 2.1.4-发布错误
- linux - 如果它以超时开始,如何退出 bash 脚本?
- javascript - 错误:无法与函数通信。请求被拒绝
- java - org.springframework.integration.dsl.filter(...) 方法发生内部异常
- amazon-web-services - 无法在 codebuild 中指定 buildsec.yml 路径