

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

# 為 Step Functions 建立 Amazon VPC 端點
<a name="vpc-endpoints"></a>

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

Amazon VPC 可讓您在自訂虛擬網路中啟動 AWS 資源。您可利用 VPC 來控制您的網路設定，例如 IP 地址範圍、子網路、路由表和網路閘道。如需有關 Amazon VPC 的詳細資訊，請參閱《[Amazon VPC 使用者指南](https://docs.aws.amazon.com/vpc/latest/userguide/)》。

若要將 Amazon VPC 連線至 Step Functions，您必須先定義*介面 VPC 端點*，這可讓您將 VPC 連線至其他 AWS 服務。端點可提供可靠、可擴展的連線能力，且不需要網際網路閘道、網路地址轉譯 (NAT) 執行個體或 VPN 連接。如需詳細資訊，請參閱*《Amazon VPC 使用者指南》*中的[界面 VPC 端點 (AWS PrivateLink)](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)。

## 建立端點
<a name="vpc-endpoint-create"></a>

您可以使用 AWS 管理主控台、 (AWS CLI)、 AWS SDK、 AWS Step Functions API 或 在 AWS Command Line Interface VPC 中建立 AWS Step Functions 端點 CloudFormation。

如需使用 Amazon VPC 主控台或 AWS CLI，請參閱 *Amazon VPC 使用者指南*中的[建立界面端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。

**注意**  
 當您建立端點時，請將 Step Functions 指定為您希望 VPC 連線的服務。在 Amazon VPC 主控台中，服務名稱會根據 AWS 區域而有所不同。例如，如果您選擇美國東部 （維吉尼亞北部），標準工作流程和快速工作流程的服務名稱為 **com.amazonaws.us-east-1.states**，同步快速工作流程的服務名稱為 **com.amazonaws.us-east-1.sync-states。**

**注意**  
您可以使用 VPC 端點，而無需透過[私有 DNS](https://docs.aws.amazon.com/vpc/latest/privatelink/verify-domains.html) 覆寫 SDK 中的端點。不過，如果您想要覆寫適用於同步快速工作流程的 SDK 中的端點，您需要將`DisableHostPrefixInjection`組態設定為 `true`。範例 (Java SDK 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();
```

如需有關使用 建立和設定端點的資訊 CloudFormation，請參閱*CloudFormation 《 使用者指南*》中的 [AWS::EC2::VPCEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpoint.html) 資源。

## Amazon VPC 端點政策
<a name="vpc-endpoint-policy"></a>

若要控制 Step Functions 的連線存取，您可以在建立 Amazon VPC 端點時連接 AWS Identity and Access Management (IAM) 端點政策。您可以連接多個端點政策來建立複雜的 IAM 規則。如需詳細資訊，請參閱：
+  [Step Functions 的 Amazon Virtual Private Cloud 端點政策](#vpc-iam) 
+  [在 Step Functions 中為非管理員使用者建立精細許可](concept-create-iam-advanced.md) 
+  [使用 VPC 端點控制對服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) 

## Step Functions 的 Amazon Virtual Private Cloud 端點政策
<a name="vpc-iam"></a>

您可以為 Step Functions 建立 Amazon VPC 端點政策，並在其中指定下列項目：
+ 可執行動作的主體。
+ 可執行的動作。
+ 可供執行動作的資源。

下列範例顯示 Amazon VPC 端點政策，允許一個使用者建立狀態機器，並拒絕所有其他使用者刪除狀態機器的許可。範例政策也會授予所有 使用者執行許可。

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
              "states:ListExecutions", "states:StartExecution", "states:StopExecution", "states:DescribeExecution"
            ],
            "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": "*"
        }
    ]
}
```

如需建立端點政策的詳細資訊，請參閱以下內容：
+  [在 Step Functions 中為非管理員使用者建立精細許可](concept-create-iam-advanced.md) 
+  [使用 VPC 端點控制對服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) 