- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须从 cloudformation 创建给定 EC2 实例的 AMI,然后从该 AMI 创建 ec2。这个怎么做?我的主要问题是第一部分
最佳答案
以下代码是一个函数,可以作为 CustomResource 调用以创建 AMI。
我已经很长时间没有使用它了,但它应该仍然可以工作。
您的 CustomResource 将需要传入 Region
和 Instance
(以及 Tags
,如果您需要的话)。
为了从中创建新的 EC2 实例,您需要使用 ImageId
的返回值并将其作为 AMI 输入到 AWS::EC2::Instance。
var Aws = require("aws-sdk");
var Response = require('cfn-response');
exports.handler = function (e, c) {
console.log("REQUEST RECEIVED:\n" + JSON.stringify(e));
// For Delete requests, immediately send a SUCCESS response.
if (e.RequestType === "Delete") {
Response.send(e, c, Response.SUCCESS);
return;
}
console.log("Region=" + e.ResourceProperties.Region);
console.log("Instance=" + e.ResourceProperties.Instance);
var ec2 = new Aws.EC2({ region: e.ResourceProperties.Region });
console.log("ec2=" + ec2);
console.log("Tags=" + e.ResourceProperties.Tags);
var params = {
InstanceId: e.ResourceProperties.Instance,
Name: e.ResourceProperties.AmiName
};
console.log("params=" + params);
console.log("params.InstanceIds=" + params.InstanceIds);
var responseStatus = "FAILED";
ec2.createImage(params, function (err, data) {
if (err) {
console.log("createImage.err:" + err.toString(), err.stack.toString());
Response.send(e, c, Response.FAILED);
} // an error occurred
else {
console.log("createImage" + data);
responseStatus = "SUCCESS";
var responseData = {};
responseData["ImageId"] = data.ImageId;
var tagParams = {
Resources: [data.ImageId],
Tags: e.ResourceProperties.Tags
}
ec2.createTags(tagParams, function (err, data) {
if (err) {
data = { Error: "DescribeImages call failed" };
console.log(data.Error + ":\n", err);
Response.send(e, c, Response.FAILED);
} else {
console.log(data);
Response.send(e, c, Response.SUCCESS, responseData);
}
});
}
});
};
关于amazon-web-services - 从云形成中创建给定 EC2 的 AMI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71406744/
我想对现有堆栈(更新)和新堆栈(创建)使用相同的 CloudFormation 模板。我正在使用公共(public) SSM 参数存储来获取最新的 AMI: Parameters: LatestA
Ubuntu 将他们的云镜像认证为 ami-f95ef58a,并且它在区域 eu-west-1 中作为社区 AMI 提供。请参阅 Ubuntu 文档 here 另一方面,Centos 在 AWS Ma
我正在使用两个实例,一个是 ubuntu,另一个是具有相同配置的 Windows。对于浏览器上的每个操作,Ubuntu 实例比 Windows 实例花费更多的时间。这有什么原因吗? 最佳答案 性能和网
运行 vagrant 命令时出现如下错误, # vagrant up --provider=aws 这台机器的配置有错误。请修复以下错误并重试: AWS 提供商:* AMI 必须通过“ami”配置(
是否有一种从 Amazon Linux AMI 升级到 Amazon Linux 2 AMI 的简单方法,或者我是否必须创建一个新实例并再次进行所有服务器设置? 感谢您的反馈意见, 最佳答案 没有简单
我正在使用 Ansible 构建一个 EC2 实例,然后从该实例创建一个 AMI。我确定我在这里遗漏了一些东西,但是如何获得新创建的 AMI 的 DI?我试过了: tasks: - name: cre
我想使用yaml文件编写一个cloudformation。我知道公共(public) AMI 的格式。但我对如何在 yaml 文件中添加私有(private) AMI 感到困惑。我在网上搜索了解决方案
我正在使用 AMI Medical Imaging (AMI) JS ToolKit。有没有办法将窗口移动到鼠标事件,例如右键单击并移动? 我知道可以使用示例中的菜单更改窗口/级别,但我想更改 Con
我正在尝试以编程方式启动带有 EBS 的 Ubuntu 12.04 LTS 服务器 64 位。我写了以下代码: Placement placement = new Placement("eu-west
我创建了 AMI Oracle Database 11.2.0.1 64 位标准版的新实例;甲骨文提供的 ami-3f739c56。我试图通过 SSH 从我的 Windows 10 PC(也从我的 M
我正在使用基于 Windows 2019 Base AMI (ami-0fa60543f60171fe3) 构建的自定义 AMI 来创建 Windows 服务器。但我发现用户数据不起作用。这是我正在使
我正在尝试从 AWS 账户中清除我的快照和 AMI,要删除我知道需要取消注册 AMI 的快照。但是当我尝试通过控制台取消注册时,出现以下错误。 “尝试取消注册 amis 时发生错误” 有人对这个问题有
我已经升级到 Tensorflow 版本 1.0 并安装了 CUDA 8.0 和 cudnn 5.1 版本以及最新的 nvidia 驱动程序 375.39。我的 NVIDIA 硬件是在 Amazon
我想使用 AMI 在 Asterisk 中接听电话。我可以发起调用,但完全不知道,如何接听电话... 调用脚本: #login sock = socket.socket(af, socktype, p
我的 LAN 上正在运行 Asterisk 服务器,现在我想使用 Javascript 通过 AMI(Asterisk 管理器接口(interface))执行与正在运行的应用程序的套接字连接。 任何人
我有几个基于 ubuntu 的 ec2 实例在生产模式下运行。我的问题是,每当流量增加时,我都会手动启动实例,从 github 更新代码。 现在我必须配置自动缩放,这样每当 API 启动新实例时,它就
我正在 Amazon EC2 上开发 Ubuntu AMI。 在一个正在运行的实例上,我将 ubuntu 用户的密码更改为(比如说)“foobar”。 (我知道 EC2 通常不需要用户密码,因为 ss
我一直在尝试在 EC2 上登录我新创建的 Ubuntu oneiric AMI,但总是失败,说连接超时。我已经使用 AWS 管理控制台以及命令行工具进行了尝试。我已经在 Google 和 Server
我正在使用的 Windows AMI(EBS 支持)的启动时间存在巨大差异。有些只需 3 分钟即可启动。其他人可能需要 20 多分钟。我的理解是,默认的 Windows AMI 可能会很慢,因为它们需
我是Asterisk的新手。我的要求是,当我接到调用时,我需要识别调用者ID,并在接听电话时弹出该ID。我对AMI和AGI有一些了解。我想知道如何使用php脚本执行此操作。 任何示例或我可以用来执行此
我是一名优秀的程序员,十分优秀!