Share via


Azure Stream Analytics에서 Kafka 출력(미리 보기)

Azure Stream Analytics를 사용하면 데이터를 출력하는 생산자로서 Kafka 클러스터에 직접 연결할 수 있습니다. 이 솔루션은 로우 코드이며 Microsoft의 Azure Stream Analytics 팀에서 전적으로 관리하므로 비즈니스 준수 표준을 충족할 수 있습니다. Kafka 출력은 이전 버전과 호환되며 버전 0.10부터 시작하는 최신 클라이언트 릴리스가 포함된 모든 버전을 지원합니다. 사용자는 구성에 따라 VNET 내부의 Kafka 클러스터와 공용 엔드포인트가 있는 Kafka 클러스터에 연결할 수 있습니다. 구성은 기존 Kafka 구성 규칙을 따릅니다. 지원되는 압축 형식은 None, Gzip, Snappy, LZ4 및 Zstd입니다.

단계

이 문서에서는 Azure Stream Analytics의 출력으로 Kafka를 설정하는 방법을 보여 줍니다. 다음 6단계가 있습니다.

  1. Azure Stream Analytics 작업 만들기.
  2. mTLS 또는 SASL_SSl 보안 프로토콜을 사용하는 경우 관리 ID를 사용하도록 Azure Stream Analytics 작업을 구성합니다.
  3. mTLS 또는 SASL_SSl 보안 프로토콜을 사용하는 경우 Azure Key Vault를 구성합니다.
  4. Azure Key Vault에 비밀로 인증서를 업로드합니다.
  5. 업로드된 인증서에 액세스할 수 있는 Azure Stream Analytics 권한을 부여합니다.
  6. Azure Stream Analytics 작업에서 Kafka 출력을 구성합니다.

참고 항목

Kafka 클러스터가 구성된 방법과 사용 중인 Kafka 클러스터 유형에 따라 위의 단계 중 일부는 적용되지 않을 수 있습니다. 예를 들어, Confluent 클라우드 Kafka를 사용하는 경우 Kafka 커넥터를 사용하기 위해 인증서를 업로드할 필요가 없습니다. Kafka 클러스터가 VNET(가상 네트워크) 내부 또는 방화벽 뒤에 있는 경우 프라이빗 링크 또는 전용 네트워킹 구성을 사용하여 Kafka 토픽에 액세스하도록 Azure Stream Analytics 작업을 구성해야 할 수 있습니다.

구성

다음 표에는 Kafka 출력을 만들기 위한 속성 이름 및 해당 설명이 나와 있습니다.

Property name Description
출력 별칭 쿼리에서 출력을 참조하는 데 사용되는 친숙한 이름
부트스트랩 서버 주소 Kafka 클러스터에 대한 연결을 설정하는 호스트/포트 쌍 목록.
Kafka 항목 메시지의 게시-구독 및 이벤트 기반 처리를 허용하는 명명되고 순서가 지정된 분할된 데이터 스트림.
보안 프로토콜 Kafka 클러스터에 연결하는 방법 Azure Stream Analytics는 mTLS, SASL_SSL, SASL_PLAINTEXT 또는 None을 지원합니다.
이벤트 직렬화 형식 나가는 데이터 스트림의 serialization 형식(JSON, CSV, Avro)입니다.
파티션 키 Azure Stream Analytics는 라운드 분할을 사용하여 파티션을 할당합니다.
Kafka 이벤트 압축 유형 Gzip, Snappy, Lz4, Zstd 또는 None과 같은 나가는 데이터 스트림에 사용되는 압축 형식입니다.

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

인증 및 암호화

네 가지 유형의 보안 프로토콜을 사용하여 Kafka 클러스터에 연결할 수 있습니다.

참고 항목

SASL_SSL 및 SASL_PLAINTEXT 경우 Azure Stream Analytics는 PLAIN SASL 메커니즘만 지원합니다. Azure CLI를 사용하여 인증서를 키 자격 증명 모음에 비밀로 업로드해야 합니다.

Property name 설명
mTLS 암호화 및 인증. PLAIN, SCRAM-SHA-256 및 SCRAM-SHA-512 보안 메커니즘을 지원합니다.
SASL_SSL SASL(단순 인증 및 보안 계층)과 SSL(Secure Sockets Layer)의 두 가지 보안 메커니즘을 결합하여 데이터 전송을 위해 인증과 암호화가 모두 적용되도록 합니다. SASL_SSL 프로토콜은 PLAIN, SCRAM-SHA-256 및 SCRAM-SHA-512 보안 메커니즘을 지원합니다.
SASL_PLAINTEXT 암호화 없이 사용자 이름 및 암호를 사용한 표준 인증
없음 인증 및 암호화가 없습니다.

Important

Confluent Cloud는 API 키, OAuth 또는 SAML SSO(Single Sign-On)를 사용하는 인증을 지원합니다. Azure Stream Analytics는 OAuth 또는 SAML SSO(Single Sign-On) 인증을 지원하지 않습니다. SASL_SSL 보안 프로토콜을 통해 토픽 수준 액세스가 있는 API 키를 사용하여 confluent 클라우드에 연결할 수 있습니다.

confluent Cloud kakfa에 연결하는 단계별 자습서는 다음 설명서를 참조하세요.

키 자격 증명 모음 통합

참고 항목

mTLS 또는 SASL_SSL 보안 프로토콜과 함께 트러스트 저장소 인증서를 사용하는 경우 Azure Stream Analytics 작업에 대해 Azure Key Vault 및 관리 ID가 구성되어 있어야 합니다. 키 자격 증명 모음의 네트워크 설정을 확인하여 모든 네트워크에서 공용 액세스 허용이 선택되었는지 확인합니다. 키 자격 증명 모음이 VNET에 있거나 특정 네트워크에서만 액세스를 허용한다고 가정합니다. 이 경우 키 자격 증명 모음이 포함된 VNET에 ASA 작업을 삽입하거나 ASA 작업을 VNET에 삽입한 다음 서비스 엔드포인트를 사용하여 작업이 포함된 VNET에 키 자격 증명 모음을 연결해야 합니다.

Azure Stream Analytics는 Azure Key Vault와 원활하게 통합되어 mTLS 또는 SASL_SSL 보안 프로토콜을 사용할 때 인증 및 암호화에 필요한 저장된 비밀에 액세스합니다. Azure Stream Analytics 작업은 관리 ID를 사용하여 Azure Key Vault에 연결하여 보안 연결을 보장하고 비밀 반출을 방지합니다. 인증서는 키 자격 증명 모음에 비밀로 저장되며 PEM 형식이어야 합니다.

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

설명서 빠른 시작: Azure Portal을 사용하여 키 자격 증명 모음 만들기를 따라 키 자격 증명 모음 리소스를 만들 수 있습니다. 인증서를 업로드하려면 키 자격 증명 모음에 대한 "키 자격 증명 모음 관리자" 액세스 권한이 있어야 합니다. 다음을 수행하여 관리자 액세스 권한을 부여합니다.

참고 항목

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

  1. 액세스 제어(IAM) 를 선택합니다.

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

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

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

Azure CLI를 통해 키 자격 증명 모음에 인증서 업로드

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>

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

<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 kafkasecret --file C:\Users\Downloads\certificatefile.pem

관리 ID 구성

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

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

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

키 자격 증명 모음의 인증서에 액세스할 수 있는 Stream Analytics 작업 권한 부여

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

  1. 액세스 제어(IAM) 를 선택합니다.

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

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

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

VNET 통합

Kafka가 VNET(가상 네트워크) 내부 또는 방화벽 뒤에 있는 경우 Kafka 토픽에 액세스하도록 Azure Stream Analytics 작업을 구성해야 합니다. 자세한 내용은 Azure Virtual Network 설명서에서 Azure Stream Analytics 작업 실행을 참조하세요.

제한 사항

  • VNET/SWIFT를 사용하도록 Azure Stream Analytics 작업을 구성할 때는 6개 이상의 스트리밍 단위 또는 1개의 V2 스트리밍 단위로 작업을 구성해야 합니다.
  • Azure Key Vault에서 mTLS 또는 SASL_SSL 사용하는 경우 Java 키 저장소를 PEM 형식으로 변환해야 합니다.
  • 연결할 Azure Stream Analytics를 구성할 수 있는 Kafka의 최소 버전은 버전 0.10입니다.
  • Azure Stream Analytics는 OAuth 또는 SAML SSO(Single Sign-On)를 사용하여 구성 클라우드에 대한 인증을 지원하지 않습니다. SASL_SSL 프로토콜을 통해 API 키를 사용해야 합니다.

참고 항목

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

다음 단계