개요
이 가이드는 ClickPipes reverse private endpoint와 함께 사용할 MSK multi-VPC 설정을 시작하는 방법을 설명합니다.
ClickPipes는 클라이언트 VPC를 소유하고 관리형 VPC 연결을 생성합니다. 네트워크 연결을 설정하려면 MSK 클러스터에서 multi-VPC 프라이빗 연결을 활성화하고 cluster policy에서 ClickPipes AWS 계정을 승인하십시오.
요구 사항
MSK 클러스터의 VPC는 ClickPipes 리전 중 하나에 있어야 합니다. 지원되는 리전 목록은 ClickPipes 리전을 참조하십시오.
multi-VPC 연결 활성화
- MSK 클러스터로 이동합니다.
- Amazon MSK 콘솔의 왼쪽 탐색 창에서 "Clusters"를 선택합니다.
- multi-VPC 연결용으로 구성할 특정 MSK 클러스터를 선택합니다.
- MSK multi-VPC 연결을 활성화합니다.
- Connectivity 탭에서 Multi-VPC connectivity 섹션을 찾습니다.
- Edit를 클릭합니다.
- Turn-on MSK multi-VPC connectivity 옵션을 활성화합니다.
- 안내에 따라 진행합니다.
- ClickPipes 계정 주체를 클러스터 정책에 추가합니다.
- Configuration 탭으로 이동합니다.
- Cluster policy 섹션에서 Edit를 클릭합니다.
- IAM policy에
arn:aws:iam::072088201116:root를 포함합니다. 예시:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::072088201116:root" ] }, "Action": [ "kafka:CreateVpcConnection", "kafka:GetBootstrapBrokers", "kafka:DescribeCluster", "kafka:DescribeClusterV2" ], "Resource": "<MSK_CLUSTER_ARN>" } ] }
클러스터와 multi-VPC 연결 모두에 대해 MSK 인증 방법을 활성화합니다. 다음 예시에서는 SASL/IAM을 사용합니다. SASL/SCRAM을 사용하려면 대신 scram = true로 설정합니다.
resource "aws_msk_cluster" "this" {
# ... 기존 구성 ...
client_authentication {
sasl {
iam = true
}
}
broker_node_group_info {
# ... 기존 구성 ...
connectivity_info {
vpc_connectivity {
client_authentication {
sasl {
iam = true
}
}
}
}
}
}MSK 클러스터 정책에서 ClickPipes AWS 계정을 승인합니다.
resource "aws_msk_cluster_policy" "clickpipes" {
cluster_arn = aws_msk_cluster.this.arn
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Sid = "ClickPipesMultiVpc"
Effect = "Allow"
Principal = { AWS = "arn:aws:iam::072088201116:root" }
Action = [
"kafka:CreateVpcConnection",
"kafka:GetBootstrapBrokers",
"kafka:DescribeCluster",
"kafka:DescribeClusterV2",
]
Resource = aws_msk_cluster.this.arn
}]
})
}클러스터에 이미 정책이 있다면 ClickPipes 권한을 추가할 때 기존 정책 구문을 유지합니다.
Reverse Private Endpoint 생성하기
ClickPipes 문서의 Reverse Private Endpoint 생성 절차를 따르십시오.
ClickHouse Terraform 프로바이더를 사용하여 Reverse Private Endpoint를 생성합니다.
resource "clickhouse_clickpipes_reverse_private_endpoint" "msk" {
service_id = var.clickhouse_service_id
description = "MSK multi-VPC reverse private endpoint"
type = "MSK_MULTI_VPC"
msk_cluster_arn = aws_msk_cluster.this.arn
msk_authentication = "SASL_IAM" # Or "SASL_SCRAM"
depends_on = [aws_msk_cluster_policy.clickpipes]
}리소스 필드는 변경할 수 없습니다. 필드를 변경하면 Reverse Private Endpoint가 삭제된 후 다시 생성됩니다.