Panduan ini menjelaskan cara secara otomatis menerapkan isolasi lalu lintas antara lingkungan pengembangan lokal dan pengujian di Serverless App Engine (SAE) dengan mensimulasikan rantai panggilan nyata untuk memfasilitasi pengembangan dan debugging cepat.
Prasyarat
Instal dan konfigurasikan Cloud Toolkit di IntelliJ IDEA.
- Buat Instance Elastic Compute Service (ECS) yang dapat diakses melalui Secure Shell (SSH) dalam virtual private cloud (VPC) tempat aplikasi Anda berada untuk membangun saluran antara aplikasi lokal dan awan. Untuk informasi lebih lanjut, lihat Buat dan kelola instance ECS di konsol (versi ekspres). Penting
- Instance ECS dan aplikasi harus berada dalam VPC yang sama.
- Saluran SSH memerlukan login kata sandi. Login pasangan kunci tidak didukung.
- Jika proxy dikonfigurasi untuk sistem operasi Anda, sistem mungkin gagal membangun saluran antara aplikasi lokal dan awan. Nonaktifkan proxy dan coba lagi.
Latar Belakang
Dengan menggunakan aplikasi mikro layanan Spring Cloud sebagai contoh, isolasi lalu lintas dapat dicapai melalui langkah-langkah berikut:
Menetapkan tag lalu lintas.
Menggunakan debugging ujung-awan.
Mengarahkan lalu lintas melalui jalur berbeda ke lingkungan pengujian SAE atau pengembangan lokal.
Tidak diperlukan modifikasi kode bisnis.

Langkah 1: Menyebarkan aplikasi ke lingkungan pengujian SAE
Sebarkan aplikasi demo dan beri nama mereka dengan spring-cloud-zuul, spring-cloud-a, spring-cloud-b, dan spring-cloud-c. Untuk detail lebih lanjut, lihat Modifikasi pendaftaran dan penemuan layanan aplikasi ke Nacos.
Anda dapat menyebarkan aplikasi menggunakan metode gambar atau paket JAR dan harus mengonfigurasi parameter startup -Dnacos.use.endpoint.parsing.rule=false dan -Dnacos.use.cloud.namespace.parsing=false untuk memanfaatkan pusat pendaftaran yang dibeli.
Langkah 2: Konfigurasikan interkoneksi ujung-awan
Mulai IntelliJ IDEA.
Di bilah menu atas, pilih .
Di kotak dialog Settings, pilih .
Di halaman Microservice , konfigurasikan parameter terkait untuk menghubungkan sistem lokal dengan awan.
Proxy: Untuk menyiapkan proxy, beli instance ECS dengan IP publik dalam VPC yang sama dengan aplikasi SAE. Tambahkan instance tersebut ke halaman Proxy.
Microservice: Di halaman Microservice, konfigurasikan proxy dan daftar ke pusat MSE yang dibeli.
MSE: Di halaman MSE , konfigurasikan parameter terkait.
Masukkan License Key dan App Name.
Masuk ke Webshell SAE dan jalankan perintah berikut untuk mengambil License Key dan App Name.
env | grep javaUntuk instruksi tentang cara masuk ke Webshell, lihat Tampilkan jendela webshell dalam layar penuh.
Contoh output:
JAVA_TOOL_OPTIONS=-javaagent:/home/admin/.opt/ArmsAgent/arms-bootstrap-1.7.0-SNAPSHOT.jar -Darms.licenseKey=iioe7jcnuk@a0bcdaec24f**** -Darms.appId=8641dbc9-8663-4c47-95f7-683fa6dd**** -Darms.agent.env=Serverless -Darms.agent.args= -Dprofiler.micro.service.canary.enable=true -Dprofiler.micro.service.metadata.report.enable=true -Dprofiler.micro.service.http.server.enable=true -Dmsc.appName=cn-shenzhen-test-sc-gateway-****** -Dmsc.licenseKey=iioe7jcnuk@460d62050fa****Tetapkan tag. Di bidang Tag, masukkan local.
Unduh agen yang diperlukan ke komputer lokal Anda.
Klik Apply, lalu klik OK.
Luncurkan aplikasi lokal dan konfirmasikan bahwa debugging terintegrasi berhasil.
Ketika Anda melihat pesan di kotak dialog Info yang mengonfirmasi bahwa interkoneksi antara lokal dan awan berhasil diaktifkan, fitur tersebut telah aktif.
Langkah 3: Uji pengarahan lalu lintas
Saat mengirim permintaan HTTP ke gateway asli awan, sertakan x-mse-tag=[local] di header permintaan. Setelah dikonfigurasi, lalu lintas akan secara otomatis menyelesaikan loop tertutup di lingkungan yang ditentukan.
Kunci x-mse-tag adalah bidang statis; nilainya harus sesuai dengan tag lingkungan.
Setelah menetapkan tag lingkungan, gunakan perintah curl untuk memulai permintaan panggilan lalu lintas. Hasilnya adalah sebagai berikut:
Jalur utama:
curl http://47.106.XX.XX:8080/A/aOutput:
A[10.0.1.160] -> B[10.0.1.161] -> C[10.0.1.162]Jalur cabang:
curl http://47.106.XX.XX:8080/A/a \--header 'x-mse-tag: local'Output:
A[127.0.0.1] -> B[127.0.0.1] -> C[10.0.1.162]