

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Apache Kafka Virtual Private Cloud (VPC) の送信先
<a name="kafka-vpc-destination"></a>

Apache Kafka ルールアクションは、データを Amazon Virtual Private Cloud (Amazon VPC) の Apache Kafka クラスターにルーティングします。Apache Kafka ルールアクションで使用される VPC 設定は、ルールアクションの VPC 送信先を指定すると自動的に有効になります。

Apache Kafka Virtual Private Cloud (VPC) の送信先には、VPC 内のサブネットのリストが含まれます。ルールエンジンは、このリストで指定する各サブネットで Elastic Network Interface を作成します。ネットワークインターフェイスの詳細については、Amazon EC2 ユーザーガイドの[ Elastic Network Interface ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)（伸縮自在のネットワークインターフェース）を参照してください。

## 要件と考慮事項
<a name="kafka-vpc-destination-considerations"></a>
+ インターネット経由でパブリックエンドポイントを使用してアクセスされるセルフマネージド型 Apache Kafka クラスターを使用している場合。
  + サブネット内のインスタンス用に NAT ゲートウェイを作成します。NAT ゲートウェイには、インターネットに接続できるパブリック IP アドレスがあるため、ルールエンジンがメッセージをパブリック Kafka クラスターに転送できます。
  + Apache Kafka Virtual Private Cloud (VPC) の送信先によって作成された Elastic Network Interface (ENIs) を使用して Elastic IP アドレスを割り当てます。使用するセキュリティグループは、着信トラフィックをブロックするように設定する必要があります。
**注記**  
Apache Kafka Virtual Private Cloud (VPC) の送信先が無効になってから再度有効になっている場合は、Elastic IPs を新しい ENIs に再関連付けする必要があります。
+ Apache Kafka Virtual Private Cloud (VPC) 送信先が 30 日間連続してトラフィックを受信しない場合、無効になります。
+ Apache Kafka Virtual Private Cloud (VPC) の送信先で使用されるリソースが変更されると、送信先は無効になり、使用できなくなります。
+ Apache Kafka Virtual Private Cloud (VPC) の送信先を無効にすることができる変更には、次のようなものがあります。
  + VPC、サブネット、セキュリティグループ、または使用されるロールを削除します。
  + 必要なアクセス許可がなくなるようにロールを変更します。
  + サブネット容量に近いため、[FedRAMP](https://aws.amazon.com/compliance/fedramp/) パッチを適用できません。
  + 送信先を無効にします。

## 料金
<a name="kafka-vpc-destination-pricing"></a>

請求のために、リソースが VPC 内にある場合にリソースにメッセージを送信するアクションに加えて、VPC ルールアクションが計測されます。料金については、[AWS IoT Core 料金](https://aws.amazon.com/iot-core/pricing/)を参照してください。

## Apache Kafka Virtual Private Cloud (VPC) 送信先の作成
<a name="kafka-vpc-destination-creating"></a>

[CreateTopicRuleDestination](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateTopicRuleDestination.html) API または AWS IoT Core コンソールを使用して、Apache Kafka Virtual Private Cloud (VPC) の送信先を作成します。

送信先を作成するときは、次の情報を指定する必要があります。

vpcId  
Amazon VPC の一意の ID。

subnetIds  
ルールエンジンが Elastic Network Iinterfaces を作成するサブネットのリスト。ルールエンジンは、リスト内のサブネットごとに 1 つのネットワークインターフェイスを割り当てます。

securityGroups (オプション)  
ネットワークインターフェイスに適用するセキュリティグループのリスト。

roleArn  
ユーザーに代わってネットワークインターフェイスを作成するための許可を持つロールの Amazon リソースネーム (ARN)。  
この ARN には、次の例のようなポリシーがアタッチされている必要があります。    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeVpcs",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSubnets",
                "ec2:DescribeVpcAttribute",
                "ec2:DescribeSecurityGroups"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:CreateNetworkInterfacePermission",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:ResourceTag/VPCDestinationENI": "true"
            }
        }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateNetworkInterface",
                    "aws:RequestTag/VPCDestinationENI": "true"
            }
        }
        }
    ]
}
```

### を使用して Apache Kafka Virtual Private Cloud (VPC) 送信先を作成する AWS CLI
<a name="kafka-vpc-destination-create-cli"></a>

次の例は、 を使用して送信先を作成する方法を示しています AWS CLI。

```
aws --region regions iot create-topic-rule-destination --destination-configuration 'vpcConfiguration={subnetIds=["subnet-123456789101230456"],securityGroups=[],vpcId="vpc-123456789101230456",roleArn="arn:aws:iam::123456789012:role/role-name"}'
```

このコマンドを実行すると、送信先ステータスは になります`IN_PROGRESS`。数分後、そのステータスは`ERROR` (コマンドが成功しなかった場合) または `ENABLED`に変わります。送信先ステータスが `ENABLED` の場合、使用可能です。

次のコマンドを使用して、Apache Kafka Virtual Private Cloud (VPC) の送信先のステータスを取得できます。

```
aws --region region iot get-topic-rule-destination --arn "VPCDestinationARN"
```

### AWS IoT Core コンソールを使用して Apache Kafka Virtual Private Cloud (VPC) 送信先を作成する
<a name="kafka-vpc-destination-create-console"></a>

次の手順では、 AWS IoT Core コンソールを使用して送信先を作成する方法について説明します。

1.  AWS IoT Core コンソールに移動します。左のペインの**[Act]** タブで、**[送信先]** を選択します。

1. 以下のフィールドに値を入力します。
   + **VPC ID**
   + **サブネット ID**
   + **セキュリティグループ**

1. ネットワークインターフェイスの作成に必要な許可を持つロールを選択します。上記のポリシー例には、これらの許可が含まれています。

Apache Kafka Virtual Private Cloud (VPC) の送信先ステータスが **ENABLED** になると、すぐに使用できます。