

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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 내의 서브넷 목록이 포함됩니다. 규칙 엔진은 이 목록에서 지정한 각 서브넷에 탄력적 네트워크 인터페이스를 생성합니다. 네트워크 인터페이스에 대한 자세한 내용은 Amazon EC2 사용 설명서의 [탄력적 네트워크 인터페이스](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) 대상에서 생성한 탄력적 네트워크 인터페이스(ENIs)를 사용하여 탄력적 IP 주소를 할당합니다. 사용하는 보안 그룹은 수신 트래픽을 차단하도록 구성해야 합니다.
**참고**  
Apache Kafka Virtual Private Cloud(VPC) 대상이 비활성화되었다가 다시 활성화된 경우 탄력적 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  
규칙 엔진이 탄력적 네트워크 인터페이스를 만드는 서브넷 목록입니다. 규칙 엔진은 목록의 각 서브넷에 대해 단일 네트워크 인터페이스를 할당합니다.

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 콘솔로 이동합니다. 왼쪽 창의 **동작** 탭에서 **대상**을 선택합니다.

1. 다음 필드에 값을 입력합니다.
   + **VPC ID**
   + **서브넷 ID**
   + **보안 그룹**

1. 네트워크 인터페이스를 생성하는 데 필요한 권한이 있는 역할을 선택합니다. 앞의 예제 정책에는 이러한 사용 권한이 포함되어 있습니다.

Apache Kafka Virtual Private Cloud(VPC) 대상 상태가 **ENABLED**이면 바로 사용할 수 있습니다.