Azure IoT Edge çalışma zamanını ve mimarisini anlama

Şunlar için geçerlidir:IoT Edge 1.4 checkmark IoT Edge 1.4

Önemli

IoT Edge 1.4 desteklenen sürümdür. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

IoT Edge çalışma zamanı, bir cihazı bir IoT Edge cihazına dönüştüren program koleksiyonudur. Toplu olarak, IoT Edge çalışma zamanı bileşenleri, IoT Edge cihazlarının uçta çalışacak kodu almasını ve sonuçları iletmesini sağlar.

IoT Edge çalışma zamanı, IoT Edge cihazlarında aşağıdaki işlevlerden sorumludur:

  • Cihaza iş yüklerini yükleyin ve güncelleştirin.

  • Cihazda Azure IoT Edge güvenlik standartlarını koruyun.

  • IoT Edge modüllerinin her zaman çalıştığından emin olun.

  • Uzaktan izleme için modül durumunu buluta bildirin.

  • Aralarındaki iletişimi yönetme:

    • Aşağı akış cihazları ve IoT Edge cihazları
    • IoT Edge cihazındaki modüller
    • IoT Edge cihazı ve bulut
    • IoT Edge cihazları

Screenshot of how runtime communicates insights and module health to I o T Hub.

IoT Edge çalışma zamanının sorumlulukları iki kategoriye ayrılır: iletişim ve modül yönetimi. Bu iki rol, IoT Edge çalışma zamanının parçası olan iki bileşen tarafından gerçekleştirilir. IoT Edge aracısı modülleri dağıtır ve izlerken, ioT Edge hub'ı iletişimden sorumludur.

IoT Edge aracısı ve IoT Edge hub'ı, IoT Edge cihazında çalışan diğer modüller gibi modüllerdir. Bunlar bazen çalışma zamanı modülleri olarak adlandırılır.

IoT Edge aracısı

IoT Edge aracısı, Azure IoT Edge çalışma zamanını oluşturan iki modülden biridir. Modüllerin örneğini oluşturma, çalışmaya devam etmelerini sağlama ve modüllerin durumunu IoT Hub'a geri raporlamaktan sorumludur. Bu yapılandırma verileri IoT Edge aracı modül ikizinin özelliği olarak yazılır.

IoT Edge güvenlik daemon'ı, cihaz başlangıcında IoT Edge aracısını başlatır. Aracı, modül ikizini IoT Hub'dan alır ve dağıtım bildirimini inceler. Dağıtım bildirimi, başlatılması gereken modülleri bildiren bir JSON dosyasıdır.

Dağıtım bildirimindeki her öğe bir modül hakkında belirli bilgiler içerir ve Modülün yaşam döngüsünü denetlemek için IoT Edge aracısı tarafından kullanılır. Modülleri denetlemek için IoT Edge aracısı tarafından kullanılan tüm özellikler hakkında daha fazla bilgi için IoT Edge aracısının özellikleri ve IoT Edge hub modül ikizleri hakkında bilgi edinin.

IoT Edge aracısı, IoT Hub'a çalışma zamanı yanıtı gönderir. Olası yanıtların listesi aşağıdadır:

  • 200 - Tamam
  • 400 - Dağıtım yapılandırması hatalı biçimlendirilmiş veya geçersiz.
  • 417 - Cihazda dağıtım yapılandırma kümesi yok.
  • 412 - Dağıtım yapılandırmasındaki şema sürümü geçersiz.
  • 406 - IoT Edge cihazı çevrimdışı veya durum raporları göndermiyor.
  • 500 - IoT Edge çalışma zamanında bir hata oluştu.

Dağıtım bildirimleri oluşturma hakkında daha fazla bilgi için bkz . IoT Edge'de modülleri dağıtmayı ve yolları oluşturmayı öğrenin.

Güvenlik

IoT Edge aracısı, IoT Edge cihazının güvenliğinde kritik bir rol oynar. Örneğin, başlatmadan önce modülün görüntüsünü doğrulama gibi eylemler gerçekleştirir.

Azure IoT Edge güvenlik çerçevesi hakkında daha fazla bilgi için IoT Edge güvenlik yöneticisi hakkında bilgi edinin.

IoT Edge hub'ı

IoT Edge hub'ı, Azure IoT Edge çalışma zamanını oluşturan diğer modüldür. IoT Hub ile aynı protokol uç noktalarını kullanıma sunarak IoT Hub için yerel bir proxy işlevi görür. Bu tutarlılık, istemcilerin IoT Hub'a olduğu gibi IoT Edge çalışma zamanına bağlanabileceği anlamına gelir.

IoT Edge hub'ı yerel olarak çalışan ioT Hub'ın tam sürümü değildir. IoT Edge hub'ı bazı görevleri sessizce IoT Hub'a devreder. Örneğin IoT Edge hub'ı, cihazın bağlanmasına olanak tanımak için ilk bağlantısında IoT Hub'dan yetkilendirme bilgilerini otomatik olarak indirir. İlk bağlantı kurulduktan sonra yetkilendirme bilgileri IoT Edge hub'ı tarafından yerel olarak önbelleğe alınır. Bu cihazdan gelecek bağlantılar, yetkilendirme bilgilerini buluttan yeniden indirmek zorunda kalmadan yetkilendirilecektir.

Bulut iletişimi

IoT Edge çözümünüzün kullandığı bant genişliğini azaltmak için IoT Edge hub'ı buluta kaç gerçek bağlantı yapıldığını iyileştirir. IoT Edge hub'ı modüllerden veya aşağı akış cihazlarından mantıksal bağlantılar alır ve bunları buluta tek bir fiziksel bağlantı için birleştirir. Bu işlemin ayrıntıları çözümün geri kalanı için saydamdır. İstemciler, hepsi aynı bağlantı üzerinden gönderilse bile bulutla kendi bağlantılarının olduğunu düşünür. IoT Edge hub'ı, aşağı akış cihazları tarafından kullanılan protokollerden bağımsız olarak bulutla yukarı akış iletişim kurmak için AMQP veya MQTT protokollerini kullanabilir. Ancak IoT Edge hub'ı şu anda yukarı akış protokolü olarak AMQP'yi ve onun çoğullama özelliklerini kullanarak mantıksal bağlantıları tek bir fiziksel bağlantıda birleştirmeyi destekler. AMQP varsayılan yukarı akış protokolüdür.

Screenshot showing relationships to I o T Edge hub as a gateway between physical devices and I o T Hub.

IoT Edge hub'ı, IoT Hub'a bağlı olup olmadığını belirleyebilir. Bağlantı kesilirse IoT Edge hub'ı iletileri veya ikiz güncelleştirmelerini yerel olarak kaydeder. Bağlantı yeniden kurulduktan sonra tüm verileri eşitler. Bu geçici önbellek için kullanılan konum, IoT Edge hub'ının modül ikizinin bir özelliği tarafından belirlenir. Önbelleğin boyutu eşlenmez ve cihaz depolama kapasitesine sahip olduğu sürece büyür. Daha fazla bilgi için bkz . Çevrimdışı özellikler.

Yerel iletişim

IoT Edge hub'ı yerel iletişimi kolaylaştırır. Cihazları ve modülleri birbirinden bağımsız tutmak için iletilere aracılık yaparak cihazdan modüle ve modülden modüle iletişimleri etkinleştirir. IoT Edge hub'ı, IoT Hub tarafından desteklenen ileti yönlendirme özelliklerini destekler.

Yönlendirmeyi kullanma

Aracılık mekanizması, iletilerin cihazlar veya modüller arasında nasıl geçirileceğini belirtmek için IoT Hub ile aynı yönlendirme özelliklerini kullanır. İlk cihazlar veya modüller, iletileri kabul ettikleri girişleri ve iletileri yazdıkları çıkışları belirtir. Ardından bir çözüm geliştiricisi, olası filtreler içeren bir kaynak (örneğin, çıkışlar) ile bir hedef (örneğin, girişler) arasında iletileri yönlendirebilir.

Screenshot showing how routes between modules go through I o T Edge hub.

Yönlendirme, AMQP protokolü kullanılarak Azure IoT Cihaz SDK'ları ile oluşturulan cihazlar veya modüller tarafından kullanılabilir. Tüm mesajlaşma IoT Hub temel öğeleri (örneğin telemetri), doğrudan yöntemler, C2D, ikizler desteklenir ancak kullanıcı tanımlı konular üzerinden iletişim desteklenmez.

Yollar hakkında daha fazla bilgi için bkz . IoT Edge'de modülleri dağıtmayı ve yolları kurmayı öğrenin.

Aracı mekanizması özellikleri kullanılabilir:

Özellikler Yönlendirme
D2C telemetrisi
Yerel telemetri
DirectMethods
Ikiz
Cihazlar için C2D
Sıralama
Filtreleme
Kullanıcı tanımlı konular
Cihazdan Cihaza
Yerel yayın

IoT Edge hub'ına Bağlan

IoT Edge hub'ı, MQTT protokolü veya AMQP protokolü üzerinden cihaz veya modül istemcilerinden gelen bağlantıları kabul eder.

Dekont

IoT Edge hub'ı MQTT veya AMQP kullanarak bağlanan istemcileri destekler. HTTP kullanan istemcileri desteklemez.

bir istemci IoT Edge hub'ına bağlandığında aşağıdakiler gerçekleşir:

  1. Aktarım Katmanı Güvenliği (TLS) kullanılıyorsa (önerilir), istemci ile IoT Edge hub'ı arasında şifreli bir iletişim kurmak için bir TLS kanalı oluşturulur.
  2. Kimlik doğrulama bilgileri, kendini tanımlamak için istemciden IoT Edge hub'ına gönderilir.
  3. IoT Edge hub'ı, yetkilendirme ilkesine göre bağlantıyı yetkiler veya reddeder.

Güvenli bağlantılar (TLS)

Varsayılan olarak, IoT Edge hub'ı yalnızca Aktarım Katmanı Güvenliği (TLS) ile güvenliği sağlanan bağlantıları kabul eder; örneğin, üçüncü bir tarafın şifresini çözemezse şifrelenmiş bağlantılar.

İstemci 8883 (MQTTS) veya 5671 (AMQPS) bağlantı noktası üzerinden IoT Edge hub'ına bağlanıyorsa, bir TLS kanalı oluşturulmalıdır. TLS el sıkışması sırasında IoT Edge hub'ı istemcinin doğrulaması gereken sertifika zincirini gönderir. Sertifika zincirini doğrulamak için IoT Edge hub'ının kök sertifikasının istemciye güvenilir bir sertifika olarak yüklenmesi gerekir. Kök sertifikaya güvenilmezse, istemci kitaplığı IoT Edge hub'ı tarafından bir sertifika doğrulama hatasıyla reddedilir.

Aracının bu kök sertifikasını cihaz istemcilerine yüklemek için izlenecek adımlar saydam ağ geçidinde ve aşağı akış cihazı hazırlama belgelerinde açıklanmıştır. Modüller, IoT Edge daemon API'sini kullanarak IoT Edge hub'ı ile aynı kök sertifikayı kullanabilir.

Kimlik Doğrulaması

IoT Edge Hub yalnızca IoT Hub kimliğine sahip cihazlardan veya modüllerden gelen bağlantıları kabul eder. Örneğin, IoT Hub'a kaydedilmiş ve kimliklerini kanıtlamak için IoT hub tarafından desteklenen üç istemci kimlik doğrulama yönteminden birine sahip olanlar: Simetrik anahtar kimlik doğrulaması, X.509 otomatik olarak imzalanan kimlik doğrulaması, X.509 CA imzalı kimlik doğrulaması. Bu IoT Hub kimlikleri IoT Edge hub'ı tarafından yerel olarak doğrulanabilir, böylece bağlantılar çevrimdışıyken de yapılabilir.

IoT Edge modülleri şu anda yalnızca simetrik anahtar kimlik doğrulamayı desteklemektedir.

Yetkilendirme

bir istemcinin IoT Hub'da tanımlanan güvenilen istemci kümesine ait olduğunu doğrulayarak. Güvenilen istemci kümesi, IoT Hub'da üst/alt veya cihaz/modül ilişkileri ayarlanarak belirtilir. IoT Edge'de bir modül oluşturulduğunda, bu modülle IoT Edge cihazı arasında otomatik olarak bir güven ilişkisi kurulur. Bu, yönlendirme aracı mekanizması tarafından desteklenen tek yetkilendirme modelidir.

Uzak yapılandırma

IoT Edge hub'ı tamamen bulut tarafından denetlenmektedir. Modül ikizi aracılığıyla IoT Hub'dan yapılandırmasını alır. İkiz, iletilerin bir dağıtım içinde nasıl geçirildiğini bildiren yollar adlı istenen bir özellik içerir. Yollar hakkında daha fazla bilgi için bkz . Yolları bildirme.

Ayrıca, IoT Edge hub'ına ortam değişkenleri ayarlayarak çeşitli yapılandırmalar yapılabilir.

Çalışma zamanı kalitesi telemetrisi

IoT Edge, ürün kalitesini artırmak için konak çalışma zamanından ve sistem modüllerinden anonim telemetri toplar. Bu bilgilere çalışma zamanı kalite telemetrisi adı verilir. Toplanan telemetri düzenli aralıklarla IoT Edge aracısından IoT Hub'a cihazdan buluta iletiler olarak gönderilir. Bu iletiler müşterinin normal telemetrisinde görünmez ve herhangi bir ileti kotası kullanmaz.

IoT Edge aracısı ve hub'ı, cihaz performansını anlamak için toplayabileceğiniz ölçümler oluşturur. Bu ölçümlerin bir alt kümesi IoT Edge Aracısı tarafından çalışma zamanı kalitesi telemetrisinin bir parçası olarak toplanır. Çalışma zamanı kalite telemetrisi için toplanan ölçümler etiketiyle ms_telemetryetiketlenir. Kullanılabilir tüm ölçümler hakkında bilgi için bkz . Yerleşik ölçümlere erişme.

Cihaz ve modül adları gibi kişisel veya kurumsal olarak tanımlanabilir bilgiler, çalışma zamanı kalitesi telemetrisinin anonim niteliğini sağlamak için karşıya yüklemeden önce kaldırılır.

IoT Edge aracısı telemetri verilerini saatte bir toplar ve 24 saatte bir IoT Hub'a bir ileti gönderir.

Cihazlarınızdan çalışma zamanı telemetrisi göndermeyi geri çevirmek istiyorsanız, bunu yapmanın iki yolu vardır:

  • edgeAgent için ortam değişkenini SendRuntimeQualityTelemetryfalse olarak ayarlayın veya
  • Dağıtım sırasında Azure portalında seçeneğin işaretini kaldırın.

Sonraki adımlar