Sanal ağlar için Azure IoT Hub Cihaz Sağlama Hizmeti (DPS) desteği
Bu makalede, DPS kullanılarak IoT hub'ları ile sağlanan IoT cihazları için sanal ağ (VNET) bağlantı deseni tanıtılıyor. Bu düzen, müşterilere ait azure sanal ağı içindeki cihazlar, DPS ve IoT hub'ı arasında özel bağlantı sağlar.
DPS'nin bir sanal ağ ile yapılandırıldığı çoğu senaryoda IoT Hub'ınız da aynı sanal ağda yapılandırılır. IoT Hub'ları için sanal ağ desteği ve yapılandırması hakkında daha ayrıntılı bilgi için bkz . IoT Hub sanal ağ desteği.
Giriş
Varsayılan olarak, DPS ana bilgisayar adları İnternet üzerinden genel olarak yönlendirilebilen IP adresine sahip bir genel uç noktaya eşler. Bu genel uç nokta tüm müşteriler tarafından görülebilir. Geniş alan ağları ve şirket içi ağlar üzerinden IoT cihazları genel uç noktaya erişmeyi deneyebilir.
Müşteriler çeşitli nedenlerle DPS gibi Azure kaynaklarına bağlantıyı kısıtlamak isteyebilir. Bu nedenler şunlardır:
Genel İnternet üzerinden bağlantının açığa çıkmasını önleyin. IoT hub'ınız ve DPS kaynaklarınız için ağ düzeyinde yalıtım yoluyla daha fazla güvenlik katmanı kullanıma sunularak açığa çıkarma azaltılabilir
Şirket içi ağ varlıklarınızdan özel bağlantı deneyimi sağlayarak verilerinizin ve trafiğinizin doğrudan Azure omurga ağına iletilmesini sağlar.
Hassas şirket içi ağlardan sızdırma saldırılarını önleme.
Özel uç noktalar kullanılarak oluşturulan Azure genelinde bağlantı desenlerini takip edin.
Bağlantıyı kısıtlamaya yönelik yaygın yaklaşımlar dps IP filtresi kuralları ve özel uç noktaları olan Sanal ağ (VNET) yaklaşımlarıdır. Bu makalenin amacı, özel uç noktaları kullanan DPS için sanal ağ yaklaşımını açıklamaktır.
Şirket içi ağlarda çalışan cihazlar, Azure'daki bir sanal ağa bağlanmak ve özel uç noktalar aracılığıyla DPS kaynaklarına erişmek için Sanal Özel Ağ (VPN) veya ExpressRoute özel eşlemesi kullanabilir.
Özel uç nokta, bir Azure kaynağının erişilebilir olduğu müşteriye ait bir sanal ağ içinde ayrılan özel bir IP adresidir. DPS kaynağınız için özel bir uç noktaya sahip olarak, sanal ağınızda çalışan cihazların genel uç noktaya giden trafiğe izin vermeden DPS kaynağınız tarafından sağlama istemesine izin vekleyebilirsiniz. Her DPS kaynağı, her biri farklı bir bölgedeki bir sanal ağda yer alan birden çok özel uç noktayı destekleyebilir.
Ön koşullar
Devam etmeden önce aşağıdaki önkoşulların karşılandığından emin olun:
DPS kaynağınız zaten oluşturulmuş ve IoT hub'larınıza bağlı. Yeni bir DPS kaynağı ayarlama yönergeleri için bkz . Azure portalıyla IoT Hub Cihazı Sağlama Hizmeti'ni ayarlama
Özel uç noktanın oluşturulacağı bir alt ağ ile bir Azure sanal ağı sağladınız. Daha fazla bilgi için bkz . Azure CLI kullanarak sanal ağ oluşturma.
Şirket içi ağların içinde çalışan cihazlar için Azure sanal ağınızla Sanal Özel Ağ (VPN) veya ExpressRoute özel eşlemesi ayarlayın.
Özel uç nokta sınırlamaları
Özel uç noktaları kullanırken DPS için aşağıdaki geçerli sınırlamalara dikkat edin:
DPS kaynağı ve bağlı IoT hub'ı farklı bulutlarda olduğunda özel uç noktalar çalışmaz. Örneğin, Azure Kamu ve genel Azure.
DPS'deki özel uç noktalar, yalnızca genel bölgelerde desteklenen Azure Özel Bağlantı kullanır. Daha fazla bilgi için bkz. Azure Özel Bağlantı kullanılabilirlik.
Şu anda, DpS için Azure İşlevleri olan özel ayırma ilkeleri, Azure işlevi bir sanal ağa ve özel uç noktalara kilitlendiğinde çalışmaz.
Geçerli DPS sanal ağ desteği yalnızca DPS'ye veri girişi içindir. DPS'den IoT Hub'a gelen trafik olan veri çıkışı, ayrılmış bir sanal ağ yerine iç hizmetten hizmete mekanizmasını kullanır. DPS ile IoT Hub arasında tam sanal ağ tabanlı çıkış kilitleme desteği şu anda kullanılamıyor.
En düşük gecikme süresi ayırma ilkesi, ioT hub'ına en düşük gecikme süresine sahip bir cihaz atamak için kullanılır. Bu ayırma ilkesi bir sanal ağ ortamında güvenilir değildir.
Bir veya daha fazla özel uç noktanın etkinleştirilmesi genellikle DPS örneğine genel erişimi devre dışı bırakmayı içerir. Genel erişim devre dışı bırakıldıktan sonra azure portalını kullanarak kayıtları yönetemezsiniz. Bunun yerine, DPS örneğinde yapılandırılmış sanal ağlar/özel uç noktalar içindeki makinelerden Azure CLI, PowerShell veya hizmet API'lerini kullanarak kayıtları yönetebilirsiniz.
Özel uç noktaları kullanırken DPS'yi Kullanılabilirlik Alanları destekleyen bölgelerden birine dağıtmanızı öneririz. Aksi takdirde, özel uç noktaları etkinleştirilmiş DPS örnekleri kesintiler durumunda daha az kullanılabilirlik görebilir.
Dekont
Veri yerleşimi konusunda dikkat edilmesi gerekenler:
DPS bir Genel cihaz uç noktası (global.azure-devices-provisioning.net
) sağlar. Ancak, genel uç noktayı kullandığınızda, verileriniz DPS örneğinin ilk oluşturulduğu bölgenin dışına yönlendirilebilir. İlk DPS bölgesinde veri yerleşimi sağlamak için özel uç noktaları kullanın.
Özel uç nokta ayarlama
Özel uç nokta ayarlamak için şu adımları izleyin:
Azure portalında DPS kaynağınızı açın ve Ağ sekmesini seçin. Özel uç nokta bağlantıları ve + Özel uç nokta'yı seçin.
Özel uç nokta oluşturma Temel Bilgileri sayfasında, aşağıdaki tabloda belirtilen bilgileri girin.
Alan Değer Abonelik Özel uç noktayı içerecek istenen Azure aboneliğini seçin. Kaynak grubu Özel uç noktayı içerecek bir kaynak grubu seçme veya oluşturma Ad Özel uç noktanız için bir ad girin Bölge Seçilen bölge, sanal ağı içeren bölgeyle aynı olmalıdır, ancak DPS kaynağıyla aynı olması gerekmez. Özel uç noktanın işaret olduğu kaynağı yapılandırmak için İleri: Kaynak'ı seçin.
Özel uç nokta oluştur Kaynak sayfasında, aşağıdaki tabloda belirtilen bilgileri girin.
Alan Değer Abonelik Özel uç noktanızın işaret olduğu DPS kaynağını içeren Azure aboneliğini seçin. Kaynak türü Microsoft.Devices/ProvisioningServices'i seçin. Kaynak Özel uç noktanın eşlendiğini DPS kaynağını seçin. Hedef alt kaynak iotDps'yi seçin. Bahşiş
Kaynak kimliğine veya diğer ad ayarına göre Azure kaynağına Bağlan hakkında bilgi, bu makalenin Özel uç nokta isteme bölümünde sağlanır.
Özel uç nokta için sanal ağı yapılandırmak için İleri : Yapılandırma'ya tıklayın.
Özel uç nokta oluşturma Yapılandırması sayfasında, içinde özel uç nokta oluşturmak için sanal ağınızı ve alt ağınızı seçin.
İleri: Etiketler'i seçin ve isteğe bağlı olarak kaynağınız için herhangi bir etiket sağlayın.
Özel uç nokta kaynağınızı oluşturmak için Gözden geçir + oluştur'u ve ardından Oluştur'u seçin.
Cihazlarla özel uç noktaları kullanma
Cihaz sağlama koduyla özel uç noktaları kullanmak için, sağlama kodunuzun, Azure portalındaki DPS örneğinizin genel bakış sayfasında gösterildiği gibi DPS örneğine özgü Hizmet uç noktasını kullanması gerekir. Hizmet uç noktası aşağıdaki forma sahiptir.
<Your DPS Tenant Name>.azure-devices-provisioning.net
Belgelerimizde ve SDK'larda gösterildiği gibi örnek kodun çoğu, belirli bir DPS örneğini çözümlemek için Genel cihaz uç noktasını (global.azure-devices-provisioning.net
) ve Kimlik Kapsamını kullanır. Cihazlarınızı sağlamak için özel uç noktaları kullanarak bir DPS örneğine bağlanırken genel cihaz uç noktasının yerine hizmet uç noktasını kullanın.
Örneğin, Azure IoT C SDK'sında sağlama cihazı istemci örneği (pro_dev_client_sample), prov_dev_client_sample.c'de genel sağlama URI'si (global_prov_uri
) olarak Genel cihaz uç noktasını kullanacak şekilde tasarlanmıştır
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_RESULT, PROV_DEVICE_RESULT_VALUE);
MU_DEFINE_ENUM_STRINGS_WITHOUT_INVALID(PROV_DEVICE_REG_STATUS, PROV_DEVICE_REG_STATUS_VALUES);
static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
}
PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(global_prov_uri, id_scope, prov_transport)) == NULL)
{
(void)printf("failed calling Prov_Device_Create\r\n");
Örneği özel uç noktayla kullanmak için, yukarıdaki vurgulanan kod DPS kaynağınızın hizmet uç noktasını kullanacak şekilde değiştirilir. Örneğin, hizmet uç noktanız ise mydps.azure-devices-provisioning.net
kod aşağıdaki gibi görünür.
static const char* global_prov_uri = "global.azure-devices-provisioning.net";
static const char* service_uri = "mydps.azure-devices-provisioning.net";
static const char* id_scope = "[ID Scope]";
PROV_DEVICE_RESULT prov_device_result = PROV_DEVICE_RESULT_ERROR;
PROV_DEVICE_HANDLE prov_device_handle;
if ((prov_device_handle = Prov_Device_Create(service_uri, id_scope, prov_transport)) == NULL)
{
(void)printf("failed calling Prov_Device_Create\r\n");
}
Özel uç nokta isteme
Kaynak kimliğine göre DPS örneğine özel uç nokta isteyebilirsiniz. Bu isteği gerçekleştirmek için kaynak sahibinin size kaynak kimliğini sağlaması gerekir.
Kaynak kimliği, aşağıda gösterildiği gibi DPS kaynağının özellikler sekmesinde sağlanır.
Dikkat
Kaynak kimliğinin abonelik kimliğini içermediğini unutmayın.
Kaynak kimliğine sahip olduktan sonra, Özel uç nokta oluşturma Kaynak sayfasındaki 3. adıma özel uç nokta ayarlama bölümünde yer alan adımları izleyin. Kaynak kimliğine veya diğer adlara göre bir Azure kaynağına Bağlan seçin ve aşağıdaki tabloya bilgileri girin.
Alan Değer Kaynak kimliği veya diğer ad DPS kaynağının kaynak kimliğini girin. Hedef alt kaynak iotDps girin İstek iletisi DPS kaynak sahibi için bir istek iletisi girin.
ÖrneğinPlease approve this new private endpoint
for IoT devices in site 23 to access this DPS instance
Özel uç nokta için sanal ağı yapılandırmak için İleri : Yapılandırma'ya tıklayın.
Özel uç nokta oluşturma Yapılandırması sayfasında, içinde özel uç noktanın oluşturulacağı sanal ağı ve alt ağı seçin.
İleri: Etiketler'i seçin ve isteğe bağlı olarak kaynağınız için herhangi bir etiket sağlayın.
Özel uç nokta isteğinizi oluşturmak için Gözden geçir + oluştur'u ve ardından Oluştur'u seçin.
DPS sahibi, özel uç nokta isteğini DPS ağ sekmesindeki Özel uç nokta bağlantıları listesinde görür. Bu sayfada, sahip özel uç nokta isteğini Onaylayabilir veya Reddedebilir.
Özel uç noktaları fiyatlandırma
Fiyatlandırma ayrıntıları için bkz. Azure Özel Bağlantı fiyatlandırma.
Sonraki adımlar
DPS güvenlik özellikleri hakkında daha fazla bilgi edinmek için aşağıdaki bağlantıları kullanın: