为 Step Functions 创建 Amazon VPC 端点 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Step Functions 创建 Amazon VPC 端点

如果您使用 Amazon Virtual Private Cloud (Amazon VPC) 托管资源,则可以在您的 Amazon VPC 和 Amazon Step Functions 工作流之间建立连接。您可以将此连接用于您的 Step Functions 工作流,而无需穿越公共 Internet。标准工作流、快速工作流和同步快速工作流都支持 Amazon VPC 端点。

Amazon VPC 允许您在自定义虚拟网络中启动 Amazon 资源。可以使用 VPC 控制您的网络设置,例如 IP 地址范围、子网、路由表和网络网关。有关 VPC 的更多信息,请参阅《Amazon VPC 用户指南》

要将 Amazon VPC 连接到 Step Functions,您必须先定义一个接口 VPC 端点,该端点可让您将 VPC 连接到其他 Amazon 服务。该端点提供了可靠且可扩展的连接,无需互联网网关、网络地址转换 (NAT) 实例或 VPN 连接。有关更多信息,请参阅 Amazon VPC 用户指南中的接口 VPC 端点 (Amazon PrivateLink)

创建端点

您可以使用 Amazon Web Services Management Console、Amazon Command Line Interface (Amazon CLI)、Amazon 开发工具包、Amazon Step Functions API 或 Amazon CloudFormation 在 VPC 中创建 Amazon Step Functions 端点。

有关使用 Amazon VPC 控制台或 Amazon CLI 创建和配置端点的信息,请参阅 Amazon VPC 用户指南中的创建接口端点

注意

在创建端点时,请将 Step Functions 指定为您希望 VPC 连接到的服务。在 Amazon VPC 控制台中,服务名称因 Amazon 区域而异。例如,如果您选择美国东部(弗吉尼亚州北部),则标准工作流和快速工作流的服务名称为 com.amazonaws.us-east-1.state,同步快速工作流的服务名称为 com.amazonaws.us-east-1.sync-states

注意

无需通过私有 DNS 覆盖开发工具包中的端点即可使用 VPC 端点。但是,如果要覆盖同步快速工作流的开发工具包中的端点,则需要将 DisableHostPrefixInjection 配置设置为 true。示例(Java 开发工具包 V2):

SfnClient.builder() .endpointOverride(URI.create("https://vpce-{vpceId}.sync-states.us-east-1.vpce.amazonaws.com")) .overrideConfiguration(ClientOverrideConfiguration.builder() .advancedOptions(ImmutableMap.of(SdkAdvancedClientOption.DISABLE_HOST_PREFIX_INJECTION, true)) .build()) .build();

有关使用 Amazon CloudFormation 创建和配置端点的信息,请参阅《Amazon CloudFormation 用户指南》中的 AWS::EC2::VPCEndpoint 资源。

Amazon VPC 端点策略

要控制对 Step Functions 的连接访问,您可以在创建 Amazon VPC 端点时附加 Amazon Identity and Access Management (IAM) 端点策略。您可以通过附加多个端点策略来创建复杂的 IAM 规则。有关更多信息,请参阅:

Step Functions 的 Amazon Virtual Private Cloud 端点策略

您可以为 Step Functions 创建 Amazon VPC 端点策略,并在其中指定以下内容:

  • 可执行操作的主体。

  • 可执行的操作。

  • 可对其执行操作的资源。

以下示例显示了一个 Amazon VPC 端点策略,该策略允许一个用户创建状态机,并拒绝所有其他用户删除状态机的权限。示例策略还授予所有 用户执行权限。

{ "Version": "2012-10-17", "Statement": [ { "Action": "*Execution", "Resource": "*", "Effect": "Allow", "Principal": "*" }, { "Action": "states:CreateStateMachine", "Resource": "*", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/MyUser" } }, { "Action": "states:DeleteStateMachine", "Resource": "*", "Effect": "Deny", "Principal": "*" } ] }

有关创建端点策略的更多信息,请参阅以下内容: