本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Elastic Beanstalk 与 VPC 终端节点结合使用
本主题介绍 VPC 端点可以为您的 Elastic Beanstalk 应用程序提供的优势。它还提供了创建到 Elastic Beanstalk 服务的接口 VPC 端点的说明。
VPC 终端节点使您能够私下将您的 VPC 连接到支持的 AWS 服务和 VPC 终端节点服务 AWS PrivateLink,而无需互联网网关、NAT 设备、VPN Direct Connect 连接或连接。
VPC 中的实例无需公有 IP 地址便可与服务中的资源进行通信。VPC 和其他服务之间的流量不会脱离 Amazon 网络。有关 VPC 端点的完整信息,请参阅《Amazon VPC 用户指南》中的 VPC Endpoints。
AWS Elastic Beanstalk 支持 AWS PrivateLink,它为Elastic Beanstalk服务提供私有连接,并消除了公共互联网的流量暴露。要使您的应用程序能够使用向 Elastic Beanstalk 发送请求 AWS PrivateLink,您需要配置一种称为接口 VPC 终端节点(接口终端节点)的 VPC 终端节点。有关更多信息,请参阅 Amazon VPC 用户指南中的接口 VPC 端点 (AWS PrivateLink)。
注意
Elastic Beanstalk 支持 AWS PrivateLink 和连接有限数量的 VPC 终端节点。 AWS 区域我们正在努力 AWS 区域 在不久的将来向更多人提供支持。
双堆栈配置支持 IPv6
Elastic Beanstalk 支持通过 IPv4 和 IPv6 传入流量。本节介绍同时支持 IPv4 和 IPv6 的公共端点,还说明了如何配置您的 Elastic Beanstalk VPC 端点以支持双堆栈流量。
公有端点
Elastic Beanstalk 服务有两组端点,包括较旧的 IPv4 端点和具有双栈功能的最新端点。这两组端点都遵循 AWS 命名标准:
-
IPv4 端点使用域
amazonaws.com– 通用服务端点的格式:elasticbeanstalk.region.amazonaws.com -
Dual-stack端点使用通用服务端点的域
api.aws— 格式:elasticbeanstalk.region.api.aws
服务运行状况和 FIPS 的端点具有不同的主机名,但它们遵循相同的域名模式。有关端点的列表,请参阅《Amazon Web Services 一般参考》中的 Elastic Beanstalk service endpoints。
向 Elastic Beanstalk 发出的请求
使用 AWS CLI 或 AWS SDK
以下示例演示了向双栈终端节点 AWS CLI 发送请求的过程:
例
aws elasticbeanstalk list-available-solution-stacks \ --endpoint-url ""https://elasticbeanstalk.us-east-1.api.aws
以下示例演示了 AWS Python SDK 向双栈终端节点发送请求:
例
import boto3 dual_stack_eb_client = boto3.client( service_name='elasticbeanstalk', region_name=', endpoint_url='us-east-1''; ) print(dual_stack_eb_client.list_available_solution_stacks())https://elasticbeanstalk.us-east-1.api.aws
双堆栈 IP 的 VPC 端点
要将您的 Elastic Beanstalk VPC 端点配置为支持双堆栈流量,请为 VPC 端点的 IP 地址类型参数指定双堆栈。您可以通过AWS CLI、AWS SDK
注意
您必须将 VPC 端点的 IP 地址类型指定为 IPv4 或双堆栈。目前,Elastic Beanstalk VPC 终端节点不支持 IP 地址类型的 IPv6,这表示支持。 IPv6-only 双堆栈选项支持 IPv4 和 IPv6 互联网协议。
以下示例演示了如何使用 AWS CLI创建双堆栈 VPC 端点:
例
aws ec2 create-vpc-endpoint \ --vpc-id "" --service-name "vpc-example" --ip-address-type "com.amazonaws.us-east-1.elasticbeanstalkdualstack"
为 Elastic Beanstalk 设置 VPC 终端节点
要在 VPC 中为 Elastic Beanstalk 服务创建接口 VPC 终端节点,请遵循创建接口终端节点过程。
-
对于服务名称,选择 com.amazonaws。
region.elasticbeanstalk。 -
对于 IP 地址类型,选择 IPv4 或双堆栈。目前,Elastic Beanstalk VPC 终端节点不支持 IP 地址类型的 IPv6,这表示支持。 IPv6-only 双堆栈选项支持 IPv4 和 IPv6 Internet 协议。
如果已为 VPC 配置公有 Internet 访问权限,则您的应用程序仍可使用 elasticbeanstalk. 或 region.amazonaws.com.rproxy.goskope.comelasticbeanstalk. 公有端点通过 Internet 访问 Elastic Beanstalk。可以通过确保在终端节点创建期间启用 Enable DNS name (启用 DNS 名称) 来防止这种情况(默认情况下为 true)。这会在您的 VPC 中添加一个 DNS 条目,该条目将公有服务终端节点映射到接口 VPC 终端节点。region.api.aws
为增强型运行状况设置 VPC 终端节点
如果您为环境启用了增强型运行状况报告,则也可以将增强型运行状况信息配置为发送 AWS PrivateLink 过来。增强型运行状况信息由 healthd 守护程序(环境实例上的 Elastic Beanstalk 组件)发送到单独的 Elastic Beanstalk 增强型运行状况服务。要在 VPC 中为此服务创建接口 VPC 终端节点,请遵循创建接口终端节点过程。
-
对于服务名称,选择 com.amazonaws。
region.elasticBeanstalk -health。 -
对于 IP 地址类型,选择 IPv4 或双堆栈。目前,Elastic Beanstalk VPC 终端节点不支持 IP 地址类型的 IPv6,这表示支持。 IPv6-only 双堆栈选项支持 IPv4 和 IPv6 Internet 协议。
重要
healthd 进程守护程序将增强型运行状况信息发送到公有端点 elasticbeanstalk-health. 或 region.amazonaws.com.rproxy.goskope.comelasticbeanstalk-health.。如果已为 VPC 配置公有 Internet 访问权限,并且为 VPC 终端节点禁用了 Enable DNS name (启用 DNS 名称),则增强型运行状况信息将通过公有 Internet 传播。在设置增强型运行状况 VPC 终端节点时,这可能不是您的意图。请确保启用 Enable DNS name (启用 DNS 名称)(默认情况下为 true)。region.api.aws
在私有 VPC 中使用 VPC 终端节点
私有 VPC 或 VPC 中的私有子网没有公有 Internet 访问权限。您可能希望在私有 VPC 中运行 Elastic Beanstalk 环境并配置接口 VPC 终端节点以增强安全性。在此情况下,请注意,除了联系 Elastic Beanstalk 服务之外,您的环境可能会出于其他原因尝试连接到 Internet。要了解有关在私有 VPC 中运行环境的更多信息,请参阅在私有 VPC 中运行 Elastic Beanstalk 环境。