일반
Azure Event Hubs 네임스페이스란?
네임스페이스는 이벤트 허브 또는 Kafka 토픽에 대한 범위 지정 컨테이너입니다. 고유한 FQDN을 제공합니다. 네임스페이스는 여러 이벤트 허브 또는 Kafka 토픽을 저장할 수 있는 애플리케이션 컨테이너로 사용됩니다.
배포 후 가격 책정 계층을 변경할 수 있나요?
아니요. 배포된 후에는 새 리소스를 배포하지 않고 예를 들어 표준 계층에서 프리미엄 계층으로 변경할 수 없습니다.
새 네임스페이스를 만드는 경우와 기존 네임스페이스를 사용하는 경우는 어떻게 다른가요?
용량 할당(TU(처리량 단위) 또는 PU(처리 단위)는 네임스페이스 수준에서 청구됩니다. 네임스페이스는 지역에도 연결되어 있습니다.
다음 시나리오 중 하나에서 기존 네임스페이스를 사용하는 대신 새 네임스페이스를 만들 수 있습니다.
- 새 지역과 연결된 이벤트 허브가 필요합니다.
- 다른 구독과 연결된 이벤트 허브가 필요합니다.
- 고유한 용량 할당이 있는 이벤트 허브가 필요합니다. 즉, 추가된 이벤트 허브가 포함된 네임스페이스의 용량 요구는 40TU 임계값을 초과하게 되므로 전용 클러스터를 사용하려고 하지 않을 것입니다.
Event Hubs 기본 및 표준 계층 간의 차이는 무엇입니까?
Azure Event Hubs의 표준 계층은 기본 계층에서 제공할 수 있는 것보다 많은 기능을 제공합니다. 다음 기능이 표준에 포함됩니다.
전용 Event Hubs를 비롯한 가격 책정 계층에 대한 자세한 내용은 Event Hubs 가격 책정 정보를 참조하세요.
어디에서 Azure Event Hubs를 사용할 수 있나요?
Azure Event Hubs는 지원되는 모든 Azure 지역에서 사용할 수 있습니다. 목록은 Azure 지역를 참조하세요.
단일 AMQP(고급 메시지 큐 프로토콜) 연결을 사용하여 여러 이벤트 허브에서 보내고 받을 수 있나요?
예, 모든 이벤트 허브가 동일한 네임스페이스에 있는 경우 가능합니다.
이벤트의 최대 보존 기간은 어떻게 되나요?
Event Hubs 표준 계층은 현재 최대 보존 기간인 7일을 지원하지만 프리미엄 및 전용 계층의 경우 이 제한은 90일입니다. Event Hubs는 영구 데이터 스토리지로 사용되지 않습니다. 24시간 이상의 보존 기간은 이벤트 스트림을 동일한 시스템으로 재생 하기에 편리한 시나리오를 위해 사용됩니다. 예를 들어, 기존 데이터에서 새 기계 학습 모델을 학습시키거나 확인하기 위해서입니다. 7일을 초과하여 메시지를 보존해야 하는 경우 Event Hubs에서 Event Hubs 캡처를 사용하도록 설정하면 Event Hubs의 데이터를 선택한 Storage 계정 또는 Azure Data Lake 서비스 계정으로 가져옵니다. 캡처를 사용하도록 설정하면 구매한 처리량 단위에 따라 요금이 부과됩니다.
스토리지 계정에서 캡처된 데이터의 보존 기간을 구성할 수 있습니다. Azure Storage의 수명 주기 관리 기능은 범용 v2 및 Blob 스토리지 계정에 대한 다양한 규칙 기반 정책을 제공합니다. 정책을 사용하여 데이터를 적절한 액세스 계층으로 전환하거나 데이터의 수명 주기 후에 만료합니다. 자세한 내용은 Azure Blob 스토리지 수명 주기 관리를 참조하세요.
내 Event Hubs를 모니터링하려면 어떻게 할까요?
Event Hubs는 Azure Monitor에 리소스 상태를 제공하는 자세한 메트릭을 내보냅니다. 또한 네임스페이스 수준뿐만 아니라 엔터티 수준에서도 Event Hubs 서비스의 전반적인 상태를 평가할 수 있습니다. Azure Event Hubs에 제공되는 모니터링에 대해 알아보세요.
Azure Event Hubs는 데이터를 어디에 저장하나요?
Azure Event Hubs 표준, 프리미엄 및 전용 계층은 Event Hubs 이름 공간을 만들 때 선택하는 지역에 게시된 데이터를 저장하고 처리합니다. 기본값으로 고객 데이터는 해당 지역 내에 유지됩니다. Azure Event Hubs 네임스페이스에 대해 지리적 재해 복구를 설정하는 경우 메타데이터가 선택한 보조 지역에 복사됩니다. 따라서 이 서비스는 보안 센터에 지정된 데이터를 요구 사항을 포함한 지역 데이터 보존 요구 사항을 자동으로 충족합니다.
이벤트를 보내고 받는 데 사용할 수 있는 프로토콜은 무엇인가요?
생산자 또는 보낸 사람이 AMQP(Advanced Messaging Queuing Protocol), Kafka 또는 HTTPS 프로토콜을 사용하여 이벤트 허브로 이벤트를 보낼 수 있습니다.
소비자 또는 수신기는 AMQP 또는 Kafka를 사용하여 이벤트 허브에서 이벤트를 받습니다. Event Hubs는 소비자가 이벤트를 수신할 수 있도록 끌어오기 모델만 지원합니다. 이벤트 처리기를 사용하여 이벤트 허브의 이벤트를 처리하는 경우에도 이벤트 프로세서는 내부적으로 끌어오기 모델을 사용하여 이벤트 허브에서 이벤트를 받습니다.
AMQP
AMQP 1.0 프로토콜을 사용하여 Azure Event Hubs에 이벤트를 보내고 받을 수 있습니다. AMQP는 이벤트를 보내고 받는 데 안정적이고 성능이 뛰어나며 안전한 통신을 제공합니다. 고성능 및 실시간 스트리밍에 사용할 수 있으며 대부분의 Azure Event Hubs SDK에서 지원됩니다.
HTTPS/REST API
HTTP POST 요청을 사용하여 Event Hubs에만 이벤트를 보낼 수 있습니다. Event Hubs는 HTTPS를 통해 이벤트 수신을 지원하지 않습니다. 직접 TCP 연결을 사용할 수 없는 경량 클라이언트에 적합합니다.
Apache Kafka
Azure Event Hubs에는 Kafka 생산자 및 소비자를 지원하는 기본 제공 Kafka 엔드포인트가 있습니다. Kafka를 사용하여 빌드된 애플리케이션은 Kafka 프로토콜(버전 1.0 이상)을 사용하여 코드 변경 없이 Event Hubs에서 이벤트를 보내고 받을 수 있습니다.
Azure SDK는 기본 통신 프로토콜을 추상화하고 C#, Java, Python, JavaScript 등의 언어를 사용하여 Event Hubs에서 이벤트를 보내고 받는 간소화된 방법을 제공합니다.
방화벽에서 열어야 하는 포트는 어느 것인가요?
Azure Event Hubs에서 다음 프로토콜을 사용하여 이벤트를 보내고 받을 수 있습니다.
- AMQP(고급 메시지 큐 프로토콜) 1.0
- 전송 계층 보안을 사용하는 Hypertext Transfer Protocol 1.1(HTTPS)
- Apache Kafka
이러한 프로토콜을 사용하여 Azure Event Hubs와 통신하기 위해 열어야 하는 아웃바운드 포트는 다음 표를 참조하세요.
프로토콜 | Ports | 세부 정보 |
---|---|---|
AMQP | 5671 및 5672 | AMQP 프로토콜 가이드를 참조하세요. |
HTTPS | 443 | 이 포트는 HTTP/REST API 및 AMQP-over-WebSockets에 사용됩니다. |
Kafka | 9093 | Kafka 애플리케이션에서 Event Hubs 사용을 참조하세요. |
클라이언트 SDK에서 수행하는 여러 관리 작업 및 Microsoft Entra ID(사용되는 경우)에서의 토큰 획득은 HTTPS를 통해 실행되므로 AMQP가 5671 포트를 통해 사용되는 경우에도 HTTPS 포트가 아웃바운드 통신에 필요합니다.
공식 Azure SDK는 일반적으로 Event Hubs에서 이벤트를 보내고 받는 데 AMQP 프로토콜을 사용합니다. AMQP-over-WebSockets 프로토콜 옵션은 HTTP API와 마찬가지로 443 TCP 포트를 통해 실행되지만, 그 밖의 기능은 일반 AMQP와 동일합니다. 이 옵션은 추가 핸드셰이크 왕복으로 인해 초기 연결 대기 시간이 더 길고, HTTPS 포트 공유에 대한 절충으로 약간 더 많은 오버헤드가 있습니다. 이 모드를 선택하는 경우 443 TCP 포트가 통신에 충분합니다. 다음 옵션을 사용하면 일반 AMQP 또는 AMQP WebSockets 모드를 선택할 수 있습니다.
언어 | 옵션 |
---|---|
.NET | EventHubsTransportType.AmqpTcp 또는 EventHubsTransportType.AmqpWebSockets가 있는 EventHubConnectionOptions.TransportType |
Java | AmqpTransportType.AMQP 또는 AmqpTransportType.AMQP_WEB_SOCKETS가 있는 com.microsoft.azure.eventhubs.EventProcessorClientBuilder.transporttype |
Node | EventHubConsumerClientOptions에는 webSocketOptions 속성이 있습니다. |
Python | TransportType.Amqp 또는 TransportType.AmqpOverWebSocket이 있는 EventHubConsumerClient.transport_type |
허용해야 하는 IP 주소는 무엇인가요?
Azure를 사용하는 경우 회사 방화벽 또는 프록시의 특정 IP 주소 범위 또는 URL에서 사용 중이거나 사용하려는 모든 Azure 서비스에 액세스하도록 허용해야 하는 경우가 있습니다. Event Hubs에서 사용하는 IP 주소에서 트래픽이 허용되는지 확인합니다. Azure Event Hubs에서 사용하는 IP 주소는 Azure IP 범위 및 서비스 태그 - 퍼블릭 클라우드를 참조하세요.
또한 네임스페이스의 IP 주소가 허용되는지 확인합니다. 연결을 허용하는 적합한 IP 주소를 찾으려면 다음 단계를 수행합니다.
명령 프롬프트에서 다음 명령을 실행합니다.
nslookup <YourNamespaceName>.servicebus.windows.net
Non-authoritative answer
에서 반환된 IP 주소를 적어 둡니다.
이전 클러스터에서 호스트되는 네임스페이스(Cloud Services 기반 - *.cloudapp.net 로 끝나는 CNAME)를 사용하고 네임스페이스가 영역 중복인 경우 몇 가지 추가 단계를 수행해야 합니다. 네임스페이스가 최신 클러스터에 있는 경우(Virtual Machine Scale Set 기반 - *.cloudapp.azure.com 끝나는 CNAME) 및 영역 중복은 아래 단계를 건너뛸 수 있습니다.
먼저 네임스페이스에서 nslookup을 실행합니다.
nslookup <yournamespace>.servicebus.windows.net
신뢰할 수 없는 응답 섹션에서 다음 형식 중 하나로 표시되는 이름을 적어 둡니다.
<name>-s1.cloudapp.net <name>-s2.cloudapp.net <name>-s3.cloudapp.net
접미사 s1, s2 및 s3를 포함하는 각 이름에 대해 nslookup을 실행하여 세 개의 가용성 영역에서 실행되는 세 인스턴스의 IP 주소를 모두 가져옵니다.
참고 항목
nslookup
명령에서 반환된 IP 주소는 고정 IP 주소가 아닙니다. 그러나 이 주소는 기본 배포가 삭제되거나 다른 클러스터로 이동될 때까지 일정하게 유지됩니다.
내 네임스페이스에 이벤트를 보내거나 받는 클라이언트 IP는 무엇인가요?
먼저 네임스페이스에서 IP 필터링을 사용하도록 설정합니다.
그런 다음, 진단 로그 사용의 지침에 따라 진단 로그를 Event Hubs 가상 네트워크 연결 이벤트에 사용하도록 설정합니다. 연결이 거부된 IP 주소가 표시됩니다.
{
"SubscriptionId": "0000000-0000-0000-0000-000000000000",
"NamespaceName": "namespace-name",
"IPAddress": "1.2.3.4",
"Action": "Deny Connection",
"Reason": "IPAddress doesn't belong to a subnet with Service Endpoint enabled.",
"Count": "65",
"ResourceId": "/subscriptions/0000000-0000-0000-0000-000000000000/resourcegroups/testrg/providers/microsoft.eventhub/namespaces/namespace-name",
"Category": "EventHubVNetConnectionEvent"
}
Important
가상 네트워크 로그는 네임스페이스에서 특정 IP 주소(IP 필터 규칙)의 액세스를 허용하는 경우에만 생성됩니다. 이러한 기능을 사용하여 네임스페이스에 대한 액세스를 제한하지 않고 Event Hubs 네임스페이스에 연결하는 클라이언트의 IP 주소를 추적하기 위해 가상 네트워크 로그를 계속 가져오려는 경우 IP 필터링을 사용하도록 설정하고 총 주소 지정 가능한 IPv4 범위(0.0.0.0/1
- 128.0.0.0/1
) 및 IPv6 범위(::/1
- 8000::/1
)를 추가하여 해결합니다.
참고 항목
현재 개별 메시지 또는 이벤트의 원본 IP는 확인할 수 없습니다.
Apache Kafka 통합
기존 Kafka 애플리케이션을 Event Hubs와 통합하려면 어떻게 할까요?
Event Hubs는 기존 Apache Kafka 기반 애플리케이션에서 사용할 수 있는 Kafka 엔트포인트를 제공합니다. PaaS Kafka 환경을 갖추려면 구성만 변경하면 됩니다. 이 구성은 사용자 고유의 Kafka 클러스터를 실행하기 위한 대안을 제공합니다. Event Hubs는 Apache Kafka 1.0 및 최신 클라이언트 버전을 지원하고, 기존 Kafka 애플리케이션, 도구 및 프레임워크와 작동합니다. 자세한 내용은 Kafka용 Event Hubs 리포지토리를 참조하세요.
기존 애플리케이션에서 Event Hubs와 통신하려면 어떤 구성을 변경해야 하나요?
이벤트 허브에 연결하려면 Kafka 클라이언트 구성을 업데이트해야 합니다. 이렇게 하려면 Event Hubs 네임스페이스를 만들고 연결 문자열을 가져오면 됩니다. Event Hubs FQDN과 포트에서 9093을 가리키도록 bootstrap.servers를 변경합니다. 아래와 같이 올바른 인증으로 Kafka 클라이언트를 Event Hubs 엔드포인트(가져온 연결 문자열)에 연결하도록 sasl.jaas.config를 업데이트합니다.
bootstrap.servers={YOUR.EVENTHUBS.FQDN}:9093
request.timeout.ms=60000
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";
예제:
bootstrap.servers=dummynamespace.servicebus.windows.net:9093
request.timeout.ms=60000
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="Endpoint=sb://dummynamespace.servicebus.windows.net/;SharedAccessKeyName=DummyAccessKeyName;SharedAccessKey=XXXXXXXXXXXXXXXXXXXXX";
참고 항목
sasl.jaas.config가 프레임워크에서 지원되는 구성이 아닌 경우 SASL 사용자 이름과 암호를 설정하는 데 사용되는 구성을 찾아 대신 사용하세요. 사용자 이름은 $ConnectionString으로 설정하고, 암호는 Event Hubs 연결 문자열로 설정합니다.
Event Hubs의 메시지/이벤트 크기는 어떻게 되나요?
Event Hubs에 허용되는 최대 메시지 크기는 1MB입니다.
처리량 단위
Event Hubs 처리량 단위는 무엇입니까? (표준 계층)
Event Hubs의 처리량은 Event Hubs를 통해 들어오고 나가는 1KB 이벤트의 데이터 양(메가바이트 단위) 또는 수(1,000개 단위)를 정의합니다. 이 처리량은 TU(처리량 단위)로 측정됩니다. Event Hubs 서비스를 사용하려면 먼저 TU를 구입해야 합니다. 포털 또는 Event Hubs Resource Manager 템플릿을 사용하여 Event Hubs TU를 명시적으로 선택할 수 있습니다.
처리량 단위는 네임스페이스의 모든 이벤트 허브에 적용되나요?
예, TU(처리량 단위)는 Event Hubs 네임스페이스의 모든 이벤트 허브에 적용됩니다. 즉, 네임스페이스 수준에서 TU를 구입하고, 해당 네임스페이스에 속한 이벤트 허브 간에 공유됩니다. 각 TU에서 네임스페이스에 제공하는 기능은 다음과 같습니다.
- 초당 최대 1MB의 수신 이벤트(이벤트 허브로 전송된 이벤트), 단 초당 1,000개 이하의 수신 이벤트, 관리 작업 또는 제어 API 호출
- 초당 최대 2MB의 송신 이벤트(이벤트 허브에서 사용된 이벤트), 단 4096개를 초과하지 않는 송신 이벤트.
- 최대 84GB의 이벤트 스토리지(기본 1시간 보존 기간에 충분)
처리량 단위는 어떻게 청구되나요?
TU(처리량 단위)는 시간 단위로 청구됩니다. 청구는 지정된 시간 동안 선택한 최대 단위 수를 기준으로 합니다.
내 처리량 단위에서 사용량을 최적화하려면 어떻게 해야 하나요?
1TU(처리량 단위)와 같이 낮은 단위에서 시작하고 자동 팽창을 설정하면 됩니다. 자동 팽창 기능을 사용하면 트래픽/페이로드가 증가함에 따라 TU를 늘릴 수 있습니다. 또한 TU 수에 대한 상한값도 설정할 수 있습니다.
Event Hubs의 자동 팽창 기능은 어떻게 작동하나요?
자동 팽창 기능을 사용하여 TU(처리량 단위)를 강화할 수 있습니다. 즉, 낮은 TU를 구입하고 수신이 증가함에 따라 자동 팽창을 통해 TU를 강화할 수 있습니다. 비용 효율적인 옵션과 관리할 TU 수에 대한 완벽한 제어를 제공합니다. 이 기능은 강화 전용 기능이며, TU 수를 업데이트하여 규모 축소를 완전히 제어할 수 있습니다.
예를 들어 2TU와 같이 낮은 TU(처리량 단위)로 시작하는 것이 좋습니다. 트래픽이 15TU까지 증가할 수 있다고 예상하는 경우 네임스페이스에서 자동 팽창 기능을 설정하고 최대 제한을 15TU로 설정합니다. 이제 트래픽이 증가함에 따라 TU를 자동으로 늘릴 수 있습니다.
자동 팽창 기능을 설정하면 관련 비용이 발생하나요?
이 기능과 관련된 비용은 없습니다.
기존 Event Hub 네임스페이스에 대해 영역 중복을 사용하도록 설정할 수 있나요?
현재는 이전 Event Hub 네임스페이스가 서로 다른 클러스터에 있고 새 이벤트 허브 네임스페이스를 만들 때 영역 중복성을 자동으로 사용하도록 설정하는 새 클러스터로 마이그레이션할 방법이 없기 때문에 이는 불가능합니다.
처리량 제한은 어떻게 적용되나요?
전체 수신 처리량 또는 네임스페이스 내 모든 이벤트 허브에서의 전체 수신 이벤트 비율이 집계 처리량 단위 허용 한도를 초과하면, 발신자가 제한되고 수신 할당량을 초과했음을 나타내는 오류가 표시됩니다.
전체 수신 처리량 또는 네임스페이스의 모든 Event Hubs에서의 전체 수신 이벤트 비율이 집계 처리량 단위 허용 한도를 초과하면, 받는 사람이 제한되지만 제한 오류는 생성되지 않습니다.
수신 및 송신 할당량은 별도로 적용되므로 발신자가 이벤트 사용 속도를 저하시키지 않으며 수신자가 이벤트 허브로의 이벤트 전송을 차단하지도 않습니다.
예약/선택할 수 있는 처리량 단위 수에 제한이 있나요?
Azure Portal에서 기본 또는 표준 계층 네임스페이스를 만들 때 네임스페이스에 최대 40TU를 선택할 수 있습니다. 40TU를 초과하는 Event Hubs는 Event Hubs Premium 및 Event Hubs Dedicated 클러스터와 같은 리소스/용량 기반 모델을 제공합니다. 자세한 내용은 Event Hubs Premium - 개요 및 Event Hubs Dedicated - 개요를 참조하세요.
Dedicated 클러스터
전용 클러스터란?
Event Hubs Dedicated 클러스터는 요구 사항이 가장 까다로운 고객을 위한 단일 테넌트 배포를 제공합니다. 이 제안은 처리량 단위로 구속되지 않는 용량 기반 클러스터를 구축합니다. 즉, 클러스터를 사용하여 클러스터의 메모리 사용량 및 CPU에 따라 데이터를 수집하고 스트림할 수 있습니다. 자세한 내용은 Event Hubs Dedicated 클러스터를 참조하세요.
Event Hubs Dedicated 클러스터를 만들려면 어떻게 할까요?
Event Hubs 전용 클러스터를 설정하는 방법에 대한 단계별 지침과 자세한 내용은 빠른 시작: Azure Portal을 사용하여 전용 Event Hubs 클러스터 만들기를 참조하세요.
클러스터로 무엇을 수행할 수 있나요?
Event Hubs 클러스터의 경우 수집하고 스트리밍할 수 있는 양은 제작자, 소비자, 수집 및 처리 속도 등의 요소에 따라 달라집니다.
다음 표에는 레거시 Dedicated 클러스터를 테스트하는 동안 달성한 벤치마크 결과가 나와 있습니다.
페이로드 셰이프 | 수신자 | 수신 대역폭 | 수신 메시지 | 송신 대역폭 | 송신 메시지 | 총 TU | CU당 TU |
---|---|---|---|---|---|---|---|
100x1KB의 일괄 처리 | 2 | 400MB/초 | 초당 400k 메시지 | 800MB/초 | 초당 800k 메시지 | 400TU | 100TU |
10x10KB의 일괄 처리 | 2 | 666MB/초 | 초당 66.6k 메시지 | 1.33GB/초 | 초당 133k 메시지 | 666TU | 166TU |
6x32KB의 일괄 처리 | 1 | 1.05GB/초 | 초당 34k 메시지 | 1.05GB/초 | 초당 34k 메시지 | 1,000TU | 250TU |
테스트에 사용된 조건은 다음과 같습니다.
- 4개의 CU가 있는 전용 계층 Event Hubs 클러스터가 사용되었습니다.
- 수집에 사용된 이벤트 허브에는 200개의 파티션이 있었습니다.
- 데이터는 모든 파티션으로부터 받는 두 개의 수신기 애플리케이션에서 수집되었습니다.
클러스터를 스케일 업하거나 스케일 다운할 수 있나요?
스케일링 지원 옵션을 설정하여 클러스터를 만든 경우 셀프 서비스 환경을 사용하여 필요에 따라 스케일 아웃 및 스케일 인할 수 있습니다. 확장성 있는 셀프 서비스 클러스터를 사용하여 최대 10개의 CU를 확장할 수 있습니다. 셀프 서비스 크기 조정 가능 전용 클러스터는 새로운 인프라를 기반으로 하므로 셀프 서비스 크기 조정을 지원하지 않는 전용 클러스터보다 성능이 더 뛰어납니다. 전용 클러스터의 성능은 리소스 할당, 파티션 수, 스토리지와 같은 요소에 따라 달라집니다. 실제 워크로드로 테스트한 후 필요한 CU 수를 결정하는 것이 좋습니다.
다음 시나리오에서 지원 요청을 제출하여 전용 클러스터를 스케일 아웃 또는 스케일 인할 수 있습니다.
- 확장성 있는 셀프 서비스 전용 클러스터(크기 조정 지원 옵션 집합으로 만든 클러스터)에는 10개가 넘는 CU가 필요합니다.
- 크기 조정 지원 옵션을 선택하지 않고 만든 클러스터를 스케일 아웃 또는 스케일 인해야 합니다.
- 셀프 서비스 환경이 릴리스되기 전에 만들어진 전용 클러스터를 스케일 아웃 또는 스케일 인해야 합니다.
Warning
클러스터를 만든 후 최소 4시간 동안은 클러스터를 삭제할 수 없습니다. 클러스터를 최소 4시간 사용한 것에 대한 요금이 부과됩니다. 가격 책정에 대한 자세한 내용은 Event Hubs 가격 책정을 참조하세요.
레거시 클러스터에서 셀프 서비스 스케일링 가능 클러스터로 마이그레이션할 수 있나요?
기본 하드웨어 및 소프트웨어 인프라의 차이로 인해 현재 셀프 서비스 스케일링을 지원하지 않는 클러스터를 셀프 서비스 스케일링 가능 Dedicated 클러스터로 마이그레이션하는 것을 지원하지 않습니다. 셀프 서비스 크기 조정을 사용하려면 클러스터를 다시 만들어야 합니다. 확장성 있는 클러스터를 만드는 방법을 알아보려면 Event Hubs 전용 클러스터 만들기를 참조하세요.
전용 클러스터를 언제 크기 조정해야 하나요?
CPU 사용량은 전용 클러스터의 리소스 사용량을 나타내는 핵심 지표입니다. 전체 CPU 사용량이 70%에 도달하기 시작하면(서버 오류 수가 많거나 성공한 요청 수가 적은 것과 같은 비정상적인 상황이 관찰되지 않는 경우), 클러스터가 최대 용량으로 이동하고 있다는 의미입니다. 이 정보를 표시기로 활용하여 전용 클러스터를 스케일 업해야 하는지 여부를 고려할 수 있습니다.
전용 클러스터의 CPU 사용량을 모니터링하려면 다음 단계를 따릅니다.
Event Hubs Dedicated 클러스터의 메트릭 페이지에서 메트릭 추가를 선택합니다.
CPU를 메트릭으로 선택하고 최대를 집계로 사용합니다.
필터 추가를 선택하고 속성 형식 역할에 대한 필터를 추가합니다. 등호 연산자를 사용하고 드롭다운 목록에서 모든 값(백 엔드 및 게이트웨이)을 선택합니다.
그런 다음, 이 메트릭을 모니터링하여 전용 클러스터의 크기를 조정해야 하는 시기를 결정할 수 있습니다. 또한 이 메트릭에 대해 경고를 설정하여 CPU 사용량이 설정한 임계값에 도달할 때 알림을 받을 수 있습니다.
클러스터에서 지리적 재해 복구가 어떻게 작동하나요?
전용 계층 클러스터 아래의 네임스페이스를 전용 계층 클러스터 아래의 다른 네임스페이스와 지리적으로 페어링할 수 있습니다. 처리량 제한이 호환되지 않아 오류가 발생하므로 전용 계층 네임스페이스를 표준 제품의 네임스페이스와 페어링하지 않는 것이 좋습니다.
내 표준 또는 프리미엄 네임스페이스를 전용 계층 클러스터로 마이그레이션할 수 있나요?
현재 표준 또는 프리미엄 네임스페이스에서 전용 네임스페이스로 Event Hubs 데이터를 마이그레이션하기 위한 자동화된 마이그레이션 프로세스를 지원하지 않습니다.
레거시 영역 중복 전용 클러스터에 최소 8개의 CU가 있는 이유는 무엇인가요?
전용 제품에 대한 영역 중복을 제공하기 위해 모든 컴퓨팅 리소스는 동일한 지역의 3개 데이터 센터에 3개 복제본이 있어야 합니다. 이 최소 요구 사항은 영역 중복(두 개의 영역이나 데이터 센터가 다운되어도 서비스는 계속 작동할 수 있음)을 지원하며 8CU에 해당하는 컴퓨팅 용량을 제공합니다.
이 할당량은 변경할 수 없습니다. 이는 전용 계층의 현재 아키텍처에 대한 제한입니다.
파티션
얼마나 많은 파티션이 필요한가요?
파티션은 데이터를 병렬 방식으로 게시하고 사용할 수 있는 데이터 구성 메커니즘입니다. 최적의 규모를 달성하려면 크기 조정 단위(표준 계층의 처리량 단위, 프리미엄 계층의 처리 단위 또는 전용 계층의 용량 단위)와 파티션의 균형을 맞추는 것이 좋습니다. 일반적으로 파티션당 최대 처리량은 1MB/s를 권장합니다. 따라서 파티션 수를 계산하는 방법은 최대 예상 처리량을 1MB/s로 나누는 것입니다. 예를 들어, 사용 사례에 20MB/s가 필요한 경우 최적의 처리량을 달성하려면 최소 20개 이상의 파티션을 선택하는 것이 좋습니다.
그러나 애플리케이션이 특정 파티션에 대한 선호도를 갖는 모델이 있는 경우 파티션 수를 늘리는 것은 유익하지 않습니다. 자세한 내용은 가용성 및 일관성을 참조하세요.
Event Hubs의 표준 계층에서 파티션 수를 늘릴 수 있나요?
아니요, 불가능합니다. 표준 계층에서는 파티션을 변경할 수 없습니다. 파티션의 동적 추가는 Event Hubs의 프리미엄 및 전용 계층에서만 사용할 수 있습니다.
가격 책정
추가 가격 책정 정보는 어디에서 찾을 수 있나요?
Event Hubs 가격 책정에 대한 전체 내용은 Event Hubs 가격 책정 정보를 참조하세요.
24시간 이상 Event Hubs 이벤트를 유지 하려면 비용이 청구됩니까?
Event Hubs 표준 계층은 최대 7일 동안 24시간을 초과하는 메시지 보존 기간을 허용합니다. File Storage에 대한 자세한 내용은 파일 서비스 REST API를 참조하세요. 처리량 단위가 최대 수신 허용 한도까지 사용되었더라도 각 처리량 단위의 스토리지 허용 한도는 24시간 동안의 보존 기간에 대한 모든 스토리지 비용이 포함됩니다.
Event Hubs 스토리지 크기가 계산 및 청구되는 방법
모든 이벤트 허브의 디스크 스토리지 구조 또는 이벤트 헤더의 내부 오버헤드를 포함하여, 저장된 모든 이벤트의 전체 크기가 하루 종일 측정됩니다. 하루가 끝날 때 최고 스토리지 크기가 계산됩니다. 일별 스토리지 허용량은 하루 동안 선택된 처리량 단위의 최소 수를 기준으로 계산됩니다. 각 처리량 단위는 84GB의 허용량을 제공합니다. 총 크기가 계산된 일일 스토리지 허용 한도를 초과하면, 초과 스토리지는 Azure Blob Storage 가격을 사용하여 청구됩니다( 로컬 중복 스토리지 속도로).
수신 이벤트는 어떻게 계산됩니까?
이벤트 허브에 전송된 각 이벤트는 청구 가능한 메시지로 계산됩니다. 수신 이벤트 는 64KB보다 작은 데이터 단위로 정의됩니다. 크기가 64KB 이하인 모든 이벤트는 하나의 청구 가능한 이벤트로 간주됩니다. 이벤트가 64KB보다 큰 경우 64KB의 배수로 이벤트 크기에 따라 청구 가능한 이벤트 수가 계산됩니다. 예를 들어 이벤트 허브에 전송된 8KB 이벤트는 하나의 이벤트로 청구되지만, 이벤트 허브에 전송된 96KB 메시지는 두 개의 이벤트로 청구됩니다.
이벤트 허브에서 사용된 이벤트와 검사점 등의 제어 호출 및 관리 작업은 청구 가능한 수신 이벤트로 계산되지 않고 처리량 단위 허용 한도까지 누적됩니다.
조정된 연결 요금이 Event Hubs에 적용됩니까?
AMQP 프로토콜을 사용하는 경우에 연결 요금이 적용됩니다. 시스템 또는 디바이스 수에 관계 없이 HTTP를 사용하여 이벤트를 보내는 데에는 연결 요금이 부과되지 않습니다. AMQP를 사용하려는 경우(예: 보다 효율적인 이벤트 스트리밍을 달성하거나 IoT 명령 및 제어 시나리오에서 양방향 통신 설정), 각 서비스 계층에 포함된 연결 수에 대한 자세한 내용은 Event Hubs 가격 책정 정보 페이지를 참조하세요.
Event Hubs 캡처는 어떻게 청구되나요?
캡처는 네임스페이스에 캡처 옵션이 설정된 이벤트 허브가 하나라도 있을 경우 사용됩니다. Event Hubs 캡처는 구매한 처리량 단위를 기준으로 매월 청구됩니다. 처리량 단위 수가 증가하거나 감소하면 Event Hubs 캡처 청구 시 전체 증가 시간에 이러한 변경 내용이 반영됩니다. Event Hubs 캡처 청구에 대한 자세한 내용은 Event Hubs 가격 정보를 참조하세요.
Event Hubs 캡처에 대해 선택한 스토리지 계정에 요금이 청구되나요?
이벤트 허브에서 설정된 경우 캡처는 사용자가 제공한 스토리지 계정을 사용합니다. 사용자의 스토리지 계정이므로 이 구성에 대한 모든 변경은 사용자의 Azure 구독에 청구됩니다.
할당량
Event Hubs와 관련된 할당량이 있나요?
Event Hubs 할당량의 목록은 할당량을 참조하세요.
문제 해결
네임스페이스를 다른 구독에서 삭제한 후 만들 수 없는 이유는 무엇인가요?
구독에서 네임스페이스를 삭제한 후에 다른 구독에서 동일한 이름으로 다시 만들려면 4시간 정도 기다려야 합니다. 그렇지 않으면 다음 오류 메시지가 표시될 수 있습니다. Namespace already exists
Event Hubs에 의해 생성된 일부 예외 및 해당 제안된 작업은 무엇인가요?
가능한 Event Hubs 예외의 목록은 예외 개요를 참조하세요.
진단 로그
Event Hubs는 두 가지 유형의 진단 로그인 캡처 오류 로그와 작업 로그를 지원합니다. 두 로그 모두 json으로 표시되며 Azure Portal을 통해 설정할 수 있습니다.
지원 및 SLA
Event Hubs에 대한 기술 지원은 Azure Service Bus에 대한 Microsoft Q&A 질문 페이지를 통해 사용할 수 있습니다. 청구 및 구독 관리 지원은 무료로 제공됩니다.
SLA에 대한 자세한 내용에 대해 알아보려면 서비스 수준 계약 페이지를 참조하세요.
Azure Stack Hub
Azure Blob Storage를 검사점 저장소로 사용할 때 특정 버전의 Azure Storage SDK를 대상으로 지정하려면 어떻게 해야 하나요?
Azure Stack Hub에서 이 코드를 실행하는 경우 특정 Storage API 버전을 대상으로 하지 않는 한 런타임 오류가 발생합니다. 이는 Event Hubs SDK가 Azure Stack Hub 플랫폼에서는 사용할 수 없는 Azure에서 사용 가능한 최신 Azure Storage API를 사용하기 때문입니다. Azure Stack Hub는 Azure에서 일반적으로 사용할 수 있는 것과 다른 버전의 Storage Blob SDK를 지원할 수도 있습니다. Azure Blog Storage를 검사점 저장소로 사용하는 경우 Azure Stack Hub 빌드에 지원되는 Azure Storage API 버전을 확인하고 코드에서 해당 버전을 대상으로 지정합니다.
예를 들어 Azure Stack Hub 버전 2005에서 실행 중인 경우 스토리지 서비스에 사용할 수 있는 최상위 버전은 2019-02-02입니다. 기본적으로 Event Hubs SDK 클라이언트 라이브러리는 Azure에서 사용 가능한 가장 높은 버전을 사용합니다(SDK 릴리스 당시 2019-07-07). 이 경우 이 섹션의 다음 단계를 수행할 뿐만 아니라 스토리지 서비스 API 버전 2019-02-02를 대상으로 하는 코드도 추가해야 합니다. 특정 Storage API 버전을 대상으로 지정하는 방법에 대한 예제는 C#, Java, Python 및 JavaScript/TypeScript에 대한 다음 샘플을 참조하세요.
코드에서 특정 Storage API 버전을 대상으로 지정하는 방법에 대한 예제는 GitHub의 다음 샘플을 참조하세요.
- .NET
- Java
- Python - 동기, 비동기
- JavaScript 및 TypeScript