创建在 Amazon EC2 上托管的笔记本服务器
您可以在本地计算机上安装 Apache Zeppelin 笔记本,并使用它在开发终端节点上调试和测试 ETL 脚本。或者,您也可以在 Amazon EC2 实例上托管 Zeppelin 笔记本服务器。有关更多信息,请参阅创建与开发终端节点相关联的笔记本服务器。
在 Amazon Glue Create notebook server (创建笔记本服务器) 窗口中,添加创建笔记本服务器以使用 Apache Zeppelin 笔记本所需的属性。
对于您创建的任何与开发终端节点关联的 notebook 服务器,都可以对其进行管理。因此,如果您删除开发终端节点以删除笔记本服务器,您必须在 Amazon CloudFormation 控制台上删除 Amazon CloudFormation 堆栈。
您必须在执行以下操作的 Amazon EC2 实例上运行脚本,然后才能使用在 Amazon EC2 上托管的笔记本服务器:
-
设置 Zeppelin 笔记本密码。
-
设置笔记本服务器和开发终端节点之间的通信。
-
验证或生成安全套接字层 (SSL) 证书以访问 Zeppelin 笔记本。
有关更多信息,请参阅创建与开发终端节点相关联的笔记本服务器。
您需要提供以下属性:
- CloudFormation 堆栈名称
-
您在开发终端节点上的 Amazon 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.aws.amazon.com/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 的路由。有关更多信息,请参阅为 Amazon Glue 设置开发网络。
- 安全组
-
您可与笔记本服务器一起使用的可用安全组。安全组必须具有 HTTPS (端口 443) 和 SSH (端口 22) 的入站规则。确保规则的来源是 0.0.0.0/0 或连接到笔记本的机器的 IP 地址。
- S3 Amazon KMS 密钥
-
用于对 Amazon S3 上的 Zeppelin 笔记本存储进行客户端 Amazon KMS 加密的密钥。此字段为可选项。通过选择 Amazon KMS 密钥,或者选择 Enter a key ARN (输入密钥 ARN) 并提供密钥的 Amazon Resource Name(ARN),来启用对 Amazon S3 的访问。以
arn:aws:kms:格式键入 ARN。您也可以提供密钥别名形式的 ARN,例如region:account-id:key/key-idarn:aws:kms:。region:account-id:alias/alias-name - 自定义 AMI ID
-
加密的 Amazon Elastic Block Store(Amazon EBS)Amazon EC2 实例的自定义 Amazon Machine Image(AMI)ID。此字段为可选项。通过选择 AMI ID 提供 AMI ID,或者选择 Enter AMI ID (输入 AMI ID) 并键入自定义 AMI ID。有关如何加密笔记本服务器存储的更多信息,请参阅加密和 AMI 副本。
- 笔记本服务器标签
-
Amazon CloudFormation 堆栈始终是用密钥 aws-glue-dev-endpoint 以及开发终端节点的名称的值标记的。您可以向 Amazon CloudFormation 堆栈添加多个标签。
- EC2 实例
-
为托管笔记本而创建的 Amazon EC2 实例的名称。它链接到 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
),在其中实例是使用密钥 aws-glue-dev-endpoint 以及开发终端节点的名称的值标记的。 - CloudFormation 堆栈
-
用于创建笔记本服务器的 Amazon 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 连接到您的笔记本。