Vue d’ensemble
Ce guide vous aidera à démarrer la configuration d’un MSK multi-VPC à utiliser avec le endpoint privé inversé de ClickPipes.
ClickPipes possède le VPC client et crée la connexion VPC gérée. Pour établir la connexion réseau, activez la connectivité privée multi-VPC sur votre cluster MSK et autorisez le compte AWS de ClickPipes dans la politique du cluster.
Exigences
Le VPC de votre cluster MSK doit être situé dans l’une de nos régions ClickPipes. Consultez les régions ClickPipes pour obtenir la liste des régions prises en charge.
Activation de la connectivité multi-VPC
- Accédez au cluster MSK.
- Choisissez « Clusters » dans le volet de navigation de gauche de la console Amazon MSK.
- Sélectionnez le cluster MSK que vous souhaitez configurer pour la connectivité multi-VPC.
- Activez la connectivité MSK multi-VPC
- Dans l’onglet Connectivity, repérez la section Multi-VPC connectivity.
- Cliquez sur Edit.
- Activez l’option Turn-on MSK multi-VPC connectivity.
- Suivez les instructions
- Ajoutez le principal du compte ClickPipes à la policy du cluster
- Accédez à l’onglet Configuration.
- Cliquez sur Edit dans la section Cluster policy.
- Ajoutez
arn:aws:iam::072088201116:rootà la IAM policy. Exemple :{ "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>" } ] }
Activez votre méthode d’authentification MSK pour le cluster et la connectivité multi-VPC. L’exemple suivant utilise SASL/IAM ; définissez plutôt scram = true pour utiliser SASL/SCRAM.
resource "aws_msk_cluster" "this" {
# ... configuration existante ...
client_authentication {
sasl {
iam = true
}
}
broker_node_group_info {
# ... configuration existante ...
connectivity_info {
vpc_connectivity {
client_authentication {
sasl {
iam = true
}
}
}
}
}
}Autorisez le compte AWS de ClickPipes dans la policy du cluster 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
}]
})
}Si le cluster possède déjà une policy, conservez ses statements existants lors de l’ajout des permissions ClickPipes.
Création d’un endpoint privé inversé
Suivez les étapes de création d’un endpoint privé inversé dans la documentation de ClickPipes.
Créez l’endpoint privé inversé à l’aide du provider 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" # Ou "SASL_SCRAM"
depends_on = [aws_msk_cluster_policy.clickpipes]
}Les champs de la ressource sont immuables. La modification d’un champ entraîne la destruction et la recréation de l’endpoint privé inversé.