

# インターフェイスエンドポイントを使用した CloudFormation へのアクセス (AWS PrivateLink)
<a name="vpc-interface-endpoints"></a>

AWS PrivateLink を使用して、VPC と CloudFormation の間にプライベート接続を作成できます。インターネットゲートウェイ、NAT デバイス、VPN 接続、Direct Connect 接続のいずれかを使用せずに、VPC 内にあるかのように CloudFormation にアクセスできます。VPC 内のインスタンスは CloudFormation にアクセスするためにパブリック IP アドレスを必要としません。

このプライベート接続を確立するには、AWS PrivateLink を利用した*インターフェイスエンドポイント*を作成します。インターフェイスエンドポイントに対して有効にする各サブネットにエンドポイントネットワークインターフェイスを作成します。これらは、CloudFormation 宛てのトラフィックのエントリポイントとして機能するリクエスタ管理型ネットワークインターフェイスです。

CloudFormation は、インターフェイスエンドポイントを介してすべての API アクションの呼び出しをサポートしています。

## CloudFormation VPC エンドポイントに関する考慮事項
<a name="vpc-endpoint-considerations"></a>

インターフェイスエンドポイントを設定する前に、まず、「 *AWS PrivateLinkガイド*」の「[インターフェイス VPC エンドポイントを使用した AWS サービスへのアクセス](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)」で説明されている前提条件を満たしていることを確認してください。

CloudFormation のインターフェイスエンドポイントを設定する場合、以下の追加の前提条件と考慮事項が適用されます。
+ VPC 内にカスタムリソースリクエストまたは待機条件に応答する必要があるリソースがある場合は、それらが必要な CloudFormation 固有の Amazon S3 バケットにアクセスできることを確認してください。CloudFormation では、[カスタムリソース](template-custom-resources.md)リクエストまたは[待機条件](using-cfn-waitcondition.md)への応答をモニタリングするための S3 バケットが各リージョンにあります。テンプレートに VPC 内のカスタムリソースや待機条件が含まれている場合、その VPC のエンドポイントポリシーにより、次のバケットへの応答の送信がユーザーに許可されている必要があります。
  + カスタムリソースの場合、`cloudformation-custom-resource-response-region` バケットへのトラフィックを許可します。カスタムリソースを使用する場合、AWS リージョン名にダッシュは含まれません。例えば、`uswest2`。
  + 待機条件の場合、`cloudformation-waitcondition-region` バケットへのトラフィックを許可します。待機条件を使用する場合、AWS リージョン名にはダッシュが含まれます。例えば、`us-west-2`。

  エンドポイントポリシーでこれらのバケットへのトラフィックがブロックされている場合、CloudFormation は応答を受け取らず、スタックオペレーションは失敗します。たとえば、待機条件に応答する必要がある `us-west-2` リージョンの VPC にリソースがある場合、リソースは `cloudformation-waitcondition-us-west-2` バケットに応答を送信できる必要があります。

  CloudFormation が現在利用可能な AWS リージョン の一覧については、「*Amazon Web Services 全般のリファレンス* の[CloudFormation エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/cfn.html)」のページを参照してください。
+ 現在、VPC エンドポイントはクロスリージョンの要求をサポートしていません。必ず CloudFormation への API 呼び出しを発行する予定のリージョンでエンドポイントを作成してください。
+ VPC エンドポイントは、Route 53 を介して Amazon が提供する DNS のみをサポートします。独自の DNS を使用したい場合は、条件付き DNS 転送を使用できます。詳細については、「Amazon VPC ユーザーガイド」の「[Amazon VPC の DHCP オプションセット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)」を参照してください。
+ VPC エンドポイントにアタッチされたセキュリティグループでは、VPC のプライベートサブネットから、ポート 443 で着信接続を許可する必要があります。

## CloudFormation のインターフェイス VPC エンドポイントの作成
<a name="vpc-endpoint-create"></a>

CloudFormation 用の VPC エンドポイントは、Amazon VPC コンソールまたは AWS Command Line Interface (AWS CLI) を使用して作成できます。詳細については、「*AWS PrivateLink ガイド*」の「[Create a VPC endpoint](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#create-interface-endpoint-aws)」を参照してください。

以下のサービス名を使用して、CloudFormation 用のインターフェース・エンドポイントを作成します。：
+ **com.amazonaws.*region*.cloudformation** – CloudFormation API オペレーションのエンドポイントを作成します。

インターフェイスエンドポイントのプライベート DNS を有効にすると、リージョンのデフォルト DNS 名を使用して、CloudFormation への API リクエストを実行できます。例えば、`cloudformation.us-east-1.amazonaws.com`。

FIPS 固有のエンドポイントがサポートされている AWS リージョン では、次のサービス名を使用して CloudFormation のインターフェイスエンドポイントを作成することも可能です。
+ **com.amazonaws.*region*.cloudformation-fips** – [Federal Information Processing Standard (FIPS) 140-2](https://aws.amazon.com/compliance/fips/) に準拠する CloudFormation API のエンドポイントを作成します。

CloudFormation エンドポイントの完全なリストについては、「*Amazon Web Services 全般のリファレンス*」の「[CloudFormation endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/cfn.html)」を参照してください。

## CloudFormation 用の VPC エンドポイントポリシーの作成
<a name="vpc-endpoint-policy"></a>

エンドポイントポリシーは、インターフェイスエンドポイントにアタッチできる IAM リソースです。デフォルトのエンドポイントポリシーでは、インターフェイスエンドポイントを介した CloudFormation へのフルアクセスが許可されています。VPC から CloudFormationに許可されるアクセスを制御するには、カスタム・エンドポイント・ポリシーをインターフェースのエンドポイントにアタッチします。

エンドポイントポリシーは以下の情報を指定します。
+ アクションを実行できるプリンシパル (AWS アカウント、IAM ユーザー、IAM ロール)。
+ 実行可能なアクション。
+ このアクションを実行できるリソース。

詳細については、『*AWS PrivateLink ガイド*』の「[Control access to VPC endpoints using endpoint policies (エンドポイントポリシーを使用して VPC エンドポイントへのアクセスをコントロールする)](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)」を参照してください。

**例: CloudFormation アクション用の VPC エンドポイントポリシー**  
以下は、CloudFormation 用のエンドポイントポリシーの例です。エンドポイントにアタッチされると、このポリシーは、すべてのリソースですべてのプリンシパルに、リストされている CloudFormation アクションへのアクセス権を付与します。次の例では、VPC エンドポイントを経由してスタックを作成するアクセス許可をすべてのユーザーに拒否し、CloudFormation サービスの他のすべてのアクションへのフルアクセスを許可します。

```
{
  "Statement": [
    {
      "Action": "cloudformation:*", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Resource": "*"
    },
    {
      "Action": "cloudformation:CreateStack", 
      "Effect": "Deny", 
      "Principal": "*", 
      "Resource": "*"
    }
  ]
}
```