IoT Hub 할당량 및 제한

이 문서에서는 IoT Hub에 대한 할당량을 설명하고 제한이 작동하는 방식을 이해하는 데 도움이 되는 정보를 제공합니다.

할당량 및 제한

각 Azure 구독은 IoT Hub 최대 50개와 무료 허브 최대 1개를 가질 수 있습니다.

각 IoT 허브는 특정 계층에서 특정한 단위 수로 프로비전됩니다. 계층과 단위 수는 보낼 수 있는 메시지의 최대 일일 할당량을 결정합니다. 일일 할당량을 계산하는 데 사용되는 메시지 크기는 무료 계층 허브의 경우 0.5KB이며 기타 모든 계층의 경우 4KB입니다. 자세한 내용은 Azure IoT Hub 가격을 참조하세요.

또한 계층은 IoT Hub가 모든 작업에 강제로 적용하는 조정 제한을 결정합니다.

작업 제한

작업 제한은 분 범위에 적용하고 남용을 방지하고자 하는 속도 제한입니다. 또한 트래픽 셰이핑의 영향을 받습니다.

다음 표에서는 적용된 제한을 보여 줍니다. 값은 개별 허브라고 합니다.

제한 무료, B1 및 S1 B2 및 S2 B3 및 S3
ID 레지스트리 작업(만들기, 검색, 나열, 업데이트, 삭제) 1.67/초/단위(100/분/단위) 1.67/초/단위(100/분/단위) 83.33/초/단위(5,000/분/단위)
새 디바이스 연결(이 제한은 총 연결 수가 아닌 ‘새 연결’의 속도에 적용됨) 100/초 또는 12/초/단위 이상
예를 들어 두 개의 S1 단위는 2*12=24 새 연결/초이지만 단위에는 100개 이상의 새 연결/초가 있습니다. S1 단위가 9개인 경우 단위 전체에 대한 값은 108 새 연결/초(9*12)입니다.
120 새 연결/초/단위 6,000 새 연결/초/단위
디바이스->클라우드 보내기 100 전송 작업/초 또는 12 전송 작업/초/단위 이상
예를 들어 S1 단위가 2개인 경우 2*12 = 초당 24개에 해당합니다. 하지만 단위 전체의 전송 작업 수는 초당 100개 이상이어야 합니다. S1 단위가 9개인 경우 단위 전체에 대한 값은 108 전송 작업/초(9*12)입니다.
120 전송 작업/초/단위 6,000 전송 작업/초/단위
클라우드-디바이스 보내기1 1.67 전송 작업/초/단위(100 메시지/분/단위) 1.67 전송 작업/초/단위(100 전송 작업/분/단위) 83.33 전송 작업/초/단위(5,000 전송 작업/분/단위)
클라우드-디바이스 받기1
(디바이스에서 HTTPS를 사용하는 경우에만)
16.67 수신 작업/초/단위(1,000 수신 작업/분/단위) 16.67 수신 작업/초/단위(1,000 수신 작업/분/단위) 833.33 수신 작업/초/단위(50,000 수신 작업/분/단위)
파일 업로드 1.67 파일 업로드 시작/초/단위(100/분/단위) 1.67 파일 업로드 시작/초/단위(100/분/단위) 83.33 파일 업로드 시작/초/단위(5,000/분/단위)
직접 메서드1 160KB/sec/unit2 480KB/sec/unit2 24MB/sec/unit2
쿼리 20/분/단위 20/분/단위 1,000/분/단위
쌍(디바이스 및 모듈) 읽기1 100/초 100/초 또는 10/초/단위 이상 500/초/단위
쌍 업데이트(디바이스 및 모듈)1 50/초 50/초 또는 5/초/단위 이상 250/초/단위
작업(Job) 작업1
(만들기, 업데이트, 나열, 삭제)
1.67/초/단위(100/분/단위) 1.67/초/단위(100/분/단위) 83.33/초/단위(5,000/분/단위)
작업 디바이스 연산1
(쌍 업데이트, 직접 메서드 호출)
10/초 10/초 또는 1/초/단위 이상 50/초/단위
구성 및 에지 배포1
(만들기, 업데이트, 나열, 삭제)
0.33/초/단위(20/분/단위) 0.33/초/단위(20/분/단위) 0.33/초/단위(20/분/단위)
디바이스 스트림 시작 속도1 새 스트림 5개/초 새 스트림 5개/초 새 스트림 5개/초
동시에 연결된 디바이스 스트림의 최대 개수1 50 50 50
최대 디바이스 스트림 데이터 전송1(일별 집계 볼륨) 300MB 300MB 300MB

1이 기능은 IoT Hub의 기본 계층에서 사용할 수 없습니다. 자세한 내용은 올바른 IoT Hub를 선택하는 방법을 참조하세요.
2제한 미터 크기는 4KB입니다. 제한은 요청 페이로드 크기만을 기준으로 합니다.

제한 세부 정보

  • 미터 크기는 조정 제한이 사용되는 증분값을 결정합니다. 직접 호출의 페이로드가 0KB에서 4KB 사이인 경우 4KB로 계산됩니다. 제한인 160KB/초/단위에 도달하기 전까지 단위별로 초당 최대 40개의 호출을 수행할 수 있습니다.

    마찬가지로 페이로드가 4KB에서 8KB 사이인 경우 각 호출은 8KB로 계산되고 최대 제한에 도달하기 전까지 단위별로 초당 최대 20개의 호출을 수행할 수 있습니다.

    마지막으로, 페이로드 크기가 156KB에서 160KB 사이인 경우 제한인 160KB/초/단위에 도달하기 전까지 단위별로 초당 1개의 호출만 수행할 수 있습니다.

  • 계층 S3에 대한 ‘작업 디바이스 연산(쌍 업데이트, 직접 메서드 호출)’의 경우 50/초/단위는 작업을 사용하여 메서드를 호출할 때만 적용됩니다. 직접 메서드를 호출하는 경우 원래 조정 제한인 24MB/초/단위(S3의 경우)가 적용됩니다.

  • 할당량은 ‘하루에’ 허브에서 보낼 수 있는 메시지의 총 수입니다. IoT Hub 가격 책정 페이지총 메시지 수/일 열 아래에서 허브의 할당량 한도를 확인할 수 있습니다.

  • 클라우드-디바이스 및 디바이스-클라우드 제한은 메시지를 보낼 수 있는 최대 ‘속도’(4KB 청크와 상관없이 메시지의 수)를 결정합니다. D2C 메시지는 최대 256KB일 수 있습니다. C2D 메시지는 최대 64KB일 수 있습니다. 각 메시지 유형에 대한 [최대 메시지 크기]입니다.

  • 조정 제한에 도달하거나 초과하지 않도록 호출을 조정하는 것이 좋습니다. 제한에 도달하면 IoT Hub는 오류 코드 429로 응답하고 클라이언트는 백오프 했다가 다시 시도합니다. 이러한 제한은 허브마다 적용됩니다(또는 일부 경우에는 허브/단위마다 적용됨). 자세한 내용은 연결 및 신뢰할 수 있는 메시징/재시도 패턴 관리를 참조하세요.

트래픽 셰이핑

버스트 트래픽을 수용하기 위해 IoT Hub는 제한된 시간 동안 제한을 초과하는 요청을 수락합니다. 이러한 요청 중 처음 몇 개는 즉시 처리됩니다. 그러나 요청 수가 계속해서 제한을 위반하는 경우 IoT Hub는 요청을 큐에 배치하기 시작하며 요청은 제한 속도로 처리됩니다. 이러한 효과를 ‘트래픽 셰이핑’이라고 합니다. 또한 이 큐의 크기가 제한됩니다. 제한 위반이 계속되면 결국 큐가 가득 차게 되고 IoT Hub는 429 ThrottlingException을 사용해 요청을 거부하기 시작합니다.

예를 들어 시뮬레이션된 디바이스를 사용하여 초당 200개의 디바이스-클라우드 메시지를 S1 IoT Hub(100/초 D2C 전송 제한이 있음)로 전송한다고 가정해 보겠습니다. 처음 1~2분 동안에는 메시지가 즉시 처리됩니다. 그러나 디바이스가 계속해서 조정 제한보다 많은 메시지를 보내기 때문에 IoT Hub는 초당 100개 메시지만 처리하고 나머지는 큐에 배치합니다. 대기 시간이 증가하는 것이 감지되기 시작합니다. 결과적으로 큐가 가득 차게 되면서 429 ThrottlingException이 나타나고 “제한 오류 수” IoT Hub 메트릭이 증가하기 시작합니다. 메트릭을 토대로 경고 및 차트를 만드는 방법을 알아보려면 IoT Hub 모니터링을 참조하세요.

ID 레지스트리 작업 제한

디바이스 ID 레지스트리 작업은 디바이스 관리 및 프로비저닝 시나리오에서 런타임에 사용하기 위한 것입니다. 많은 수의 디바이스 ID 읽기 또는 업데이트는 가져오기 및 내보내기 작업을 통해 지원됩니다.

대량 레지스트리 업데이트 작업(대량 가져오기 및 내보내기 작업 ‘아님’)을 통해 ID 작업을 시작하는 경우 동일한 제한이 적용됩니다. 예를 들어 디바이스 50개를 만들기 위해 대량 작업을 제출하려 하고 단위가 1개인 S1 IoT Hub가 있는 경우 이러한 대량 요청 중 2개만 1분마다 수락됩니다. 이는 단위가 1개인 S1 IoT Hub에 대한 ID 작업 제한은 100/분/단위이기 때문입니다. 또한 이 경우에는 이미 제한에 도달했으므로 동일한 분에 속하는 세 번째 요청(및 이후의 요청)이 거부됩니다.

디바이스 연결 제한

디바이스 연결 제한은 IoT Hub에서 새 디바이스 연결을 설정할 수 있는 속도를 제어합니다. 디바이스 연결 제한은 동시에 연결되는 디바이스의 최대 수를 제어하지 않습니다. 디바이스 연결 속도 제한은 IoT Hub에 대해 프로비전되는 단위의 수에 따라 다릅니다.

예를 들어 S1 단위 하나를 구매하는 경우 초당 연결 제한은 100개입니다. 따라서 100,000개의 디바이스를 연결하려면 최소 1,000초(약 16분)가 걸립니다. 그러나 ID 레지스트리에 등록한 수만큼의 디바이스를 동시에 연결할 수 있습니다.

기타 제한

IoT Hub에는 다른 작업 제한도 적용됩니다.

작업(Operation) 제한
디바이스 단일 IoT 허브에 등록할 수 있는 디바이스 및 모듈의 총수는 1,000,000개로 제한됩니다. 이 제한을 높이는 유일한 방법은 Microsoft 지원에 문의하는 것입니다.
파일 업로드 디바이스당 동시 파일 업로드 10회.
작업1 최대 동시 작업은 1개(무료 및 S1의 경우), 5개(S2의 경우), 10개(S3의 경우)입니다. 그러나 최대 동시 디바이스 가져오기/내보내기 작업은 모든 계층에 대해 1개입니다.
작업 기록은 30일까지 유지됩니다.
추가 엔드포인트 유료 SKU 허브에는 10개, 무료 SKU 허브에는 하나의 추가 엔드포인트가 있을 수 있습니다.
메시지 라우팅 쿼리 유료 SKU 허브에는 100개, 무료 SKU 허브에는 5개의 라우팅 쿼리가 있을 수 있습니다.
메시지 보강 유료 SKU 허브에는 최대 10개, 무료 SKU 허브에는 최대 2개의 메시지 보강이 있을 수 있습니다.
디바이스-클라우드 메시징 최대 메시지 크기 256KB
클라우드-디바이스 메시징1 최대 메시지 크기 64KB 전송 보류 중인 최대 메시지 수는 디바이스당 50개입니다.
직접 메서드1 최대 직접 메서드 페이로드 크기는 요청의 경우 128KB이고 응답의 경우 128KB입니다.
자동 디바이스 및 모듈 구성1 유료 SKU 허브당 100개 구성입니다. 무료 SKU 허브당 10개 구성입니다.
IoT Edge 자동 배포1 배포당 50개 모듈입니다. 유료 SKU 허브당 100개 배포(계층화된 배포 포함)입니다. 무료 SKU 허브당 10개 배포입니다.
1 원하는 속성과 보고된 속성 섹션의 최대 크기는 각각 32KB입니다. 태그 섹션의 최대 크기는 8KB입니다. 모든 섹션에서 개별 속성의 최대 크기는 4KB입니다.
공유 액세스 정책 공유 액세스 정책의 최대 수는 16개입니다.
아웃바운드 네트워크 액세스 제한 FQDN은 20개까지 허용됩니다.
x509 CA 인증서 IoT Hub에 등록할 수 있는 x509 CA 인증서의 최대 수는 25개입니다.

1이 기능은 IoT Hub의 기본 계층에서 사용할 수 없습니다. 자세한 내용은 올바른 IoT Hub를 선택하는 방법을 참조하세요.

할당량 또는 조정 제한 늘리기

지정된 시간에 IoT Hub에 프로비저닝된 단위 수를 늘려 할당량이나 조정 제한을 증가시킬 수 있습니다.

대기 시간

IoT Hub는 모든 작업에 낮은 대기 시간을 제공하기 위해 노력합니다. 그러나 네트워크 상태 및 예측할 수 없는 기타 요인으로 인해 특정 대기 시간을 보장할 수 없습니다. 솔루션을 설계할 때 다음을 수행해야 합니다.

  • IoT Hub 작업의 최대 대기 시간을 가정하지 마세요.
  • 디바이스에 가장 가까운 Azure 지역에서 IoT Hub를 프로비전합니다.
  • Azure IoT Edge를 사용하여 디바이스 또는 디바이스에 가까운 게이트웨이에서 대기 시간에 민감한 작업을 수행하는 것이 좋습니다.

여러 IoT Hub 단위는 앞에서 설명한 대로 제한에 영향을 주지만 추가 대기 시간을 주거나 보장하지 않습니다.

작업 대기 시간에 예기치 않은 증가가 발생한 경우 Microsoft 지원에 문의하세요.

다음 단계

IoT Hub 제한 동작에 대한 자세한 설명을 보려면 블로그 게시물 IoT Hub 제한을 참조하세요.

이 IoT Hub 개발자 가이드의 다른 참조 자료: