Membuat koneksi hibrid Azure Relay

Selesai

Azure Relay memberi Anda cara untuk menghubungkan layanan di seluruh batas jaringan dan firewall, tanpa harus mengonfigurasi ulang penyiapan keamanan Anda.

Anda ingin memindahkan semua sistem di organisasi keuangan Anda ke cloud. Namun, peraturan di yurisdiksi Anda mencegah Anda melakukan migrasi layanan pemeriksaan kredit Anda. Layanan ini harus tetap lokal untuk tujuan perlindungan data. Anda memerlukan cara untuk menghubungkan layanan cloud ke layanan pemeriksaan kredit. Idealnya, Anda lebih suka tidak membuka port tambahan di firewall lokal atau membangun jaringan privat maya.

Di unit ini, Anda mempelajari bagaimana Azure Relay dapat menyediakan koneksi ini.

Apa itu Azure Relay?

Banyak organisasi yang memigrasikan sistem mereka ke cloud. Proses ini sering dilakukan komponen demi komponen, sebagai pendekatan bertahap. Pendekatan seperti itu membatasi efek masalah yang mungkin muncul selama migrasi, tetapi memiliki tantangan tersendiri. Misalnya, komponen cloud yang baru dimigrasikan sering kali perlu berkomunikasi dengan komponen lain yang tetap lokal, tetapi dilindungi oleh firewall atau sistem keamanan lainnya.

Dalam kasus lain, Anda mungkin menemukan bahwa layanan lokal tidak dapat dimigrasikan ke cloud. Misalnya, yurisdiksi Anda mungkin memberlakukan persyaratan keamanan ekstra pada sistem keuangan, yang tidak dapat Anda patuhi dalam sistem cloud.

Dalam situasi seperti ini, Anda memerlukan layanan lokal agar dapat dialamatkan dari klien internet atau komponen cloud. Anda bisa membuka port firewall untuk mengaktifkan komunikasi ini, tetapi pendekatan tersebut mungkin memiliki konsekuensi yang tidak diinginkan. Misalnya, Anda mungkin tidak sengaja mengekspos layanan selain yang ada dalam pikiran Anda. Di organisasi besar, Anda mungkin tidak bertanggung jawab atas firewall. Perubahan pada otoritas keamanan mungkin memerlukan otorisasi tingkat tinggi yang perlu waktu untuk didapatkan.

Azure Relay mengatasi masalah semacam ini dengan menyediakan titik di cloud tempat komponen lokal dan berbasis internet dapat terhubung. Karena sistem lokal memulai koneksi ini, Anda tidak perlu membuka port firewall apa pun atau mengonfigurasi ulang jaringan lokal dengan cara apa pun.

Koneksi hibrid dan koneksi Windows Communication Foundation

Azure Relay membangun koneksi di antara dua komponen, seperti fungsi Azure dan layanan lokal. Ketika koneksi dibuat, permintaan dan respons dapat ditukar melalui relai, seolah-olah ada koneksi langsung. Anda bisa membuat dua jenis koneksi di Azure Relay:

  • Koneksi hibrid: Koneksi hibrid adalah aliran dua arah data biner yang menggunakan standar WebSocket atau HTTP. Karena koneksi ini didasarkan pada standar terbuka, Anda dapat menggunakannya dari hampir semua bahasa atau kerangka kerja pengodean. Misalnya, Anda dapat menggunakannya untuk menyambungkan server Node.js lokal ke pekerjaan web Azure yang ditulis di C# dan .NET Framework.
  • Koneksi WCF: Beberapa pengembang menggunakan Windows Communication Foundation (WCF) untuk mengaktifkan panggilan prosedur jarak jauh. WCF umumnya digunakan untuk komunikasi jaringan dengan versi .NET Framework yang lebih lama. WCF sekarang dianggap sebagai protokol lama, tetapi tetap digunakan secara umum dalam aplikasi yang lebih lama. Karena Azure Relay mendukung WCF, Anda dapat menggunakannya dengan komponen .NET Framework yang ada yang menggunakan standar ini, tanpa harus menulis ulang.

Gunakan koneksi hibrid, kecuali Anda mendukung komponen .NET Framework yang ada yang menggunakan WCF.

Koneksi WebSocket dan koneksi HTTP

Koneksi hibrid bisa menggunakan salah satu protokol berikut:

  • HTTP: Protokol tanpa status ini terdiri dari permintaan seperti GET dan POST, serta digunakan untuk mentransfer halaman web antara server web dan browser. Biasanya, HTTP menggunakan port TCP 80 atau 443 ketika permintaan diamankan dengan Secure Sockets Layer. Protokol ini didukung secara luas dan mudah dikodekan. Namun, karena protokol ini tanpa status, kurang efisien untuk komunikasi terus-menerus.
  • WebSocket: Protokol ini membuat saluran komunikasi dupleks penuh melalui port 80 atau 443, yang lebih efisien daripada protokol HTTP tanpa status. Koneksi WebSocket sangat efisien ketika komunikasi terdiri dari banyak pesan, tidak hanya satu permintaan dan respons.

Dalam modul ini, karena prosesnya adalah permintaan sederhana untuk pemeriksaan kredit, diikuti dengan satu respons, Anda menggunakan koneksi hibrid dan protokol HTTP.

Cara kerja Azure Relay

Karena komponen yang dihosting cloud dan lokal memulai koneksi ke Azure Relay, firewall lokal tidak turut campur. Ketika koneksi dibuat, komunikasi dapat dikirim di kedua arah.

Diagram berikut ini memperlihatkan cara pembuatan koneksi:

Diagram showing how Azure Relay exchanges messages.

  1. Klien yang mendengarkan mengirimkan permintaan mendengarkan pada layanan Azure Relay. Penyeimbang muatan Azure merutekan permintaan ke salah satu simpul gateway.
  2. Layanan Azure Relay membuat relai di penyimpanan gateway.
  3. Klien yang mengirim meminta untuk tersambung ke layanan mendengarkan.
  4. Gateway yang menerima permintaan mencari relai di simpanan gateway.
  5. Gateway meneruskan permintaan koneksi ke gateway yang tepat yang disebutkan di penyimpanan gateway.
  6. Gateway mengirim permintaan ke klien yang mendengarkan untuk membuat saluran sementara ke simpul gateway yang paling dekat dengan klien pengirim.
  7. Klien yang mendengarkan membuat saluran sementara ke gateway yang terdekat dengan klien pengirim. Setelah koneksi dibuat antara klien melalui gateway, klien dapat bertukar pesan satu sama lain.
  8. Gateway meneruskan pesan apa pun dari klien yang mendengarkan kepada klien pengirim.
  9. Gateway meneruskan pesan apa pun dari klien yang mengirim kepada klien pendengar.

Cara membuat relai

Untuk membuat relai, Anda memerlukan namespace yang unik dalam domain servicebus.windows.net. Anda juga menentukan langganan, grup sumber daya, dan lokasi untuk relai, yang seharusnya dekat dengan sebagian besar klien.

Untuk mengontrol tindakan yang dapat dilakukan klien saat terhubung, gunakan kebijakan akses bersama. Anda menggunakan kebijakan ini untuk mengizinkan apakah klien dapat mengirim pesan ke atau membaca pesan dari relai. Tiap kebijakan akses bersama memiliki kunci primer dan sekunder. Untuk menyambungkan ke relai, tiap klien harus menyediakan salah satu kunci ini.

Terakhir, Anda harus membuat koneksi di namespace. Ini bisa berupa koneksi hibrid atau koneksi WCF.