> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-trino-dialect.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройка AWS PrivateLink для предоставления ClickPipes доступа к MSK

> Шаги по настройке доступа ClickPipes к приватному MSK через подключение MSK multi-VPC.

<div id="overview">
  ## Обзор
</div>

Это руководство поможет вам начать настройку **MSK multi-VPC** для использования с [обратной частной конечной точкой ClickPipes](/ru/integrations/clickpipes/networking/aws-privatelink#msk-multi-vpc).

ClickPipes владеет клиентской VPC и создаёт управляемое VPC-подключение. Чтобы установить сетевое соединение, включите частное подключение multi-VPC в кластере MSK и авторизуйте AWS-аккаунт ClickPipes в политике кластера.

<div id="requirements">
  ## Требования
</div>

VPC вашего кластера MSK должен находиться в одном из регионов ClickPipes. Список поддерживаемых регионов см. в разделе [регионы ClickPipes](/ru/integrations/clickpipes/networking/aws-privatelink#aws-privatelink-regions).

<div id="enabling-multi-vpc-connectivity">
  ## Включение multi-VPC-подключения
</div>

<Tabs>
  <Tab title="Консоль AWS" id="aws-console">
    1. Перейдите к кластеру MSK.
       * Выберите "Clusters" на левой панели навигации в консоли Amazon MSK.
       * Выберите конкретный кластер MSK, который нужно настроить для multi-VPC-подключения.
    2. Включите подключение MSK multi-VPC
       * На вкладке **Connectivity** найдите раздел **Multi-VPC connectivity**.
       * Нажмите **Edit**.
       * Включите опцию **Turn-on MSK multi-VPC connectivity**.
       * Следуйте инструкциям.
    3. Добавьте субъект учетной записи ClickPipes в политику кластера
       * Перейдите на вкладку **Configuration**.
       * Нажмите **Edit** в разделе **Cluster policy**.
       * Добавьте `arn:aws:iam::072088201116:root` в **IAM policy**. Пример:
         ```json theme={null}
         {
             "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>"
                 }
             ]
         }
         ```
  </Tab>

  <Tab title="Terraform" id="terraform-msk">
    Включите метод аутентификации MSK как для кластера, так и для multi-VPC-подключения. В следующем примере используется SASL/IAM; чтобы использовать SASL/SCRAM, вместо этого задайте `scram = true`.

    ```hcl theme={null}
    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:

    ```hcl theme={null}
    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.
  </Tab>
</Tabs>

<Tip>
  Политика IAM кластера позволяет ClickPipes инициировать подключение к вашему кластеру MSK.
  Если вы хотите настроить IAM-аутентификацию для вашего кластера MSK, см. [документацию по IAM-аутентификации](/ru/integrations/clickpipes/kafka/best-practices#iam).
</Tip>

<div id="creating-reverse-private-endpoint">
  ## Создание обратной частной конечной точки
</div>

<Tabs>
  <Tab title="Интерфейс ClickPipes" id="clickpipes-ui">
    Следуйте инструкциям по созданию обратной частной конечной точки в [документации ClickPipes](/ru/integrations/clickpipes/networking/aws-privatelink#creating-clickpipe).
  </Tab>

  <Tab title="Terraform" id="terraform-rpe">
    Создайте обратную частную конечную точку с помощью [Terraform-провайдера ClickHouse](https://registry.terraform.io/providers/ClickHouse/clickhouse/latest/docs/resources/clickpipes_reverse_private_endpoint):

    ```hcl theme={null}
    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]
    }
    ```

    Поля ресурса неизменяемы. При изменении любого поля обратная частная конечная точка удаляется и создаётся заново.
  </Tab>
</Tabs>
