ANNOUNCEMENT: Voyage AI joins MongoDB to power more accurate and trustworthy AI applications on Atlas.
Learn more
Docs Menu

Apache Kafka 연결

Atlas Stream Processing Apache Kafka에 대한 소스 및 싱크 연결을 모두 지원합니다.

스트림 처리 인스턴스의 연결 레지스트리에 Kafka 연결을 추가하려면 다음을 수행합니다.

Atlas CLI를 사용하여 지정한 Atlas Stream Processing 인스턴스에 대해 하나의 연결을 생성하려면 다음 명령을 실행합니다.

atlas streams connections create [connectionName] [options]

명령 구문 및 매개변수에 대해 자세히 알아보려면 Atlas 스트림 연결 생성에 대한 Atlas CLI 설명서를 참조하세요.

참조: 관련 링크

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Services 제목 아래의 Stream Processing를 클릭합니다.

    스트림 처리 페이지가 표시됩니다.

2
  1. 수정하려는 스트림 프로세싱 인스턴스의 개요 패널을 찾아 Configure를 클릭하세요.

  2. 0}Connection Registry 탭을 선택합니다.

3
4
  1. Kafka 연결을 선택합니다.

  2. Connection Name을 제공하세요. 각 연결 이름은 스트림 처리 인스턴스 내에서 고유해야 합니다. 이는 Atlas Stream Processing 집계에서 연결을 참조하는 데 사용되는 이름입니다.

  3. Network Access 유형을 선택합니다. Atlas Stream Processing은 Public IP 또는 VPC Peering 연결을 지원합니다.

    Public IP 버튼을 클릭합니다. 이 네트워크 액세스 유형에는 추가 구성이 필요하지 않습니다.

    1. VPC Peering 버튼을 클릭합니다.

    2. Enable VPC Peering을 토글합니다. Atlas Stream Processing이 구성된 연결에서 적절한 VPC 피어링 연결을 자동으로 선택합니다.

      VPC 피어링 연결이 없는 경우 Atlas 네트워크 피어링 연결을 구성합니다.

  4. 하나 이상의 부트스트랩 서버Apache Kafka 시스템에 대한 IP 주소를 지정합니다.

  5. 드롭다운 메뉴에서 Security Protocol Method를 선택합니다.

    Atlas Stream Processing은 SASL_PLAINTEXT 또는 SASL_SSL을 지원합니다.

    SASL_PLAINTEXT은(는) VPC 피어링과 호환되지 않습니다. VPC 피어링을 사용하려면 SASL_SSL 메서드를 선택해야 합니다.

    1. 드롭다운 메뉴에서 SASL Mechanism를 선택합니다.

      Atlas Stream Processing은 다음을 지원합니다.

      • PLAIN

      • SCRAM-SHA-256

      • SCRAM-SHA-512

    2. 인증을 위한 Username을 제공하세요.

    3. 인증을 위한 비밀번호를 입력합니다.

    4. Add connection를 클릭합니다.

    1. 드롭다운 메뉴에서 SASL Mechanism를 선택합니다.

      Atlas Stream Processing은 다음을 지원합니다.

      • PLAIN

      • SCRAM-SHA-256

      • SCRAM-SHA-512

    2. Upload를 클릭하여 Certificate Authority PEM file을 업로드합니다.

    3. 인증을 위한 Username을 제공하세요.

    4. 인증을 위한 비밀번호를 입력합니다.

    5. Add connection를 클릭합니다.

Atlas 관리 API는 연결 레지스트리에 연결을 추가하기 위한 엔드포인트를 제공합니다.

연결 레지스트리에 연결 추가

중요

연결 레지스트리에 Apache Kafka 클러스터와 같은 외부 연결을 추가한 후 해당 외부 연결에 대한 액세스 목록에 Atlas IP 주소를 추가해야 합니다. 자세한 내용은 Atlas Control Plane에 대한 액세스 허용을 참조하세요.

Atlas Stream Processing은 현재 다음에 대한 AWS Private Link 연결 생성을 지원합니다.

  • AWS Confluent 클러스터

  • AWS MSK 클러스터

  • Microsoft Azure EventHub

Atlas Stream Processing 프로젝트에서 사용할 AWS Private Link 연결을 생성하려면:

중요

Atlas 프로젝트 당 특정 Confluent 클러스터 에 대한 Private Link 연결을 두 개 이상 가질 수 없습니다. 이 절차를 시작하기 전에 모든 비공개 링크 연결 반환 엔드포인트를 호출합니다. Atlas 내에서는 Confluent 클러스터 에 대한 기존 Private Link 연결이 있지만 Confluent 계정 내에서는 연결되어 있지 않은 경우, Confluent 측 네트워킹을 구성하는 단계만 수행하세요.

1

Atlas 프로젝트 에서 들어오는 연결을 허용하도록 Confluent 클러스터 구성해야 합니다.

중요

Confluent는 AWS에서 들어오는 연결만 수신합니다. Confluent Private Link 연결을 사용하려면 AWS에서 스트림 처리 인스턴스를 호스팅해야 합니다.

  1. 그룹 및 리전 Atlas 관리 API 엔드포인트에 대한 계정 ID 및 VPC ID 반환을 호출합니다. awsAccountId의 값을 기록해 둡니다. 이후 단계에서 이 값이 필요합니다.

  2. Confluent 계정에서 연결하려는 클러스터 로 이동합니다. 클러스터 네트워킹 인터페이스에서 클러스터 네트워킹 세부 정보로 이동합니다.

  3. 비공개 링크 액세스 추가

Confluent 전용 클러스터 의 경우 원하는 이름을 입력합니다. Amazon Web Services 계정 번호에 앞서 기록해 둔 awsAccountId 필드의 값을 입력합니다.

참고

Confluent 서버리스 클러스터에는 이 단계가 필요하지 않습니다.

2

Atlas 관리 API Atlas Stream Processing 위해 구성된 Private Link 연결을 요청하기 위한 엔드포인트를 제공합니다.

1개의 비공개 링크 만들기

AWS Confluent Private Link 연결을 위해 다음 키-값 쌍을 설정해야 합니다.

serviceEndpointId

Confluent 클러스터의 VPC Endpoint service name.

dnsDomain

Confluent 클러스터 에 있는 부트스트랩 서버 의 정규화된 도메인 이름입니다.

dnsSubDomain

클러스터 하위 도메인을 사용하지 않는 경우 이를 빈 배열 []로 설정하다 해야 합니다. 클러스터 하위 도메인을 사용하는 경우 클러스터의 각 하위 도메인에 대해 하나의 정규화된 하위 도메인 이름을 포함하는 배열 로 설정하다 해야 합니다.

이러한 값은 Confluent 클러스터의 네트워킹 세부 정보에서 확인할 수 있습니다.

다음 예시 명령은 Confluent 클러스터 에 대한 연결을 요청하고 일반적인 응답을 보여줍니다.

curl --location 'https://cloud.mongodb.com/api/atlas/v2/groups/8358217d3abb5c76c3434648/streams/privateLinkConnections' \
--digest \
--user "slrntglrbn:933fb118-ac62-4991-db05-ee67a3481fde" \
--header 'Content-Type: application/json' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--data '{ "vendor": "Confluent", "provider": "AWS",
"region": "us_east_1", "serviceEndpointId":
"com.amazonaws.vpce.us-east-1.vpce-svc-93da685022ee702a9",
"dnsDomain": "sample.us-east-1.aws.confluent.cloud",
"dnsSubDomain: [
"use1-az1.sample.us-east-1.aws.confluent.cloud",
"use1-az2.sample.us-east-1.aws.confluent.cloud",
"use1-az4.sample.us-east-1.aws.confluent.cloud"
]
}'
{"_id":"6aa12e7ccd660d4b2380b1c1","dnsDomain":"sample.us-east-1.aws.confluent.cloud.","vendor":"Confluent","provider":"AWS","region":"us_east_1","serviceEndpointId":"com.amazonaws.vpce.us-east-1.vpce-svc-93da685022ee702a9"}

요청 을 보낸 후 응답 본문의 _id 필드 값을 확인합니다. 이 정보는 이후 단계에서 필요합니다.

3

참고

이 단계는 Confluent 서버리스 클러스터에만 적용됩니다.

모든 비공개 링크 연결 반환 엔드포인트를 호출합니다. interfaceEndpointId 값을 확인합니다.

Confluent 계정에서 연결하려는 클러스터 로 이동합니다. 클러스터 네트워킹 인터페이스에서 클러스터 네트워킹 세부 정보로 이동합니다. 액세스 포인트 인터페이스로 이동하여 새 액세스 점 추가합니다. Confluent가 인터페이스 엔드포인트 입력하라는 메시지를 표시하면 이전에 기록해 둔 interfaceEndpointId 값을 입력합니다.

4

다음 키-값 쌍이 있는 연결을 추가합니다.

bootstrapServers

cloud 제공업체의 Kafka 부트스트랩 서버 의 IP 주소 .

security.protocol

SASL_SSL

authentication.mechanism

"PLAIN"

authentication.password

Confluent API 키와연결된 비밀번호

authentication.username

Confluent API 키와 연결된 사용자 이름

type

"Kafka"

networking.access.type

"PRIVATE_LINK"

networking.access.connectionId

Private Link 요청 응답의 _id

필요에 따라 다른 모든 값을 설정합니다.

다음 예시 명령은 Atlas 에서 Apache Kafka 연결을 생성합니다.

curl --location 'https://cloud.mongodb.com/api/atlas/v2/groups/8358217d3abb5c76c3434648/streams/spinstance/connections' \
--digest \
--user "slrntglrbn:933fb118-ac62-4991-db05-ee67a3481fde" \
--header 'Content-Type: application/json' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--data '{
"name": "confluent_demo",
"bootstrapServers": "slr-ntgrbn.sample.us-east-1.aws.confluent.cloud:9092",
"security": {
"protocol": "SASL_SSL"
},
"authentication": {
"mechanism": "PLAIN",
"password": "apiSecretDemo",
"username": "apiUserDemo"
},
"type": "Kafka",
"networking": {
"access": {
"type": "PRIVATE_LINK",
"connectionId": "38972b0cbe9c2aa40a30a246"
}
}
}'
1

AWS MSK 클러스터를 구성하여 Atlas 프로젝트에서 오는 연결을 수락해야 합니다.

중요

AWS MSK는 AWS에서 들어오는 연결만 수신합니다. AWS MSK Private Link 연결을 사용하려면 AWS에서 스트림 처리 인스턴스를 호스팅해야 합니다.

  1. 계정 세부 정보 가져오기 엔드포인트를 사용하여 AWS Principal ID를 조회합니다. 이 값은 AWS MSK 클러스터 정책에 필요합니다.

  2. AWS Management Console에 로그인하고 AWS MSK 콘솔로 이동합니다. 연결하려는 클러스터에서 multi-VPC connectivity이(가) 활성화되어 있는지 확인합니다.

  3. IAM 콘솔로 이동하여 탐색 창에서 Policies을(를) 선택합니다. 대상 클러스터 정책을 생성하거나 수정합니다. 이전에 조회한 Principal ID를 Statement.Principal.Aws.[]의 값으로 사용하고 정책이 다음과 같은 형식을 취하는지 확인합니다.

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Effect": "Allow",
    "Principal": {
    "AWS": [
    "123456789012"
    ]
    },
    "Action": [
    "kafka:CreateVpcConnection",
    "kafka:GetBootstrapBrokers",
    "kafka:DescribeCluster",
    "kafka:DescribeClusterV2"
    ],
    "Resource": "arn:aws:kafka:us-east-1:123456789012:cluster/testing/de8982fa-8222-4e87-8b20-9bf3cdfa1521-2"
    }
    ]
    }
2

Atlas 관리 API Atlas Stream Processing 위해 구성된 Private Link 연결을 요청하기 위한 엔드포인트를 제공합니다.

1개의 비공개 링크 만들기

AWS MSK 비공개 링크 연결의 경우 다음 키-값 쌍을 설정해야 합니다.

vendor

"msk"로 설정해야 합니다.

provider

"aws"로 설정해야 합니다.

arn

AWS MSK 클러스터의 Amazon 리소스 번호(ARN)를 나타내는 문자열입니다.

ARN은 AWS MSK 클러스터의 네트워킹 세부 정보에서 찾을 수 있습니다.

다음 예시 명령은 AWS MSK 클러스터에 대한 연결 요청을 하고 일반적인 응답을 보여줍니다.

curl --location 'https://cloud.mongodb.com/api/atlas/v2/groups/8358217d3abb5c76c3434648/streams/privateLinkConnections' \
--digest \
--user "slrntglrbn:933fb118-ac62-4991-db05-ee67a3481fde" \
--header 'Content-Type: application/json' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--data '{ "vendor": "msk",
"provider": "AWS",
"arn": "1235711"}'
{"_id":"6aa12e7ccd660d4b2380b1c1","dnsDomain":"scram.sample.us-east-1.amazonaws.com","vendor":"msk","provider":"AWS","region":"us_east_1","serviceEndpointId":"com.amazonaws.vpce.us-east-1.vpce-svc-93da685022ee702a9"}

요청 을 보낸 후 응답 본문의 _id 필드 값을 확인합니다. 이 정보는 이후 단계에서 필요합니다.

3

다음 키-값 쌍이 있는 연결을 추가합니다.

bootstrapServers

cloud 제공업체의 Kafka 부트스트랩 서버 의 IP 주소 .

security.protocol

SASL_SSL

authentication.mechanism

"PLAIN"

authentication.password

클러스터에 연결된 SCRAM 비밀번호입니다. AWS Secrets Manager를 사용하여 페어링된 SCRAM 사용자와 비밀번호를 정의하고 이를 AWS MSK 클러스터와 연결해야 합니다.

authentication.username

클러스터와 연결된 SCRAM 사용자입니다. 페어링된 SCRAM 사용자 및 비밀번호를 정의하고 AWS Secrets Manager를 사용하여 AWS MSK 클러스터와 연결해야 합니다.

type

"Kafka"

networking.access.type

"PRIVATE_LINK"

networking.access.connectionId

Private Link 요청 응답의 _id

필요에 따라 다른 모든 값을 설정합니다.

다음 예시 명령은 Atlas 에서 Apache Kafka 연결을 생성합니다.

curl --location 'https://cloud.mongodb.com/api/atlas/v2/groups/8358217d3abb5c76c3434648/streams/spinstance/connections' \
--digest \
--user "slrntglrbn:933fb118-ac62-4991-db05-ee67a3481fde" \
--header 'Content-Type: application/json' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--data '{
"name": "msk_demo",
"bootstrapServers": "slr-ntgrbn.sample.us-east-1.amazonaws.com:9092",
"security": {
"protocol": "SASL_SSL"
},
"authentication": {
"mechanism": "PLAIN",
"password": "scramSecretDemo",
"username": "scramUserDemo"
},
"type": "Kafka",
"networking": {
"access": {
"type": "PRIVATE_LINK",
"connectionId": "38972b0cbe9c2aa40a30a246"
}
}
}'

Atlas Stream Processing 프로젝트에서 Microsoft Azure Private Link 연결을 생성하려면 다음을 수행하세요.

1
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 내비게이션 바의 Projects 메뉴에서 프로젝트를 선택합니다.

  3. 사이드바에서 Security 제목 아래의 Network Access를 클릭합니다.

    네트워크 액세스 페이지가 표시됩니다.

2
  1. 0}Private Endpoint 탭을 선택합니다.

  2. 0}Atlas Stream Processing 탭을 선택합니다.

    이전에 Atlas Stream Processing 비공개 엔드포인트를 생성하지 않았다면 Create endpoint를 클릭합니다. 비공개 엔드포인트가 생성되어 있으면 Add ASP Endpoint를 클릭하세요.

3
  1. Cloud ProviderAzure로 설정합니다.

  2. VendorEventHub로 설정합니다.

  3. 클릭 Next, enter service details

4
  1. Azure 서비스 Azure 엔드포인트 ID를 입력합니다.

  2. Endpoint region 을(를) 선택합니다.

  3. Host name 을(를) 선택합니다.

  4. 클릭 Next, generate endpoint ID

Network Access Atlas Stream Processing 이제 탭 아래의 View 인터페이스에서 해당 행의 버튼을 클릭하여 Azure EventHub 비공개 엔드포인트를 볼 수 있습니다.

1

Atlas 관리 API Atlas Stream Processing 위해 구성된 Private Link 연결을 요청하기 위한 엔드포인트를 제공합니다.

1개의 비공개 링크 만들기

Azure Private Link 연결의 경우 다음 키-값 쌍을 설정하다 해야 합니다.

serviceEndpointId

EventHub 네임스페이스 엔드포인트

dnsDomain

Azure Event Hub 네임스페이스의 부트스트랩 서버에 대한 정규화된 도메인 이름과 포트 번호. 이 도메인 이름은 여기에 설명된 형식을 준수합니다.

다음 예시 명령은 Azure Event Hub에 대한 연결을 요청하고 일반적인 응답을 보여줍니다.

curl --location 'https://cloud.mongodb.com/api/atlas/v2/groups/8358217d3abb5c76c3434648/streams/privateLinkConnections' \
--digest \
--user "slrntglrbn:933fb118-ac62-4991-db05-ee67a3481fde" \
--header 'Content-Type: application/json' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--data '{ "provider": "AZURE", "region": "US_EAST_2", "serviceEndpointId": "/subscriptions/b82d6aa0-0b0a-ffa3-7c22-e167dc44f5b0/resourceGroups/asp/providers/Microsoft.EventHub/namespaces/sample", "dnsDomain": "sample.servicebus.windows.net" }'
{"_id":"6aa12e7ccd660d4b2380b1c1","dnsDomain":"sample.servicebus.windows.net","provider":"AZURE","region":"US_EAST_2","serviceEndpointId":"/subscriptions/b82d6aa0-0b0a-ffa3-7c22-e167dc44f5b0/resourceGroups/asp/providers/Microsoft.EventHub/namespaces/sample"}

요청 을 보낸 후 응답 본문의 _id 필드 값을 확인합니다. 이 정보는 이후 단계에서 필요합니다.

2

cloud 제공자 계정 내에서 요청된 연결을 수락합니다.

Azure 에 대한 Private Link 연결의 경우 Event Hub 네트워킹 페이지로 이동하여 Private endpoint connections 탭 선택합니다. 연결 테이블에서 새로 요청된 연결을 식별하고 승인합니다.

3

다음 키-값 쌍이 있는 연결을 추가합니다.

bootstrapServers

cloud 제공업체의 Kafka 부트스트랩 서버 의 IP 주소 .

security.protocol

SASL_SSL

authentication.mechanism

"PLAIN"

authentication.password

authentication.username

"$ConnectionString"

type

"Kafka"

networking.access.type

"PRIVATE_LINK"

networking.access.connectionId

Private Link 요청 응답의 _id

필요에 따라 다른 모든 값을 설정합니다.

다음 예시 명령은 Atlas 에서 Apache Kafka 연결을 생성합니다.

curl --location 'https://cloud.mongodb.com/api/atlas/v2/groups/8358217d3abb5c76c3434648/streams/spinstance/connections' \
--digest \
--user "slrntglrbn:933fb118-ac62-4991-db05-ee67a3481fde" \
--header 'Content-Type: application/json' \
--header 'Accept: application/vnd.atlas.2023-02-01+json' \
--data '{ "name": "eventhubpl33333", "bootstrapServers": "sample.servicebus.windows.net:9093", "security": { "protocol": "SASL_SSL" }, "authentication": { "mechanism": "PLAIN", "password": "Endpoint=sb://sample.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=Irlo3OoRkc27T3ZoGOlbhEOqXQRXzb12+Q2hNXm0lc=", "username": "$ConnectionString" }, "type": "Kafka", "networking": { "access": { "type": "PRIVATE_LINK", "connectionId": "38972b0cbe9c2aa40a30a246" } } }'

Kafka 연결을 만들기 위한 각 인터페이스를 사용하면 Kafka 클러스터 대한 구성 매개 변수를 제공할 수 있습니다. 이러한 구성은 키-값 쌍의 형태를 취하며 다음 중 하나에 해당합니다.

  • 생산자 구성의 하위 집합

  • 소비자 구성 의 하위 집합입니다.

Atlas Stream Processing 이러한 매개변수만 Kafka 클러스터 에 전달합니다. 명시적으로 허용되지 않는 매개변수를 선언하면 Atlas Stream Processing 이를 무시합니다.

인터페이스
구성 메커니즘

Atlas CLI

구성을 --file 플래그로 지정된 .json 파일 로 제공합니다.

Atlas 관리 API

config 필드 에 지정된 .json 객체 로 구성을 제공합니다.

Atlas UI

Add Connection 페이지의 Configuration File 필드 에 구성을 제공합니다.

Atlas Stream Processing 다음 구성을 지원합니다.