다음을 통해 공유


Azure Stream Analytics를 사용하여 confluent cloud kafka에서 데이터 스트리밍

이 문서에서는 Azure Stream Analytics 작업을 입력으로 confluent cloud kafka에 직접 연결하는 방법을 설명합니다.

필수 조건

  • Confluent cloud kafka 클러스터가 있습니다.
  • 사용자 이름으로 사용할 API 키, 암호로 사용할 API 비밀 및 부트스트랩 서버 주소가 포함된 kafka 클러스터용 API 키 파일이 있습니다.
  • Azure Stream Analytics 작업이 있습니다. 빠른 시작: Azure Portal을 사용하여 Stream Analytics 작업 만들기 설명서에 따라 Azure Stream Analytics 작업을 만들 수 있습니다.
  • Confluent cloud kafka 클러스터는 방화벽 뒤에 있거나 가상 네트워크에서 보호되지 않고 공개적으로 액세스할 수 있어야 합니다.
  • Confluent cloud kafka 클러스터 토픽의 타임스탬프 유형은 LogAppendTime이어야 합니다. Confluent cloud kafka 토픽의 기본값은 CreateTime 입니다.
  • 기존 키 자격 증명 모음이 있어야 합니다. 빠른 시작: Azure Portal을 사용하여 키 자격 증명 모음 만들기 설명서에 따라 키 자격 증명 모음 리소스를 만들 수 있습니다.

관리 ID를 사용하도록 Azure Stream Analytics 구성

Azure Stream Analytics를 사용하려면 키 자격 증명 모음에 액세스하도록 관리 ID를 구성해야 합니다. 구성의 왼쪽에 있는 관리 ID 탭으로 이동하여 관리 ID 를 사용하도록 스트림 분석 작업을 구성할수 있습니다.

ASA 작업에 대한 관리 ID를 구성하는 방법을 보여 주는 스크린샷

  1. 구성에서 관리 ID 탭을 클릭합니다.
  2. ID 전환을 선택하고 작업과 함께 사용할 ID(시스템이 할당한 ID 또는 사용자가 할당한 ID)를 선택합니다.
  3. 사용자가 할당한 ID의 경우, 사용자가 할당한 ID가 있는 구독을 선택한 다음, ID 이름을 선택합니다.
  4. 검토하고 저장합니다.

LetsEncrypt에서 인증서 다운로드

Azure stream analytics는 librdkafka 기반 클라이언트이며, confluent cloud에 연결하려면 confluent cloud가 서버 인증에 사용하는 TLS 인증서가 필요합니다. Confluent cloud는 개방형 CA(인증 기관)인 Let's Encrypt의 TLS 인증서를 사용합니다.

LetsEncrypt 사이트에서 PEM 형식으로 ISRG 루트 X1 인증서를 다운로드합니다.

lets encrypt의 웹 사이트에서 다운로드할 인증서를 보여 주는 스크린샷

권한을 사용하여 키 자격 증명 모음 구성

Azure Stream Analytics는 Azure Key Vault와 원활하게 통합되어 인증 및 암호화에 필요한 저장된 비밀에 액세스합니다. Azure Stream Analytics 작업은 관리 ID를 통해 Azure Key Vault에 연결하여 보안 연결을 보장하고 비밀 반출을 방지합니다. 다운로드한 인증서를 사용하려면 먼저 키 자격 증명 모음에 업로드해야 합니다.

인증서를 업로드하려면 키 자격 증명 모음에 대한 "Key Vault 관리자" 액세스 권한이 있어야 합니다. 관리자 액세스 권한을 부여하려면 다음을 수행합니다.

참고 항목

다른 키 자격 증명 모음 권한을 부여하려면 "소유자" 권한이 있어야 합니다.

  1. 키 자격 증명 모음에서 IAM(액세스 제어)를 선택합니다.

  2. 추가>역할 할당 추가를 선택하여 역할 할당 추가 페이지를 엽니다.

  3. 다음 구성을 사용하여 역할을 할당합니다.

설정
역할 Key Vault 관리자
다음에 대한 액세스 할당 사용자, 그룹 또는 서비스 주체
멤버 <계정 정보 또는 이메일>

Azure CLI를 통해 Key Vault에 인증서를 비밀로 업로드

Important

이 명령이 제대로 작동하려면 키 자격 증명 모음에 대한 "키 자격 증명 모음 관리자" 권한 액세스가 있어야 합니다. 인증서를 비밀로 업로드해야 합니다. Azure CLI를 사용하여 인증서를 키 자격 증명 모음에 비밀로 업로드해야 합니다. 인증에 사용된 인증서가 만료되면 Azure Stream Analytics 작업이 실패합니다. 이 문제를 해결하려면 키 자격 증명 모음의 인증서를 업데이트/교체하고 Azure Stream Analytics 작업을 다시 시작해야 합니다.

PowerShell을 사용하여 Azure CLI를 구성하고 로컬로 설치했는지 확인합니다. Azure CLI 시작 페이지를 방문하여 Azure CLI 설정에 대한 지침을 얻을 수 있습니다.

Azure CLI에 로그인:

az login

키 자격 증명 모음을 포함하는 구독에 연결합니다.

az account set --subscription <subscription name>

예시:

az account set --subscription mymicrosoftsubscription

다음 명령은 인증서를 키 자격 증명 모음에 비밀로 업로드할 수 있습니다.

<your key vault>는 인증서를 업로드하려는 키 자격 증명 모음의 이름입니다. <name of the secret>은 비밀에 부여하려는 이름과 키 자격 증명 모음에 표시되는 방식입니다. <file path to certificate>는 인증서가 있는 인증서의 경로입니다. 인증서의 경로를 마우스 오른쪽 단추로 클릭하고 복사할 수 있습니다.

az keyvault secret set --vault-name <your key vault> --name <name of the secret> --file <file path to certificate>

예시:

az keyvault secret set --vault-name mykeyvault --name confluentsecret --file C:\Users\Downloads\isrgrootx1.pem

Key Vault의 인증서에 액세스할 수 있는 Stream Analytics 작업 권한 부여

Azure Stream Analytics 작업이 키 자격 증명 모음의 비밀을 읽으려면 작업에 키 자격 증명 모음에 액세스할 수 있는 권한이 있어야 합니다. 다음 단계를 사용하여 스트림 분석 작업에 특별한 권한을 부여합니다.

  1. 키 자격 증명 모음에서 IAM(액세스 제어)를 선택합니다.

  2. 추가>역할 할당 추가를 선택하여 역할 할당 추가 페이지를 엽니다.

  3. 다음 구성을 사용하여 역할을 할당합니다.

설정
역할 키 자격 증명 모음 비밀 사용자
관리 ID 시스템이 할당한 관리 ID 또는 사용자가 할당한 관리 ID를 위한 Stream Analytics 작업
멤버 <Stream Analytics 작업의 이름> 또는 <사용자가 할당한 ID의 이름>

스트림 분석 작업에서 kafka 입력 구성

Important

Kafka 클러스터를 입력으로 구성하려면 입력 토픽의 타임스탬프 유형이 LogAppendTime이어야 합니다. Azure Stream Analytics에서 지원하는 유일한 타임스탬프 유형은 LogAppendTime입니다. Azure Stream Analytics는 숫자 10진수 형식만 지원합니다.

  1. Stream Analytics 작업의 작업 토폴로지 아래에서 입력을 선택합니다.

  2. 입력 추가>Kafka를 선택하여 Kafka 새 입력 구성 블레이드를 엽니다.

  3. 다음 구성을 사용합니다.

참고 항목

SASL_SSL 및 SASL_PLAINTEXT 경우의 Azure Stream Analytics는 PLAIN SASL 메커니즘만 지원합니다.

Property name 설명
입력 별칭 쿼리에서 입력을 참조하는 데 사용되는 식별 이름
부트스트랩 서버 주소 Confluent cloud kafka 클러스터에 대한 연결을 설정하는 호스트/포트 쌍의 목록입니다. 예: pkc-56d1g.eastus.azure.confluent.cloud:9092
Kafka 토픽 Confluent cloud kafka 클러스터에 있는 kafka 토픽의 이름입니다.
보안 프로토콜 SASL_SSL을 선택합니다. 지원되는 메커니즘은 PLAIN입니다.
소비자 그룹 ID 입력이 속해야 하는 Kafka 소비자 그룹의 이름입니다. 제공되지 않으면 자동으로 할당됩니다.
이벤트 직렬화 형식 들어오는 데이터 스트림의 serialization 형식(JSON, CSV, Avro, Parquet, Protobuf)입니다.

Important

Confluent Cloud는 API 키, OAuth 또는 SAML SSO(Single Sign-On)를 사용하는 인증을 지원합니다. Azure Stream Analytics는 OAuth 또는 SAML SSO(Single Sign-On)를 사용하는 인증을 지원하지 않습니다. SASL_SSL 보안 프로토콜을 통해 토픽 수준 액세스 권한이 있는 API 키를 사용하여 confluent cloud에 연결할 수 있습니다. Confluent cloud에 인증하려면 SASL_SSL을 사용하고 API 키를 통해 confluent cloud에 인증하도록 작업을 구성해야 합니다.

다음 구성을 사용합니다.

설정
사용자 이름 Confluent cloud API 키
암호 Confluent cloud API 비밀
키 자격 증명 모음 이름 업로드된 인증서가 있는 Azure Key Vault의 이름
Truststore 인증서 ISRG 루트 X1 인증서를 보유하는 Key Vault 비밀의 이름

스트림 분석 작업에 대한 kafka 입력을 구성하는 방법을 보여 주는 스크린샷

구성 저장 및 연결 테스트

구성을 저장합니다. Azure Stream Analytics 작업은 제공된 구성을 사용하여 유효성을 검사합니다. 성공적인 연결은 스트림 분석이 kafka 클러스터에 연결할 수 있는 경우 포털에 표시됩니다.

성공적인 테스트 연결 구성 kafka 입력을 보여 주는 스크린샷

제한 사항

  • 키 자격 증명 모음에 업로드된 인증서는 PEM 형식이어야 합니다.
  • kafka의 최소 버전은 버전 0.10이어야 합니다.
  • Azure Stream Analytics는 OAuth 또는 SAML SSO(Single Sign-On)를 사용하여 confluent cloud에 대한 인증을 지원하지 않습니다. SASL_SSL 프로토콜을 통해 API 키를 사용해야 합니다.
  • Azure CLI를 사용하여 인증서를 키 자격 증명 모음에 비밀로 업로드해야 합니다. Azure Portal을 사용하여 여러 줄 비밀이 있는 인증서를 키 자격 증명 모음에 업로드할 수 없습니다.

참고 항목

Azure Stream Analytics Kafka 입력 사용에 대한 직접적인 도움말은 askasa@microsoft.com에 문의하세요.

다음 단계