Mengimpor atau mengekspor Azure SQL Database menggunakan Private Link tanpa memperbolehkan layanan Azure mengakses server

BERLAKU UNTUK: Azure SQL Database

Menjalankan proses Impor atau Ekspor melalui Azure PowerShell atau portal Azure mengharuskan Anda untuk mengatur Izinkan Akses ke Layanan Azure ke AKTIF, atau operasi Impor/Ekspor akan gagal karena kesalahan. Biasanya, pengguna ingin melakukan Impor atau Ekspor menggunakan titik akhir privat tanpa mengizinkan akses ke semua layanan Azure.

Impor Ekspor Private Link adalah Titik Akhir Privat Terkelola Layanan yang dibuat oleh Microsoft dan secara eksklusif digunakan oleh layanan Impor-Ekspor, database, dan Azure Storage untuk semua komunikasi. Titik akhir privat harus disetujui secara manual oleh pengguna di portal Azure untuk server dan penyimpanan.

Screenshot of Import Export Private link architecture

Untuk menggunakan Private Link dengan Impor-Ekspor, database pengguna dan kontainer blob Azure Storage harus dihosting di jenis Azure Cloud yang sama. Misalnya, di Azure Commercial atau di Azure Gov. Hosting di seluruh jenis cloud tidak didukung.

Artikel ini menjelaskan cara mengimpor atau mengekspor Azure SQL Database menggunakan Private Link dengan Izinkan Layanan Azure diatur ke NONAKTIF di server Azure SQL.

Catatan

Impor Ekspor menggunakan Private Link untuk Azure SQL Database saat ini dalam pratinjau

Penting

Impor atau Ekspor database dari Azure SQL Managed Instance atau dari database di tingkat layanan Hyperscale menggunakan PowerShell saat ini tidak didukung.


Impor-Ekspor Private Link dapat dikonfigurasi melalui portal Azure, PowerShell, atau menggunakan REST API.

  1. Buka server tempat Anda ingin mengimpor database. Pilih Impor database dari toolbar di halaman Gambaran Umum.
  2. Di halaman Impor Database, pilih opsi Gunakan Private Link Screenshot that shows how to enable Import Private link
  3. Masukkan akun penyimpanan, kredensial server, detail Database, dan pilih Oke
  1. Buka database yang ingin Anda ekspor. Pilih Ekspor database dari toolbar di halaman Gambaran Umum
  2. Di halaman Ekspor Database, pilih opsi Gunakan Private Link Screenshot that shows how to enable Export Private Link
  3. Masukkan akun penyimpanan, kredensial masuk server, detail Database, dan pilih Oke

Menyetujui Titik Akhir Privat

  1. Buka Pusat Private Link
  2. Buka bagian Titik akhir privat
  3. Menyetujui titik akhir privat yang Anda buat menggunakan layanan Impor/Ekspor
Menyetujui koneksi Titik Akhir Privat di Azure SQL Database
  1. Buka server yang menghosting database.
  2. Buka halaman ‘Koneksi titik akhir privat’ pada bagian keamanan di sebelah kiri.
  3. Pilih titik akhir privat yang ingin Anda setujui.
  4. Pilih Setujui untuk menyetujui koneksi.

Screenshot that shows how to approve Azure SQL Database Private Link

Menyetujui koneksi Titik Akhir Privat di Azure Storage
  1. Buka akun penyimpanan yang menghosting kontainer blob yang menyimpan file BACPAC.
  2. Buka halaman ‘Koneksi titik akhir privat’ pada bagian keamanan di sebelah kiri.
  3. Pilih titik akhir privat Impor-Ekspor yang ingin Anda setujui.
  4. Pilih Setujui untuk menyetujui koneksi.

Screenshot that shows how to approve Azure Storage Private Link in Azure Storage

Setelah Titik Akhir Privat disetujui di Azure SQL Server dan akun Penyimpanan, pekerjaan Impor atau Ekspor akan dimulai. Sampai proses itu selesai, pekerjaan akan ditunda.

Anda dapat memeriksa status pekerjaan Impor atau Ekspor di halaman Riwayat Impor-Ekspor pada bagian Manajemen Data di halaman Azure SQL Server. Screenshot that shows how to check Import Export Jobs Status


Gunakan cmdlet New-AzSqlDatabaseImport untuk mengirimkan permintaan database impor ke Azure. Bergantung pada ukuran database, impor mungkin perlu waktu untuk diselesaikan. Model provisi berbasis DTU mendukung nilai ukuran maksimal database tertentu untuk setiap tingkatan. Saat mengimpor database, gunakan salah satu nilai yang didukung ini.

$importRequest = New-AzSqlDatabaseImport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" ` 
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0] 
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Standard" -ServiceObjectiveName "P6" ` -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
 	    -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

Gunakan cmdlet New-AzSqlDatabaseExport untuk mengirimkan permintaan database ekspor ke layanan Azure SQL Database. Bergantung pada ukuran database Anda, operasi ekspor mungkin membutuhkan waktu untuk diselesaikan.

$importRequest = New-AzSqlDatabaseExport -ResourceGroupName "<resourceGroupName>" `
        -ServerName "<serverName>" -DatabaseName "<databaseName>" `
        -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" ` 
        -StorageKey $(Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName `
                        -StorageAccountName "<storageAccountName>").Value[0] 
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Standard" -ServiceObjectiveName "P6" ` -UseNetworkIsolation $true `
        -StorageAccountResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourcegroups/<resource_group_name>/providers/Microsoft.Storage/storageAccounts/<storage_account_name>" `
 	    -SqlServerResourceIdForPrivateLink "/subscriptions/<subscriptionId>/resourceGroups/<resource_group_name>/providers/Microsoft.Sql/servers/<server_name>" `
        -AdministratorLogin "<userID>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

API yang ada untuk melakukan pekerjaan Impor dan Ekspor telah ditingkatkan untuk mendukung Private Link. Lihat Mengimpor API Database

Batasan

  • Impor menggunakan Private Link tidak dapat menentukan redundansi penyimpanan cadangan saat membuat database baru dan membuat dengan redundansi penyimpanan cadangan geo-redundan default. Solusinya, pertama-tama buat database kosong dengan redundansi penyimpanan cadangan yang diinginkan menggunakan portal Azure atau PowerShell, lalu impor BACPAC ke database kosong ini.
  • Operasi Impor dan Ekspor masih belum didukung di tingkat Hyperscale Azure SQL DB.
  • Impor menggunakan REST API dengan Private Link hanya dapat dilakukan ke database yang ada karena API menggunakan ekstensi database. Untuk mengatasi masalah ini, buat database kosong dengan nama yang diinginkan dan panggil REST API Impor dengan Private Link.

Langkah berikutnya