写点什么

如何通过未加密的 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:45830
用户头像

发布了 1959 篇内容, 共 167.4 次阅读, 收获喜欢 82 次。

关注

评论

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

架构师训练营:第四周作业

zcj

极客大学架构师训练营

架构师训练营 第4周学习总结

Glowry

极客大学架构师训练营

消息队列(五)如何保证消息的顺序性?

奈何花开

Java MQ 消息队列

时间管理的本质到底是什么?

非著名程序员

程序员 提升认知 时间管理

计算机操作系统基础(七)---作业管理之死锁

书旅

php laravel 线程 操作系统 进程

第四周作业

芒夏

极客大学架构师训练营

Python多重继承问题之MRO和C3算法

wangkx

Python MRO C3算法 多继承

架构师训练营总结-20200627

caibird1984

极客大学架构师训练营

Golang中的Interface(接口),全面解析

Eriol

接口 interface Go 语言

极客大学算法训练营第一课

落曦

第四周总结

芒夏

极客大学架构师训练营

分布式计算DAG1-画猫

Hervor。

架构师训练营 第4周作业

Glowry

极客大学架构师训练营

一张PDF了解JDK9 GC调优秘籍-附PDF下载

程序那些事

性能调优 GC JDK9 cheatsheet 秘籍

漫画:对象是如何被找到的?句柄 OR 直接指针?

王磊

Java 面试

程序员面试与 HR 谈薪资技巧

张小方

程序员 面试 offer 年终奖 月薪

聊聊Hystrix中的命令模式

老胡爱分享

Java 面试 设计模式 命令模式

架构师训练营第四周作业

W_T

消息队列(四)如何处理消息丢失的问题?

奈何花开

Java MQ 消息队列

架构师训练营作业-20200627

caibird1984

极客大学架构师训练营

架构师是怎样炼成的 04-1互联网分布式系统架构演化

闷骚程序员

极客大学架构师训练营

戴尔Latitude 9510 雅典娜计划标准的英特尔移动超能版笔记本

最新动态

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui

jenkins wordcloud

【6月】本月读书学到了什么

Neco.W

读书感悟 阅读量

架构师训练营第三周作业

陈靓-哲露

架构师训练营第四周作业

Melo

漫画:15张图,帮你看懂布隆算法

Java小咖秀

面试 算法 布隆过滤器

架构设计之常识篇

魔曦

架构师 极客大学架构师训练营

极客时间架构师训练营 - week4 - 作业 1

jjn0703

极客大学架构师训练营

理解了 1+2 的过程,你就理解了Java虚拟机

侯树成

JVM JVM原理

前端存储除了 localStorage 还有啥

阿宝哥

Java 大前端 存储

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