概述
本指南将指导你完成 MSK multi-VPC 的设置,以便与 ClickPipes 反向专用终结点 配合使用。
ClickPipes 拥有客户端 VPC,并负责创建托管 VPC 连接。要建立网络连接,请在 MSK 集群上启用多 VPC 私有连接,并在集群策略中授权 ClickPipes AWS 账户。
要求
您的 MSK 集群所在的 VPC 必须位于我们的某个 ClickPipes 区域。支持的区域列表请参见 ClickPipes 区域。
启用多 VPC 连接
- 进入 MSK 集群。
- 在 Amazon MSK Console 左侧导航栏中选择“Clusters”。
- 选择要配置多 VPC 连接的目标 MSK 集群。
- 启用 MSK multi-VPC connectivity
- 在 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>" } ] }
为集群和多 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 权限时请保留其现有语句。
创建反向专用终结点
请按照 ClickPipes 文档中的步骤创建反向专用终结点。
使用 ClickHouse Terraform provider 创建反向专用终结点:
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]
}资源字段不可修改。修改任何字段都会删除并重新创建反向专用终结点。