Azure Cosmos DB analiz deposu için Azure Özel Bağlantı yapılandırma

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Gremlin

Bu makalede, Azure Cosmos DB analiz deposu için yönetilen özel uç noktaları ayarlamayı öğreneceksiniz. İşlem deposu kullanıyorsanız işlem deposu için özel uç noktalar makalesine bakın. Yönetilen özel uç noktaları kullanarak Azure Cosmos DB analiz deponuzun ağ erişimini Azure Synapse çalışma alanınızla ilişkili yönetilen Sanal Ağ kısıtlayabilirsiniz. Yönetilen özel uç noktalar analiz deponuza özel bir bağlantı oluşturur.

Dekont

Azure Cosmos DB için Özel DNS Bölgeleri kullanıyorsanız ve analiz deposu alt kaynağına Synapse tarafından yönetilen bir özel uç nokta oluşturmak istiyorsanız, önce Azure Cosmos DB'nizin sanal ağına bağlı analiz deposu (privatelink.analytics.cosmos.azure.com) için bir DNS bölgesi oluşturmanız gerekir.

Analiz deposu için özel uç noktayı etkinleştirme

Yönetilen sanal ağ ve veri sızdırma ile Azure Synapse Analytics çalışma alanını ayarlama

Azure Synapse Analytics'te veri sızdırma etkin bir çalışma alanı oluşturun. Veri sızdırma koruması sayesinde, kötü amaçlı kullanıcıların Azure kaynaklarınızdaki verileri kuruluşunuzun kapsamı dışındaki konumlara kopyalayamayacağından veya aktaramayacağından emin olabilirsiniz.

Azure Synapse Analytics çalışma alanında veri sızdırma koruması açık olduğunda aşağıdaki erişim kısıtlamaları geçerlidir:

  • Azure Synapse Analytics için Azure Spark kullanıyorsanız yalnızca Azure Cosmos DB analiz deposu için onaylanan yönetilen özel uç noktalara erişime izin verilir.

  • Synapse sunucusuz SQL havuzları kullanıyorsanız, Azure Synapse Link kullanarak herhangi bir Azure Cosmos DB hesabını sorgulayabilirsiniz. Ancak, dış tabloları select (CETAS) olarak oluşturan yazma isteklerine yalnızca çalışma alanı sanal ağındaki onaylanan özel uç noktaları yönetme izni verilir.

Dekont

Çalışma alanı oluşturulduktan sonra yönetilen sanal ağı ve veri sızdırma yapılandırmasını değiştiremezsiniz.

Azure Cosmos DB analiz deposu için yönetilen özel uç nokta ekleme

  1. Azure Portal oturum açın.

  2. Azure portalından Synapse Analytics çalışma alanınıza gidin ve Genel Bakış bölmesini açın.

  3. Başlarken bölmesine gidip Synapse Studio'yu Aç altında Aç'ı seçerek Synapse Studio'yu başlatın.

  4. Synapse Studio'da Yönet sekmesini açın.

  5. Yönetilen özel uç noktalara gidin ve Yeni'yi seçin

    Create a new private endpoint for analytical store.

  6. Azure Cosmos DB (NoSQL için API) hesap türü >Devam'ı seçin.

    Select Azure Cosmos DB API for NoSQL to create a private endpoint.

  7. Yeni yönetilen özel uç nokta formunu aşağıdaki ayrıntılarla doldurun:

    • Ad - Yönetilen özel uç noktanızın adı. Bu ad oluşturulduktan sonra güncelleştirilemez.
    • Açıklama - Özel uç noktanızı tanımlamak için kolay bir açıklama sağlayın.
    • Azure aboneliği - Azure aboneliklerinizdeki kullanılabilir hesaplar listesinden bir Azure Cosmos DB hesabı seçin.
    • Azure Cosmos DB hesap adı - SQL veya MongoDB türünde mevcut bir Azure Cosmos DB hesabını seçin.
    • Hedef alt kaynak - Aşağıdaki seçeneklerden birini belirleyin: Analiz: Azure Cosmos DB analiz deposu için özel uç nokta eklemek istiyorsanız. NoSQL (veya MongoDB): OLTP veya işlem hesabı uç noktası eklemek istiyorsanız.

    Dekont

    Azure Synapse Analytics çalışma alanında aynı Azure Cosmos DB hesabına hem işlem deposu hem de analiz deposu özel uç noktaları ekleyebilirsiniz. Yalnızca analitik sorgular çalıştırmak istiyorsanız, yalnızca analiz özel uç noktasını eşlemek isteyebilirsiniz.

    Choose analytical for the target subresource.

  8. Oluşturduktan sonra özel uç nokta adına gidin ve Azure portalda onayları yönet'i seçin.

  9. Azure Cosmos DB hesabınıza gidin, özel uç noktayı seçin ve Onayla'yı seçin.

  10. Synapse Analytics çalışma alanına dönün ve Yönetilen özel uç noktalar bölmesinde Yenile'ye tıklayın. Özel uç noktanın Onaylandı durumunda olduğunu doğrulayın.

    Verify that the private endpoint is approved.

Azure Synapse Analytics için Apache Spark kullanma

Veri sızdırma koruması açık bir Azure Synapse çalışma alanı oluşturduysanız Synapse Spark'tan Azure Cosmos DB hesaplarına giden erişim varsayılan olarak engellenir. Ayrıca, Azure Cosmos DB'nin zaten bir özel uç noktası varsa Synapse Spark'ın buna erişmesi engellenir.

Azure Cosmos DB verilerine erişime izin vermek için:

  • Azure Cosmos DB verilerini sorgulamak için Azure Synapse Link kullanıyorsanız Azure Cosmos DB hesabı için yönetilen bir analitik özel uç nokta ekleyin.

  • toplu yazma/okuma ve/veya işlem deposuna yazma/okuma akışı kullanıyorsanız, Azure Cosmos DB hesabı için yönetilen bir SQL veya MongoDB özel uç noktası ekleyin. Ayrıca connectionMode'ıaşağıdaki kod parçacığında gösterildiği gibi Gateway olarak da ayarlamanız gerekir:

    # Write a Spark DataFrame into an Azure Cosmos DB container
    # To select a preferred lis of regions in a multi-region account, add .option("spark.cosmos.preferredRegions", "<Region1>, <Region2>")
    
    YOURDATAFRAME.write\
      .format("cosmos.oltp")\
      .option("spark.synapse.linkedService", "<your-Cosmos-DB-linked-service-name>")\
      .option("spark.cosmos.container","<your-Cosmos-DB-container-name>")\
      .option("spark.cosmos.write.upsertEnabled", "true")\
      .option("spark.cosmos.connection.mode", "Gateway")\
      .mode('append')\
      .save()
    
    

Synapse sunucusuz SQL havuzlarını kullanma

Synapse sunucusuz SQL havuzları, yönetilen sanal ağa dağıtılmayan çok kiracılı özellikleri kullanır. Azure Cosmos DB hesabının mevcut bir özel uç noktası varsa, Azure Cosmos DB hesabındaki ağ yalıtımı denetimleri nedeniyle Synapse sunucusuz SQL havuzunun hesaba erişimi engellenir.

Synapse çalışma alanından bu hesap için ağ yalıtımını yapılandırmak için:

  1. Synapse çalışma alanının hesapta ayar belirterek NetworkAclBypassResourceId Azure Cosmos DB hesabına erişmesine izin verin.

    PowerShell'i kullanma

    Update-AzCosmosDBAccount -Name MyCosmosDBDatabaseAccount -ResourceGroupName MyResourceGroup -NetworkAclBypass AzureServices -NetworkAclBypassResourceId "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
    

    Azure CLI’yı kullanma

    az cosmosdb update --name MyCosmosDBDatabaseAccount --resource-group MyResourceGroup --network-acl-bypass AzureServices --network-acl-bypass-resource-ids "/subscriptions/subId/resourceGroups/rgName/providers/Microsoft.Synapse/workspaces/wsName"
    

    Dekont

    Azure Cosmos DB hesabı ve Azure Synapse Analytics çalışma alanı aynı Microsoft Entra kiracısı altında olmalıdır.

  2. Artık Azure Synapse Link üzerinden T-SQL sorgularını kullanarak sunucusuz SQL havuzlarından hesaba erişebilirsiniz. Ancak analiz deposundaki veriler için ağ yalıtımı sağlamak için bu hesap için analitik yönetilen özel uç nokta eklemeniz gerekir. Aksi takdirde analiz deposundaki verilerin genel erişimi engellenmez.

Önemli

Azure Synapse Link kullanıyorsanız ve analiz deposundaki verileriniz için ağ yalıtımına ihtiyacınız varsa, Analitik yönetilen özel uç noktayı kullanarak Azure Cosmos DB hesabını Synapse çalışma alanına eşlemeniz gerekir.

Sonraki adımlar

  • Azure Synapse Spark 3 ile analiz deposunu sorgulamaya başlama
  • Azure Synapse Spark 2 ile analiz deposunu sorgulamaya başlama
  • Azure Synapse sunucusuz SQL havuzlarıyla analiz deposunu sorgulamaya başlama