為 Step Functions 建立 Amazon VPC 端點 - AWS Step Functions

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 Step Functions 建立 Amazon VPC 端點

如果您使用 Amazon Virtual Private Cloud (AmazonVPC) 託管資 AWS 源,則可以在 Amazon VPC 和 AWS Step Functions 工作流程之間建立連接。您可以將此連線與 Step Functions 工作流程搭配使用,而無需跨越公用網際網路。標準工作流程、快速工作流程和同步快速工作流程都支援 Amazon VPC 端點。

Amazon VPC 可讓您在自訂虛擬網路中啟動 AWS 資源。您可以使VPC用控制網路設定,例如 IP 位址範圍、子網路、路由表和網路閘道。如需有關的詳細資訊VPCs,請參閱 Amazon VPC 使用者指南

要將 Amazon 連接VPC到 Step Functions,您必須首先定義一個界面VPC端點,該端點可讓您連接VPC到其他 AWS 服務。端點提供可靠、可擴充的連線能力,無需網際網路閘道、網路位址轉譯 (NAT) 執行個體或VPN連線。如需詳細資訊,請參閱 Amazon VPC 使用者指南中的介面VPC端點 (AWS PrivateLink)

建立端點

您可以VPC使用 AWS Command Line Interface (AWS CLI) AWS Management Console、a、或在中建 AWS SDK立 AWS Step Functions 端點 AWS CloudFormation。 AWS Step Functions API

有關使用 Amazon VPC 主控台或建立和設定端點的詳細資訊 AWS CLI,請參閱 Amazon 使用VPC者指南中的建立界面端點

注意

建立端點時,請將 Step Functions 指定為您要連線VPC到的服務。在 Amazon 主VPC控台中,服務名稱會根據 AWS 區域而有所不同。例如,如果您選擇美國東部 (維吉尼亞北部),則「標準工作流程」和「快速工作流程」的服務名稱為 com.amazonaws.us-東部 1.state,同步快速工作流程的服務名稱為 com.amazonaws.us-東 1.sync 狀態

注意

可以在不SDK通過私DNS有覆蓋VPC端點的情況下使用端點。但是,如果您想要覆寫同步 Express 工作流程中SDK的端點,則需要將DisableHostPrefixInjection組態設定為true。示例(SDKV2):

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();

如需使用建立和設定端點的相關資訊 AWS CloudFormation,請參閱使AWS CloudFormation 用指南中的AWSEC2::: VPCEndpoint 資源。

Amazon VPC 端點政策

若要控制對 Step Functions 的連線存取,您可以在建立 Amazon 端點時附加 AWS Identity and Access Management (IAM) VPC 端點政策。您可以透過附加多個端點策略來建立複雜的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": "*" } ] }

如需建立端點政策的詳細資訊,請參閱以下內容: