IoT Edge cihazını saydam ağ geçidi olarak davranacak şekilde yapılandırma

Şunlar için geçerlidir:yes icon IoT Edge 1.1 Diğer sürümler:IoT Edge 1.2

Şunlar için geçerlidir:yes icon IoT Edge 1.2 Diğer sürümler:IoT Edge 1.1

Bu makalede, bir IoT Edge cihazını diğer cihazların IoT Hub iletişim kuracakları saydam bir ağ geçidi işlevi görecek şekilde yapılandırmaya yönelik ayrıntılı yönergeler sağlanır. Bu makalede, saydam ağ geçidi olarak yapılandırılmış bir IoT Edge cihazına başvurmak için IoT Edge ağ geçidi terimi kullanılır. Daha fazla bilgi için bkz. IoT Edge cihazı ağ geçidi olarak nasıl kullanılabilir?

Not

IoT Edge 1.1 ve daha eski sürümlerde, IoT Edge bir cihaz IoT Edge ağ geçidinin aşağı akışı olamaz.

Aşağı akış cihazları dosya yükleme özelliğini kullanamaz.

Not

Aşağı akış cihazları dosya yükleme özelliğini kullanamaz.

Başarılı bir saydam ağ geçidi bağlantısı kurmak için üç genel adım vardır. Bu makale ilk adımı kapsar:

  1. Aşağı akış cihazlarının güvenli bir şekilde bağlanabilmesi için ağ geçidi cihazını bir sunucu olarak yapılandırın. Ağ geçidini aşağı akış cihazlarından ileti alacak ve bunları uygun hedefe yönlendirecek şekilde ayarlayın.
  2. IoT Hub ile kimlik doğrulaması için aşağı akış cihazı için bir cihaz kimliği oluşturun. Aşağı akış cihazını ağ geçidi cihazı üzerinden ileti gönderecek şekilde yapılandırın. Bu adımlar için bkz. Azure IoT Hub için aşağı akış cihazının kimliğini doğrulama.
  3. Aşağı akış cihazını ağ geçidi cihazına Bağlan ve ileti göndermeye başlayın. Bu adımlar için bkz. Azure IoT Edge ağ geçidine aşağı akış cihazı Bağlan.

Bir cihazın ağ geçidi görevi görmesi için aşağı akış cihazlarına güvenli bir şekilde bağlanması gerekir. Azure IoT Edge, cihazlar arasında güvenli bağlantılar kurmak için ortak anahtar altyapısını (PKI) kullanmanıza olanak tanır. Bu durumda, aşağı akış cihazının saydam ağ geçidi olarak davranan bir IoT Edge cihazına bağlanmasına izin veririz. Makul güvenliği sağlamak için aşağı akış cihazının ağ geçidi cihazının kimliğini onaylaması gerekir. Bu kimlik denetimi, cihazlarınızın kötü amaçlı olabilecek ağ geçitlerine bağlanmasını engeller.

Aşağı akış cihazı, Azure IoT Hub bulut hizmetiyle oluşturulmuş bir kimliği olan herhangi bir uygulama veya platform olabilir. Bu uygulamalar genellikle Azure IoT cihaz SDK'sını kullanır. Aşağı akış cihazı, IoT Edge ağ geçidi cihazının kendisinde çalışan bir uygulama bile olabilir. Ancak, IoT Edge bir cihaz IoT Edge ağ geçidinin aşağı akışı olamaz.

Aşağı akış cihazı, Azure IoT Hub bulut hizmetiyle oluşturulmuş bir kimliği olan herhangi bir uygulama veya platform olabilir. Bu uygulamalar genellikle Azure IoT cihaz SDK'sını kullanır. Aşağı akış cihazı, IoT Edge ağ geçidi cihazının kendisinde çalışan bir uygulama bile olabilir.

Cihaz ağ geçidi topolojiniz için gerekli güveni sağlayan herhangi bir sertifika altyapısı oluşturabilirsiniz. Bu makalede, IoT Hub'de X.509 CA güvenliğini etkinleştirmek için kullandığınız sertifika kurulumunun aynısını varsayıyoruz. Bu, belirli bir IoT hub'ı (IoT hub'ı kök CA) ile ilişkili bir X.509 CA sertifikası, bu CA ile imzalanan bir dizi sertifika ve IoT Edge cihazı için bir CA içerir.

Not

Bu makalelerde kullanılan kök CA sertifikası terimi, PKI sertifika zincirinin en üstteki yetkili ortak sertifikasını ifade eder ve bir dağıtım sertifika yetkilisinin sertifika kökü olması gerekmez. Çoğu durumda, aslında bir ara CA ortak sertifikasıdır.

Aşağıdaki adımlar, sertifikaları oluşturma ve ağ geçidinde doğru yerlere yükleme işleminde size yol gösterir. Sertifikaları oluşturmak için herhangi bir makineyi kullanabilir ve ardından bunları IoT Edge cihazınıza kopyalayabilirsiniz.

Önkoşullar

IoT Edge yüklü bir Linux veya Windows cihazı.

Hazır bir cihazınız yoksa Azure sanal makinesinde bir cihaz oluşturabilirsiniz. IoT Hub oluşturmak, sanal makine oluşturmak ve IoT Edge çalışma zamanını yapılandırmak için ilk IoT Edge modülünüzü sanal Linux cihazına dağıtma bölümündeki adımları izleyin.

Cihaz CA sertifikasını ayarlama

Tüm IoT Edge ağ geçitlerinde bir cihaz CA sertifikası yüklü olmalıdır. IoT Edge güvenlik daemon'u, bir iş yükü CA sertifikasını imzalamak için IoT Edge cihaz CA sertifikasını kullanır ve bu da IoT Edge hub için bir sunucu sertifikası imzalar. Ağ geçidi, bağlantının başlatılması sırasında sunucu sertifikasını aşağı akış cihazına sunar. Aşağı akış cihazı, sunucu sertifikasının kök CA sertifikasına toplayan bir sertifika zincirinin parçası olduğundan emin olmak için denetler. Bu işlem, aşağı akış cihazının ağ geçidinin güvenilir bir kaynaktan geldiğini onaylamasını sağlar. Daha fazla bilgi için bkz. Azure IoT Edge sertifikaları nasıl kullandığını anlama.

Gateway certificate setup

Kök CA sertifikasının ve cihaz CA sertifikasının (özel anahtarıyla) IoT Edge ağ geçidi cihazında bulunması ve IoT Edge yapılandırma dosyasında yapılandırılması gerekir. Bu durumda kök CA sertifikasının bu IoT Edge senaryosu için en üstteki sertifika yetkilisi anlamına geldiğini unutmayın. Ağ geçidi cihaz CA sertifikasının ve aşağı akış cihaz sertifikalarının aynı kök CA sertifikasına yuvarlanması gerekir.

İpucu

Kök CA sertifikasını ve cihaz CA sertifikasını bir IoT Edge cihazına yükleme işlemi, IoT Edge bir cihazda sertifikaları yönetme konusunda da daha ayrıntılı olarak açıklanmıştır.

Aşağıdaki dosyaları hazır bulundurun:

  • Kök CA sertifikası
  • Cihaz CA sertifikası
  • Cihaz CA özel anahtarı

Üretim senaryoları için bu dosyaları kendi sertifika yetkilinizle oluşturmanız gerekir. Geliştirme ve test senaryoları için tanıtım sertifikalarını kullanabilirsiniz.

Kendi sertifika yetkiliniz yoksa ve tanıtım sertifikalarını kullanmak istiyorsanız, dosyalarınızı oluşturmak için IoT Edge cihaz özelliklerini test etmek için Tanıtım sertifikaları oluşturma bölümündeki yönergeleri izleyin. Bu sayfada aşağıdaki adımları uygulamanız gerekir:

  1. Başlamak için, cihazınızda sertifika oluşturmak için betikleri ayarlayın.
  2. Kök CA sertifikası oluşturun. Bu yönergelerin sonunda bir kök CA sertifika dosyanız olacaktır:
    • <path>/certs/azure-iot-test-only.root.ca.cert.pem.
  3. IoT Edge cihaz CA sertifikaları oluşturun. Bu yönergelerin sonunda bir cihaz CA sertifikasına ve özel anahtarına sahip olacaksınız:
    • <path>/certs/iot-edge-device-ca-<cert name>-full-chain.cert.pem Ve
    • <path>/private/iot-edge-device-ca-<cert name>.key.pem

Sertifikaları farklı bir makinede oluşturduysanız, bunları IoT Edge cihazınıza kopyalayın ve sonraki adımlarla devam edin.

  1. IoT Edge cihazınızda güvenlik daemon yapılandırma dosyasını açın.

    • Windows: C:\ProgramData\iotedge\config.yaml
    • Linux: /etc/iotedge/config.yaml
  2. Dosyanın Sertifika ayarları bölümünü bulun. Sertifikalarla başlayan dört satırın açıklamalarını kaldırın: ve dosya URI'lerini üç dosyanıza aşağıdaki özellikler için değer olarak sağlayın:

    • device_ca_cert: cihaz CA sertifikası
    • device_ca_pk: cihaz CA'sı özel anahtarı
    • trusted_ca_certs: kök CA sertifikası

    Sertifikalarda önünde boşluk olmadığından emin olun: satır ve diğer satırların iki boşlukla girintili olması.

  3. Dosyayı kaydedin ve kapatın.

  4. IoT Edge yeniden başlatın.

    • Windows: Restart-Service iotedge
    • Linux: sudo systemctl restart iotedge
  1. IoT Edge cihazınızda yapılandırma dosyasını açın:/etc/aziot/config.toml

    İpucu

    Yapılandırma dosyası henüz cihazınızda yoksa şablon olarak kullanarak /etc/aziot/config.toml.edge.template bir dosya oluşturun.

  2. parametresini trust_bundle_cert bulun. Bu satırın açıklamasını kaldırın ve dosya URI'sini cihazınızdaki kök CA sertifika dosyasına sağlayın.

  3. [edge_ca] Dosyanın bölümünü bulun. Bu bölümdeki üç satırın açıklamalarını kaldırın ve dosya URI'lerini sertifikanıza ve anahtar dosyalarınıza aşağıdaki özellikler için değer olarak sağlayın:

    • sertifika: cihaz CA sertifikası
    • pk: cihaz CA'sı özel anahtarı
  4. Dosyayı kaydedin ve kapatın.

  5. Yaptığınız değişiklikleri uygulayın.

    sudo iotedge config apply
    

edgeHub'ı dağıtma ve iletileri yönlendirme

Aşağı akış cihazları, IoT Edge hub modülünün bilgileri diğer modüllere veya IoT Hub yönlendirmeden sorumlu olduğu ağ geçidi cihazına telemetri ve ileti gönderir. Ağ geçidi cihazınızı bu işleve hazırlamak için şunları yaptığınızdan emin olun:

  • IoT Edge hub modülü cihaza dağıtılır.

    IoT Edge bir cihaza ilk kez yüklediğinizde, otomatik olarak yalnızca bir sistem modülü başlatılır: IoT Edge aracısı. Bir cihaz için ilk dağıtımı oluşturduktan sonra ikinci sistem modülü olan IoT Edge hub'ı da başlatılır. EdgeHub modülü cihazınızda çalışmıyorsa cihazınız için bir dağıtım oluşturun.

  • IoT Edge hub modülünde aşağı akış cihazlarından gelen iletileri işlemek için ayarlanmış yollar bulunur.

    Aşağı akış cihazlarından gelen iletileri işlemek için ağ geçidi cihazının bir yolu olmalıdır, aksi takdirde bu iletiler işlenmez. İletileri ağ geçidi cihazındaki modüllere veya doğrudan IoT Hub gönderebilirsiniz.

IoT Edge hub modülünü dağıtmak ve aşağı akış cihazlarından gelen iletileri işlemek üzere yollar ile yapılandırmak için şu adımları izleyin:

  1. Azure portalında IoT Hub'ınıza gidin.

  2. IoT Edge gidin ve ağ geçidi olarak kullanmak istediğiniz IoT Edge cihazınızı seçin.

  3. Modülleri Ayarlama'yı seçin.

  4. Modüller sayfasında, ağ geçidi cihazına dağıtmak istediğiniz modülleri ekleyebilirsiniz. Bu makalenin amaçları doğrultusunda, bu sayfada açıkça ayarlanması gerekmeyen edgeHub modülünü yapılandırmaya ve dağıtmaya odaklandık.

  5. İleri: Yollar'ı seçin.

  6. Yollar sayfasında, aşağı akış cihazlarından gelen iletileri işlemek için bir yol olduğundan emin olun. Örneğin:

    • Bir modülden veya aşağı akış cihazından tüm iletileri IoT Hub gönderen yol:

      • Ad: allMessagesToHub
      • Değer: FROM /messages/* INTO $upstream
    • Tüm aşağı akış cihazlarından gelen tüm iletileri IoT Hub gönderen bir yol:

      • Ad: allDownstreamToHub
      • Değer: FROM /messages/* WHERE NOT IS_DEFINED ($connectionModuleId) INTO $upstream

      Bu yol, IoT Edge modüllerinden gelen iletilerden farklı olarak aşağı akış cihazlarından gelen iletilerin kendileriyle ilişkilendirilmiş bir modül kimliği olmadığından çalışır. Yolun WHERE yan tümcesini kullanmak, bu sistem özelliğiyle tüm iletileri filtrelememize olanak tanır.

      İleti yönlendirme hakkında daha fazla bilgi için bkz . Modülleri dağıtma ve yolları oluşturma.

  7. Rotanız veya yollarınız oluşturulduktan sonra Gözden geçir ve oluştur'u seçin.

  8. Gözden geçir ve oluştur sayfasında Oluştur'u seçin.

Ağ geçidi cihazında bağlantı noktalarını açma

standart IoT Edge cihazlar, IoT Hub ile tüm iletişim giden bağlantılar üzerinden yapıldığından, işlev için gelen bağlantı gerekmez. Ağ geçidi cihazları, aşağı akış cihazlarından ileti alması gerektiğinden farklıdır. Aşağı akış cihazlarıyla ağ geçidi cihazı arasında bir güvenlik duvarı varsa, güvenlik duvarı üzerinden de iletişimin mümkün olması gerekir.

Ağ geçidi senaryosunun çalışması için IoT Edge hub'ının desteklenen protokollerinden en az birinin aşağı akış cihazlarından gelen trafik için açık olması gerekir. Desteklenen protokoller MQTT, AMQP, HTTPS, WebSockets üzerinden MQTT ve WebSockets üzerinden AMQP'tir.

Bağlantı noktası Protokol
8883 MQTT
5671 AMQP
443 HTTPS
MQTT+WS
AMQP+WS

Sonraki adımlar

Artık saydam ağ geçidi olarak ayarlanmış bir IoT Edge cihazınız olduğuna göre, aşağı akış cihazlarınızı ağ geçidine güvenecek ve ona ileti gönderecek şekilde yapılandırmanız gerekir. Saydam ağ geçidi senaryonuzu ayarlamaya yönelik sonraki adımlar için aşağı akış cihazının kimliğini doğrulayıp Azure IoT Hub devam edin.