QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

如何通过未加密的 AMI 快速启动由 EBS 支持的加密 EC2 实例

  • 2019-09-26
  • 本文字数:1752 字

    阅读完需:约 6 分钟

如何通过未加密的 AMI 快速启动由 EBS 支持的加密 EC2 实例

Amazon 系统映像 (AMI) 可提供在 AWS 环境中启动实例(虚拟服务器)所需的信息。AWS Marketplace 提供了许多 AMI(例如 Amazon Linux、Red Hat 或 Ubuntu),您可以使用这些 AMI 启动 Amazon Elastic Compute Cloud (Amazon EC2) 实例。通过这些 AMI 启动实例时,所生成的卷未加密。但是,出于监管目的或内部合规性原因,您可能需要通过加密根卷启动实例。以前,您需要按照多步骤流程进行操作,在这一流程中,您需要在账户中维护 AMI 的单独加密副本,才能通过加密卷启动实例。现在,您不再需要维护多个 AMI 副本以进行加密。要通过未加密的 AMI 启动由 Amazon Elastic Block Store (Amazon EBS) 支持的加密实例,您可以直接在现有工作流程中指定加密属性(例如使用 RunInstances API 或启动实例向导)。这简化了使用加密卷启动实例的流程,并降低了相关的 AMI 存储成本。


在本文中,我们将演示如何从未加密的 AMI 开始,进而启动由 EBS 支持的加密 Amazon EC2 实例。我们将向您展示如何通过 AWS 管理控制台,以及通过带有 AWS 命令行界面 (AWS CLI) 的 RunInstances API 做到这一点。

通过 AWS 管理控制台启动实例

1.登录 AWS 管理控制台并打开 EC2 控制台。


2.选择启动实例,然后按照启动实例向导的提示操作:


a.在向导的第 1 步中,选择您要使用的 Amazon 系统映像 (AMI)。


b.在向导的第 2 步中,选择实例类型。


c.在第 3 步中,提供其他配置详细信息。有关配置实例的详细信息,请参阅启动实例。


d.在第 4 步中,指定 EBS 卷。卷的加密属性继承自您所选的 AMI。如果您使用的是未加密的 AMI,它将显示为“未加密”。 然后,您可以从下拉列表中选择一个用于加密卷的客户主密钥 (CMK)。您可以为要创建的每个卷选择相同的 CMK,也可以为每个卷使用不同的 CMK。



图 1:指定 EBS 卷


  1. 选择查看,然后选择启动。您的实例将通过加密的 Amazon EBS 卷启动,该卷使用的是您所选的 CMK。要了解有关启动向导的更多信息,请参阅使用启动实例向导启动实例。

通过 RunInstances API 启动实例

通过 RunInstances API/CLI,您可以通过在 BlockDeviceMapping (BDM) 对象中指定加密来提供 kmsKeyID,以加密那些要通过 AMI 创建的卷。如果您未在 BDM 中指定 kmsKeyID,而是将加密标志设置为“true”,那么 AWS 托管的 CMK 将用于加密卷。


例如,要通过附带 100 GB 的空数据卷 (/dev/sdb) 的 Amazon Linux AMI 启动加密的实例,API 调用如下:



$> aws ec2 run-instances --image-id ami-009d6802948d06e52 --count 1 --instance-ype m4.large --region us-east-1 --subnet-id subnet-aec2fc86 --key-name 2016KeyPair --security-group-ids sg-f7dbc78e subnet-id subnet-aec2fc86 --block-device-mappings file://mapping.json
复制代码


其中 mapping.json 包含以下内容:



[ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "KmsKeyId": "arn:aws:kms:<us-east-1:012345678910>:key/<Example_Key_ID_12345>" } },
{ "DeviceName": "/dev/sdb", "Ebs": { "DeleteOnTermination": true, "VolumeSize": 100, "VolumeType": "gp2", "Encrypted": true, "KmsKeyId": "arn:aws:kms:<us-east-1:012345678910>:key/<Example_Key_ID_12345>" } }]
复制代码


您可以为不同的卷指定不同的密钥。提供没有加密标志的 kmsKeyID 会导致 API 错误。

小结

在这篇博文中,我们演示了如何只需几步即可通过未加密的 AMI 快速启动由 EBS 支持的加密实例。您还可以使用同一流程通过未加密的快照启动由 EBS 支持的加密卷。这简化了使用加密卷启动实例的流程,并降低了 AMI 存储成本。


在所有 AWS 商业区域(中国除外),您均可通过 AWS 管理控制台、AWS CLI 或 AWS SDK 免费获得此功能。如果您对此博文有反馈,请在下面的评论部分中提交评论。如果您对此博文有疑问,请在 Amazon EC2 论坛上发表新帖子,或联系 AWS Support。


作者介绍:


Nishit Nagar


Nishit 是 AWS 高级产品经理。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/how-to-quickly-launch-encrypted-ebs-backed-ec2-instances-from-unencrypted-amis/


2019-09-26 18:45699
用户头像

发布了 1856 篇内容, 共 129.0 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

【程序员自救指南】中关村保洁大叔的一句话竟然帮我转正了

华为云开发者联盟

服务器 数字化 华为云 企业上云 云服务器

LeetCode1160---拼写单词---Easy

书旅

LeetCode

Python处理PPT文件的实用姿势

程一初

Python 自动化 办公

业务架构是什么?

周金根

BIZBOK 业务架构 IT帮 周金根

并发神器CSP的前世今生

soolaugust

并发编程 并发 Go 语言

前端科普系列(3):CommonJS 不是前端却革命了前端

vivo互联网技术

Java 大前端 脚本

LeetCode680-验证回文字符串 Ⅱ-Easy

书旅

LeetCode

MacOS 环境下 Python 访问 MySQL

李绍俊

数据库设计

Jayli

数据库

详解责任链模式

大头星

影响音视频延迟的关键因素(三): 传输、渲染

ZEGO即构

buffer API RTC sdk

从《三体》到“中美科技战”,3分钟理解“网络”D丝为什么要迎娶“算力”白富美

华为云开发者联盟

数据 网络 芯片 算力 三体

Python处理PDF的实用姿势

程一初

Python 自动化 办公

utf8字符集下的比较规则

Simon

MySQL 字符集

解读 Reference

浮白

ThreadLocal Reference ReferenceQueue Finalizer WeakHashMap

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

图雀社区

单元测试 自动化测试 Jest

前端科普系列(2):Node.js 换个角度看世界

vivo互联网技术

node.js 大前端

MySQL从入门到精通

书旅

MySQL 索引

Python1024办公自动化系列

程一初

Python 自动化 办公

如何与面试官更好的沟通

escray

学习 面试

Python处理图像文件的实用姿势

程一初

Python 自动化 办公

Python处理邮件和机器人的实用姿势

程一初

Python 自动化 办公

前端科普系列(4):Babel —— 把 ES6 送上天的通天塔

vivo互联网技术

Java 大前端 ES6

Python处理Excel文件的实用姿势

程一初

Python 自动化 办公

代理模式详解

大头星

Python处理Word文件的实用姿势

程一初

Python 自动化 办公

带你全面认识 Linux

简爱W

宿舍晚上温度高,那是你没听“鬼故事”

华为云开发者联盟

人工智能 AI 华为云 modelarts

Python处理音频文件的实用姿势

程一初

Python 自动化 办公

Python处理视频文件的实用姿势

程一初

Python 自动化 办公

当地铁站都比你更努力

escray

学习 面试

如何通过未加密的 AMI 快速启动由 EBS 支持的加密 EC2 实例_文化 & 方法_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章