Azure Stream Analytics에서 confluent cloud로 데이터 스트리밍
이 문서에서는 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 클러스터는 방화벽 뒤에 있거나 가상 네트워크에서 보호되지 않고 공개적으로 액세스할 수 있어야 합니다.
- 기존 키 자격 증명 모음이 있어야 합니다. 빠른 시작: Azure Portal을 사용하여 키 자격 증명 모음 만들기 설명서에 따라 키 자격 증명 모음 리소스를 만들 수 있습니다.
관리 ID를 사용하도록 Azure Stream Analytics 구성
Azure Stream Analytics를 사용하려면 키 자격 증명 모음에 액세스하도록 관리 ID를 구성해야 합니다. 구성의 왼쪽에 있는 관리 ID 탭으로 이동하여 관리 ID를 사용하도록 ASA 작업을 구성할 수 있습니다.
- 구성에서 관리 ID 탭을 클릭합니다.
- ID 전환을 선택하고 작업과 함께 사용할 ID(시스템이 할당한 ID 또는 사용자가 할당한 ID)를 선택합니다.
- 사용자가 할당한 ID의 경우, 사용자가 할당한 ID가 있는 구독을 선택한 다음, ID 이름을 선택합니다.
- 검토하고 저장합니다.
LetsEncrypt에서 인증서 다운로드
Stream analytics kafka 출력은 librdkafka 기반 클라이언트입니다. 출력이 confluent cloud에 연결하려면 confluent cloud가 서버 인증에 사용하는 TLS 인증서가 필요합니다. Confluent cloud는 개방형 CA(인증 기관)인 Let's Encrypt의 TLS 인증서를 사용합니다.
LetsEncrypt 사이트에서 PEM 형식으로 ISRG 루트 X1 인증서를 다운로드합니다.
권한을 사용하여 키 자격 증명 모음 구성
Azure Stream Analytics는 Azure Key Vault와 원활하게 통합되어 mTLS 또는 SASL_SSL 보안 프로토콜을 사용할 때 인증 및 암호화에 필요한 저장된 비밀에 액세스합니다. Azure Stream Analytics 작업은 관리 ID를 통해 Azure Key Vault에 연결하여 보안 연결을 보장하고 비밀 반출을 방지합니다. 다운로드한 인증서를 사용하려면 먼저 키 자격 증명 모음에 업로드해야 합니다.
인증서를 업로드하려면 키 자격 증명 모음에 대한 "Key Vault 관리자" 액세스 권한이 있어야 합니다. 관리자 액세스 권한을 부여하려면 다음을 수행합니다.
참고 항목
다른 키 자격 증명 모음 권한을 부여하려면 "소유자" 권한이 있어야 합니다.
키 자격 증명 모음에서 IAM(액세스 제어)를 선택합니다.
추가>역할 할당 추가를 선택하여 역할 할당 추가 페이지를 엽니다.
다음 구성을 사용하여 역할을 할당합니다.
설정 | 값 |
---|---|
역할 | 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 작업이 키 자격 증명 모음의 비밀을 읽으려면 작업에 키 자격 증명 모음에 액세스할 수 있는 권한이 있어야 합니다. 다음 단계를 사용하여 스트림 분석 작업에 특별한 권한을 부여합니다.
키 자격 증명 모음에서 IAM(액세스 제어)를 선택합니다.
추가>역할 할당 추가를 선택하여 역할 할당 추가 페이지를 엽니다.
다음 구성을 사용하여 역할을 할당합니다.
설정 | 값 |
---|---|
역할 | 키 자격 증명 모음 비밀 사용자 |
관리 ID | 시스템이 할당한 관리 ID 또는 사용자가 할당한 관리 ID를 위한 Stream Analytics 작업 |
멤버 | <Stream Analytics 작업의 이름> 또는 <사용자가 할당한 ID의 이름> |
스트림 분석 작업에서 kafka 출력 구성
Stream Analytics 작업의 작업 토폴로지에서 출력을 선택합니다.
출력 추가>Kafka를 선택하여 Kafka 새 출력 구성 블레이드를 엽니다.
다음 구성을 사용합니다.
참고 항목
SASL_SSL 및 SASL_PLAINTEXT 경우의 Azure Stream Analytics는 PLAIN SASL 메커니즘만 지원합니다.
Property name | Description |
---|---|
출력 별칭 | 쿼리에서 입력을 참조하는 데 사용되는 식별 이름 |
부트스트랩 서버 주소 | Confluent cloud kafka 클러스터에 대한 연결을 설정하는 호스트/포트 쌍의 목록입니다. 예: pkc-56d1g.eastus.azure.confluent.cloud:9092 |
Kafka 토픽 | Confluent cloud kafka 클러스터에 있는 kafka 토픽의 이름입니다. |
보안 프로토콜 | SASL_SSL을 선택합니다. 지원되는 메커니즘은 PLAIN입니다. |
이벤트 직렬화 형식 | 들어오는 데이터 스트림의 serialization 형식(JSON, CSV, Avro, Parquet, Protobuf)입니다. |
파티션 키 | Azure Stream Analytics는 라운드 분할을 사용하여 파티션을 할당합니다. 키가 입력을 분할하지 않는 경우 비워 두기 |
Kafka 이벤트 압축 유형 | Gzip, Snappy, Lz4, Zstd 또는 None과 같은 나가는 데이터 스트림에 사용되는 압축 형식입니다. |
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 인증서를 보유하는 키 자격 증명 모음 비밀의 이름 |
구성 저장 및 연결 테스트
구성을 저장합니다. Azure Stream Analytics 작업은 제공된 구성을 사용하여 유효성을 검사합니다. Stream Analytics가 kafka 클러스터에 연결할 수 있는 경우 성공적인 테스트 연결이 포털에 표시됩니다.
제한 사항
- 키 자격 증명 모음에 업로드하는 인증서는 PEM 형식이어야 합니다.
- kafka의 최소 버전은 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에 문의하세요.