Confluent Kafka에 연결

Confluent Schema Registry 연결과 함께 사용하는 Confluent Kafka에 대한 접속을 생성하여 OCI GoldenGate Big Data 배치에서 소스 또는 대상 역할을 하는 방법을 알아봅니다.

시작하기 전에

연결을 생성하기 전에 다음 사항을 확인하십시오.

소스 접속 생성

소스 Confluent Kafka 접속을 생성하려면 다음과 같이 하십시오.
  1. OCI GoldenGate 개요 페이지에서 접속을 누릅니다.
    시작 섹션 아래에서 접속 생성을 누르고 3단계로 건너뛸 수도 있습니다.
  2. Connections 페이지에서 Create Connection을 누릅니다.
  3. Create Connection 페이지에서 다음과 같이 필드에 정보를 입력합니다.
    1. 이름에 연결 이름을 입력합니다.
    2. (선택 사항) 설명에 이 연결을 다른 연결과 구분하는 데 도움이 되는 설명을 입력합니다.
    3. 컴파트먼트의 경우 접속을 생성할 컴파트먼트를 선택합니다.
    4. 유형 드롭다운에서 Confluent Kafka를 선택합니다.
    5. 부트스트랩 서버 아래:
      1. 부트스트랩 서버에 대한 HostPort 번호를 입력합니다. 호스트 이름을 서브넷에서 분석할 수 없거나 SSL/TLS를 사용하는 경우에만 프라이빗 IP를 입력합니다.

        주:

        전용 IP를 입력하면 OCI GoldenGate가 전용 IP를 ip-10-0-0-0.ociggsvc.oracle.vcn.com 형식으로 다시 씁니다.

        참고:

        프라이빗 끝점을 통과하려면 클러스터의 모든 노드에 FQDN이 있어야 합니다.
      2. (선택 사항) + 부트스트랩 서버를 눌러 다른 부트스트랩 서버를 추가합니다.
    6. 보안 프로토콜의 경우 다음 중에서 선택합니다.
      • 일반 텍스트
      • 일반 텍스트를 통해 SASL을 수행한 다음 사용자 이름 및 암호를 제공합니다.
      • SSL을 통한 SASL을 수행한 다음 필요에 따라 사용자 이름, 비밀번호, 보안 저장소 및 키 저장소 값을 제공합니다.
      • SSL을 실행한 다음 필요에 따라 보안 저장소 및 키 저장소 값을 제공합니다.
    7. 고급 옵션 표시를 확장합니다. 다음과 같은 옵션을 구성할 수 있습니다.
      • 보안
        • 이 접속에 비밀번호 암호를 사용하지 않으려는 저장소 암호 사용의 선택을 해제합니다. 선택되지 않은 경우:
          • 모든 암호화 키 관리를 Oracle에 맡기려면 Oracle 관리 암호화 키 사용을 선택합니다.
          • 고객 관리 암호화 키 사용을 선택하여 접속 인증서를 암호화하기 위해 OCI 저장소에 저장된 특정 암호화 키를 선택합니다.
      • 네트워크 접속
        • 공유 끝점 - 지정된 배치와 끝점을 공유합니다. 배치의 수신 IP에서 접속을 허용해야 합니다.
        • 전용 끝점 - VCN의 지정된 서브넷에 있는 전용 끝점을 통한 네트워크 트래픽용입니다. 이 접속의 수신 IP에서 접속을 허용해야 합니다.

          주:

          • 전용 연결이 7일 동안 할당되지 않은 상태로 유지되면 서비스가 이를 공유 연결로 변환합니다.
          • Oracle GoldenGate 연결에 대해 자세히 알아보십시오.
      • 설정Kafka에서 캡처하려면 다음 deserializers 또는 변환기 중 하나를 사용하여 Kafka Consumer 속성 파일을 생성합니다.
        • JSON deserializer에 대한 Kafka 소비자 속성:
          key.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
          value.deserializer=org.apache.kafka.common.serialization.ByteArrayDeserializer
        • JSON 변환기에 대한 Kafka 소비자 속성:
          key.converter=org.apache.kafka.connect.json.JsonConverter
          value.converter=org.apache.kafka.connect.json.JsonConverter
        • Avro 변환기를 위한 Kafka 소비자 속성:
          key.converter=io.confluent.connect.avro.AvroConverter
          value.converter=io.confluent.connect.avro.AvroConverter
      • 태그: 리소스를 구성하기 위한 태그를 추가합니다.
  4. 생성을 누릅니다.
접속이 [접속] 목록에 나타납니다. 여기서 접속을 선택하여 해당 세부정보를 볼 수 있습니다. 또한 결과 스키마 레지스트리에 대한 접속을 생성한 다음 두 접속을 모두 Big Data 배치에 지정합니다.

대상 접속 생성

Confluent Kafka 대상 접속을 생성하려면 다음과 같이 하십시오.
  1. OCI GoldenGate 개요 페이지에서 접속을 누릅니다.
    시작 섹션 아래에서 접속 생성을 누르고 3단계로 건너뛸 수도 있습니다.
  2. Connections 페이지에서 Create Connection을 누릅니다.
  3. Create Connection 페이지에서 다음과 같이 필드에 정보를 입력합니다.
    1. 이름에 연결 이름을 입력합니다.
    2. (선택 사항) 설명에 이 연결을 다른 연결과 구분하는 데 도움이 되는 설명을 입력합니다.
    3. 컴파트먼트의 경우 접속을 생성할 컴파트먼트를 선택합니다.
    4. 유형 드롭다운에서 Confluent Kafka를 선택합니다.
    5. 부트스트랩 서버 아래:
      1. 트래픽 경로 지정 방법을 선택합니다.
      2. 부트스트랩 서버에 대한 HostPort 번호를 입력합니다. 호스트 이름을 서브넷에서 분석할 수 없거나 SSL/TLS를 사용하는 경우에만 프라이빗 IP를 입력합니다.

        주:

        전용 IP를 입력하면 OCI GoldenGate가 전용 IP를 ip-10-0-0-0.ociggsvc.oracle.vcn.com 형식으로 다시 씁니다.

        참고:

        프라이빗 끝점을 통과하려면 클러스터의 모든 노드에 FQDN이 있어야 합니다.
      3. (선택 사항) + 부트스트랩 서버를 눌러 다른 부트스트랩 서버를 추가합니다.
    6. 보안 프로토콜의 경우 다음 중에서 선택합니다.
      • 일반 텍스트
      • 일반 텍스트를 통해 SASL을 수행한 다음 사용자 이름 및 암호를 제공합니다.
      • SSL을 통한 SASL을 수행한 다음 필요에 따라 사용자 이름, 비밀번호, 보안 저장소 및 키 저장소 값을 제공합니다.
      • SSL을 실행한 다음 필요에 따라 보안 저장소 및 키 저장소 값을 제공합니다.
    7. 고급 옵션 표시를 확장합니다. 다음과 같은 옵션을 구성할 수 있습니다.
      • 보안
        • 이 접속에 비밀번호 암호를 사용하지 않으려는 저장소 암호 사용의 선택을 해제합니다. 선택되지 않은 경우:
          • 모든 암호화 키 관리를 Oracle에 맡기려면 Oracle 관리 암호화 키 사용을 선택합니다.
          • 고객 관리 암호화 키 사용을 선택하여 접속 인증서를 암호화하기 위해 OCI 저장소에 저장된 특정 암호화 키를 선택합니다.
      • 네트워크 접속
        • 공유 끝점 - 지정된 배치와 끝점을 공유합니다. 배치의 수신 IP에서 접속을 허용해야 합니다.
        • 전용 끝점 - VCN의 지정된 서브넷에 있는 전용 끝점을 통한 네트워크 트래픽용입니다. 이 접속의 수신 IP에서 접속을 허용해야 합니다.

          주:

          • 전용 연결이 7일 동안 할당되지 않은 상태로 유지되면 서비스가 이를 공유 연결로 변환합니다.
          • Oracle GoldenGate 연결에 대해 자세히 알아보십시오.
      • 설정Kafka 복제에서 Snappy 압축을 사용하려면 프로듀서 속성을 끌어 놓거나 선택하고 Using Compression OCI GoldenGate (Confluent) Kafka Replication에 설명된 대로 복제 설정을 변경합니다.
      • 태그: 리소스를 구성하기 위한 태그를 추가합니다.
  4. 생성을 누릅니다.
접속이 [접속] 목록에 나타납니다. 여기서 접속을 선택하여 해당 세부정보를 볼 수 있습니다. 또한 결과 스키마 레지스트리에 대한 접속을 생성한 다음 두 접속을 모두 Big Data 배치에 지정합니다.

프라이빗 링크를 사용하여 Confluent Cloud에 대한 접속 생성

프라이빗 링크를 사용하면 가상 네트워크에 존재하는 프라이빗 끝점을 통해 타사 클라우드에서 실행 중인 Confluent Cloud 클러스터에 액세스할 수 있습니다.

연결을 생성하기 전에 다음이 있는지 확인합니다.

  • OCI(Oracle Cloud Infrastructure)와 대상 타사 클라우드 간에 프라이빗 네트워크 접속을 생성합니다.
  • Confluent Cloud에서 프라이빗 링크에 대한 네트워크 구성을 추가하는 동안 프라이빗 DNS 분석을 선택해야 합니다.
  • Confluent Cloud 및 OCI를 구성한 타사 클라우드에서 DNS 영역을 구성하고 DNS 레코드를 설정합니다. OCI에서는 VCN의 프라이빗 뷰 내에 영역을 생성할 수 있습니다. 영역 내에서 필요한 DNS 레코드를 추가할 수 있습니다.

위의 지침을 사용하여 연결을 만들 수 있지만 5단계와 6단계 대신 다음을 수행합니다.

  • 3e 단계의 경우:
    • 부트스트랩 서버 호스트 및 포트 세부정보를 제공합니다.
    • 부트스트랩 서버를 여러 개 추가할 수 있습니다.
  • 3f의 경우:
    • 보안 프로토콜의 경우 SASL over Plaintext를 선택합니다.
    • 사용자 이름과 비밀번호를 입력합니다.

Kafka 연결 오류 문제 해결

대부분의 연결 문제로 인해 TimeoutException 오류가 발생합니다. 예:

A failure occurred sending a message to Kafka to topic [ggstest] org.apache.kafka.common.errors.TimeoutException: Topic ggstest not  present in metadata after 60000/120000 ms.

Replicat 보고서 파일에 이 메시지가 나타나면 다음을 수행할 수 있습니다.

  • 대상 토픽이 있는지 확인하거나 대상 Kafka 설정 내에서 자동 토픽 생성이 사용으로 설정되었는지 확인하십시오.
  • 트래픽을 차단하는 방화벽 규칙이 없는지 확인합니다.
  • 프라이빗 끝점을 사용하여 OCI에서 Kafka를 실행하는 경우 server.properties 및 Kafka 접속에서 내부 FQDN을 부트스트랩 서버로 사용해야 합니다.
  • 프라이빗 끝점을 사용하여 Confluent Cloud에 접속하는 경우:
    • DNS 영역 및 DNS 레코드가 OCI 및 대상 타사 클라우드 모두에서 올바르게 구성되었는지 확인합니다.
    • OCI와 대상 클라우드 간의 네트워크 연결이 제대로 작동하는지 확인합니다.
    • 타사 클라우드에 연결된 동일한 서브넷에서 실행되는 OCI VM에서 OpenSSL(openssl s_client -connect <bootstrap>)를 사용하여 Confluent Cloud 대상에 접속할 수 있는지 테스트합니다.
    • 타사 클라우드에 연결된 동일한 서브넷 내에서 OCI에서 실행되는 Kafka 클라이언트의 메시지를 게시하거나 소비할 수 있는지 테스트합니다. 실패하면 OCI 및 타사 클라우드 모두에서 네트워크 설정을 확인하십시오.