实验概览
在本实验中,您将使用 AWS KMS 托管密钥启用客户端静态加密,以便对通过 EMR 文件系统 (EMRFS) 存储在 Amazon S3 中的数据进行客户端静态加密。使用 Amazon EMR,您可以创建一个安全配置,以使用您指定的 AWS KMS 托管密钥对通过客户端加密写入 S3 的对象进行加密,并使用与加密相同的密钥来解密对象。这将使您能够更轻松地利用 Apache Spark、Apache Tez 和 Apache Hadoop MapReduce on Amazon EMR 运行大数据分析、流处理、机器学习和机密数据的 ETL 工作负载。
涵盖的主题
该实验练习将演示以下操作:
- 创建 Amazon S3 存储桶
- 使用 AWS KMS 创建密钥
- 在 EMR 中创建安全配置以使用 AWS KMS 托管密钥启用客户端加密
- 使用 AWS 管理控制台启动 AWS Elastic Map Reduce (EMR) 集群
- 使用 Amazon EMR 文件系统 (EMRFS) 从/向 S3 读取和写入对象
- 直接从 Amazon S3 查看 EMR 输出数据
技术知识先决条件
要成功完成本实验,您应该熟悉 Hadoop 和 Hadoop 文件系统 (HDFS) 的基础知识。
您还应熟悉基本的 Linux 服务器管理并能熟练使用 Linux 命令行工具。
其他 AWS 服务
在您访问本实验期间,IAM 策略将禁用本实验不需要的其他 AWS 服务。此外,本实验中只会使用所需的服务功能,并且在某些情况下,甚至会根据实验设计特意进一步限制这些功能。您在访问其他服务或执行本实验指南中未提供的操作时,预计会出现错误。
什么是 Amazon EMR?
Amazon EMR 是一种 Web 服务,让您能够轻松、快速并经济高效地处理大量的数据。Amazon EMR 可简化大数据处理,利用它提供的托管型 Hadoop 框架,您可以快速、轻松且经济高效地跨可动态扩展的 Amazon EC2 实例分配和处理大量数据。您还可以运行其他常用的分发框架(例如 Amazon EMR 中的 Spark 和 Presto),并与其他 AWS 数据存储服务(例如 Amazon S3 和 Amazon DynamoDB)中的数据进行互动。Amazon EMR 能够安全、可靠地处理大数据使用案例,包括日志分析、Web 索引、数据仓库、机器学习、财务分析、科学模拟和生物信息。
什么是 EMRFS?
EMRFS 是 HDFS 的一种实现方式,用于将常规文件从 Amazon EMR 直接读取和写入到 Amazon S3。通过 EMRFS 可以方便地将持久性数据存储在 Amazon S3 中以便用于 Hadoop,同时它还提供诸如 Amazon S3 服务器端加密、先写后读一致性和列表一致性等功能。
什么是 AWS KMS?
AWS Key Management Service (KMS) 是一项托管服务,让您可以轻松创建和控制用于加密数据的加密密钥,以及使用硬件安全模块 (HSM) 保护密钥的安全。AWS Key Management Service 可与许多其他 AWS 服务集成,以帮助您保护用这些服务存储的数据。AWS Key Management Service 还能与 AWS CloudTrail 集成,从而为您提供所有密钥的使用记录,帮助您满足监管和合规性要求。
什么是 Amazon S3?
Amazon Simple Storage Service (Amazon S3) 可以为开发人员和 IT 团队提供安全、持久且扩展性高的云存储。Amazon S3 是易于使用的对象存储,具有简单的 Web 服务接口,能在 Web 上的任何位置存储和检索任意数量的数据。使用 Amazon S3,您仅需为实际使用的存储容量付费。在 AWS 云中,Amazon S3 是数据湖实施的理想选择,可用于存储大型数据,进而使用 Amazon EMR 进行大数据分析。
Amazon EMR 中的安全配置是什么?
您可以使用安全配置加密静态数据和/或传输中的数据。每个安全配置都存储在 Amazon EMR 中而不是集群配置对象中,因此无论何时创建集群,您都可以轻松地重复使用某个配置来指定加密设置。