Обзор
Это руководство поможет вам начать настройку MSK multi-VPC для использования с обратной частной конечной точкой ClickPipes.
ClickPipes владеет клиентской VPC и создаёт управляемое VPC-подключение. Чтобы установить сетевое соединение, включите частное подключение multi-VPC в кластере MSK и авторизуйте AWS-аккаунт ClickPipes в политике кластера.
Требования
VPC вашего кластера MSK должен находиться в одном из регионов ClickPipes. Список поддерживаемых регионов см. в разделе регионы ClickPipes.
Включение multi-VPC-подключения
- Перейдите к кластеру MSK.
- Выберите "Clusters" на левой панели навигации в консоли Amazon MSK.
- Выберите конкретный кластер MSK, который нужно настроить для multi-VPC-подключения.
- Включите подключение MSK multi-VPC
- На вкладке Connectivity найдите раздел Multi-VPC connectivity.
- Нажмите Edit.
- Включите опцию Turn-on MSK multi-VPC connectivity.
- Следуйте инструкциям.
- Добавьте субъект учетной записи ClickPipes в политику кластера
- Перейдите на вкладку Configuration.
- Нажмите Edit в разделе Cluster policy.
- Добавьте
arn:aws:iam::072088201116:rootв IAM policy. Пример:{ "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>" } ] }
Включите метод аутентификации MSK как для кластера, так и для multi-VPC-подключения. В следующем примере используется 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
}
}
}
}
}
}Авторизуйте AWS-аккаунт ClickPipes в политике кластера MSK:
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.
Создайте обратную частную конечную точку с помощью Terraform-провайдера ClickHouse:
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]
}Поля ресурса неизменяемы. При изменении любого поля обратная частная конечная точка удаляется и создаётся заново.