Step Functions の Amazon VPC エンドポイントの作成
Amazon Virtual Private Cloud (Amazon VPC) を使用して AWS リソースをホストする場合、Amazon VPC と AWS Step Functions ワークフローの間の接続を確立できます。公開インターネットと交差せずに、この Step Functions ワークフローとの接続を使用できます。Amazon VPC エンドポイントは、Standard ワークフロー、Express ワークフロー、同期 Express ワークフローでサポートされています。
Amazon VPC を使用すると、カスタム仮想化ネットワークで AWS リソースを起動できます。VPC を使用して、IP アドレス範囲、サブネット、ルートテーブル、ネットワークゲートウェイなどのネットワーク設定を制御できます。Amazon VPC の詳細については、「Amazon VPC ユーザーガイド」を参照してください。
Amazon VPC を Step Functions に接続するには、まずインターフェイス VPC エンドポイントを定義します。これで、VPC を他の AWS のサービスに接続できます。このエンドポイントを使用すると、インターネットゲートウェイやネットワークアドレス変換 (NAT) インスタンス、または VPN 接続などを必要とせずに、信頼性の高いスケーラブルな方法で接続できるようになります。詳細については、「Amazon VPC ユーザーガイド」の「インターフェイス VPC エンドポイント (AWS PrivateLink)」を参照してください。
エンドポイントを作成する
AWS Step Functions、AWS マネジメントコンソール (AWS Command Line Interface)、AWS CLI SDK、AWS API、または AWS Step Functions を使用して、VPC に CloudFormation エンドポイントを作成できます。
Amazon VPC コンソールまたは AWS CLI を使用して、エンドポイントを作成および設定する方法については、「Amazon VPC ユーザーガイド」の「インターフェイスエンドポイントの作成」を参照してください。
注記
エンドポイントを作成するとき、VPC の接続先のサービスとして Step Functions を指定します。Amazon VPC コンソール上のサービス名は AWS リージョンによって異なります。例えば、米国東部 (バージニア北部) を選択した場合、Standard ワークフロー と Express ワークフロー のサービス名は com.amazonaws.us-east-1.states であり、同期 Express ワークフロー のサービス名は com.amazonaws.us-east-1.sync-states です。
注記
プライベート DNS を通じて、SDK のエンドポイントをオーバーライドせずに VPC エンドポイントを使用できます。ただし、同期 Express ワークフロー用の 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 リソースを参照してください。
Amazon VPC エンドポイントのポリシー
Step Functions への接続アクセスを制御するには、Amazon VPC エンドポイントの作成中に AWS Identity and Access Management (IAM) エンドポイントポリシーをアタッチします。複数のエンドポイントポリシーをアタッチすることで、複雑な IAM ルールを作成できます。詳細については、以下を参照してください。
Step Functions 用 Amazon Virtual Private Cloud エンドポイントのポリシー
Step Functions 用 Amazon VPC エンドポイントのポリシーを作成できます。このポリシーでは以下を指定します。
-
アクションを実行できるプリンシパル。
-
実行可能なアクション。
-
このアクションを実行できるリソース。
以下は、1 人の IAM ユーザーにステートマシンの作成を許可し、他のすべての IAM ユーザーからのステートマシン削除権限を拒否できる 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": "*" } ] }
エンドポイントポリシーの作成の詳細については、以下を参照してください。