创建在 Amazon EC2 上托管的笔记本服务器 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

创建在 Amazon EC2 上托管的笔记本服务器

您可以在本地计算机上安装 Apache Zeppelin 笔记本,并使用它在开发终端节点上调试和测试 ETL 脚本。或者,您可以在 Amazon EC2 实例上托管 Zeppelin 笔记本服务器。有关更多信息,请参阅创建与开发终端节点相关联的笔记本服务器

在 AWS Glue Create notebook server (创建笔记本服务器) 窗口中,添加创建笔记本服务器以使用 Apache Zeppelin 笔记本所需的属性。

注意

对于您创建的任何与开发终端节点关联的笔记本服务器,都可以对其进行管理。因此,如果您删除开发终端节点以删除笔记本服务器,您必须在 AWS CloudFormation 控制台上删除 AWS CloudFormation 堆栈。

重要

您必须在执行以下操作的 Amazon EC2 实例上运行脚本,然后才能使用在 Amazon EC2 上托管的笔记本服务器:

  • 设置 Zeppelin 笔记本密码。

  • 设置笔记本服务器和开发终端节点之间的通信。

  • 验证或生成安全套接字层 (SSL) 证书以访问 Zeppelin 笔记本。

有关更多信息,请参阅 创建与开发终端节点相关联的笔记本服务器

您需要提供以下属性:

CloudFormation 堆栈名称

您在开发终端节点上的 AWS CloudFormation 堆栈中创建的笔记本的名称。名称带有前缀 aws-glue-。此笔记本在 Amazon EC2 实例上运行。Zeppelin HTTP 服务器在可使用 SSH 隧道命令访问的公有端口 443 或 localhost 端口 8080 上启动。

IAM 角色

与 Amazon EC2 实例配置文件完全匹配的、与 Amazon EC2 具有信任关系的角色。在 IAM 控制台中创建角色。选择 Amazon EC2,然后为笔记本附加策略,例如 AWSGlueServiceNotebookRoleDefault。有关更多信息,请参阅步骤 5:创建用于笔记本服务器的 IAM 角色

有关实例配置文件的更多信息,请使用实例配置文件

EC2 密钥对

用于访问托管笔记本服务器的 Amazon EC2 实例的 Amazon EC2 密钥。您可以在 Amazon EC2 控制台 (https://console.amazonaws.cn/ec2/) 上创建密钥对。保存密钥文件以供日后使用。 有关更多信息,请参阅 Amazon EC2 密钥对

将公有 IP 地址附加到笔记本服务器 EC2 实例

选择此选项来附加可用于从 Internet 访问笔记本服务器的公有 IP。您选择公有还是私有子网是决定选择此选项时的一个因素。在公有子网中,笔记本服务器需要公有 IP 来访问 Internet。如果您的笔记本服务器在私有子网中,并且您不需要公有 IP,请不要选择此选项。但是,您的笔记本服务器仍需要通过 NAT 网关等路由到 Internet。

笔记本用户名

用于访问 Zeppelin 笔记本的用户名。默认为 admin

笔记本 S3 路径

笔记本状态的存储位置。指向 Zeppelin 笔记本的 Amazon S3 路径必须遵循以下格式:s3://bucket-name/username。路径中不能包含子文件夹。默认为 s3://aws-glue-notebooks-account-id-region/notebook-username

子网

您可与笔记本服务器一起使用的可用子网。星号 (*) 表示该子网可从 Internet 访问。子网必须具有通过 Internet 网关 (IGW)、NAT 网关或 VPN 连接 Internet 的路由。有关更多信息,请参阅 针对开发终端节点设置您的环境

安全组

您可与笔记本服务器一起使用的可用安全组。安全组必须具有 HTTPS (端口 443) 和 SSH (端口 22) 的入站规则。确保规则的来源是 0.0.0.0/0 或连接到笔记本的机器的 IP 地址。

S3 AWS KMS 密钥

用于对 Amazon S3 上的 Zeppelin 笔记本存储进行客户端 KMS 加密的密钥。 此字段为可选项。通过选择 AWS KMS 密钥启用对 Amazon S3 的访问,或者选择 Enter a key ARN (输入密钥 ARN) 并提供密钥的 Amazon 资源名称 (ARN)。以 arn:aws:kms:region:account-id:key/key-id 格式键入 ARN。您也可以提供密钥别名形式的 ARN,例如 arn:aws:kms:region:account-id:alias/alias-name

自定义 AMI ID

加密的 Amazon Elastic Block Storage (EBS) EC2 实例的自定义 Amazon 系统映像 (AMI) ID。此字段为可选项。通过选择 AMI ID 提供 AMI ID,或者选择 Enter AMI ID (输入 AMI ID) 并键入自定义 AMI ID。有关如何加密笔记本服务器存储的更多信息,请参阅加密和 AMI 副本

笔记本服务器标签

AWS CloudFormation 堆栈始终是用密钥 aws-glue-dev-endpoint 以及开发终端节点的名称的值标记的。您可以向 AWS CloudFormation 堆栈添加多个标签。

EC2 实例

为托管笔记本而创建的 Amazon EC2 实例的名称。它链接到 Amazon EC2 控制台 (https://console.amazonaws.cn/ec2/),在其中实例是用密钥 aws-glue-dev-endpoint 以及开发终端节点的名称的值标记的。

CloudFormation 堆栈

用于创建笔记本服务器的 AWS CloudFormation 堆栈的名称。

SSH 到 EC2 服务器命令

在终端窗口中键入此命令,以连接到正运行笔记本服务器的 Amazon EC2 实例。此命令中显示的 Amazon EC2 地址可能是公有地址,也可能是私有地址,具体取决于您是否已选择将公有 IP 地址附加到笔记本服务器 EC2 实例

复制证书

示例 scp 命令用于将设置 Zeppelin 笔记本服务器所需的密钥存储复制到托管笔记本服务器的 Amazon EC2 实例。从终端窗口在 Amazon EC2 私有密钥所在的目录中运行命令。访问 Amazon EC2 实例的密钥是 -i 选项的参数。您需要提供 path-to-keystore-file。Amazon EC2 服务器上的开发终端节点私有 SSH 密钥所在的位置是命令的剩余部分。

HTTPS URL

完成笔记本服务器的设置后,在浏览器中键入此 URL 以使用 HTTPS 连接到您的笔记本。