Secara default, Realtime Compute for Apache Flink tidak dapat mengakses internet publik. Topik ini membahas pertanyaan umum mengenai akses internet publik, konektivitas lintas-VPC, resolusi DNS, dan pengujian jaringan.
Pemecahan masalah jaringan
Realtime Compute for Apache Flink ditempatkan di dalam VPC tertentu yang tidak dapat diubah setelah ruang kerja diaktifkan. Jika sumber data atau sink Anda berada di lingkungan jaringan yang berbeda, komunikasi akan gagal.
Ikuti langkah-langkah berikut untuk mendiagnosis dan menyelesaikan masalah terkait jaringan:
-
Uji konektivitas: Gunakan fitur network probe di Konsol Flink untuk memverifikasi komunikasi antara ruang kerja Flink dan layanan hulu atau hilir Anda. Lihat Jalankan network probe.
-
Verifikasi akses jaringan: Secara default, Flink hanya dapat mengakses layanan dalam wilayah dan VPC yang sama.
-
Akses lintas-VPC: Lihat Akses layanan lintas VPC.
-
Akses internet publik: Gunakan NAT Gateway untuk menghubungkan VPC Anda ke internet; lihat Akses internet.
-
-
Konfigurasikan daftar putih: Pastikan grup keamanan atau firewall layanan hulu/hilir Anda mengizinkan lalu lintas dari ruang kerja Flink Anda. Konfigurasikan daftar putih untuk layanan hulu dan hilir.
-
Sesuaikan pengaturan koneksi: Jika Anda mengalami error timeout yang terus-menerus meskipun konfigurasi jaringan sudah benar, tingkatkan opsi
connect.timeoutdalam pernyataan DDL Anda.
Jalankan network probe
Realtime Compute for Apache Flink menyediakan fitur network probe bawaan untuk pengujian konektivitas. Prosedur:
-
Pada kolom Actions ruang kerja target, klik Console.
-
Klik ikon Network Detection di pojok kanan atas bilah navigasi atas.

-
Masukkan endpoint atau alamat IP dan Port layanan, lalu klik Detect.
PentingSaat Anda memasukkan endpoint di bidang Host, hapus
:<port>dan masukkan nomor port di bidang Port.
Jika network probe mengembalikan error "connect timed out", kemungkinan besar ruang kerja Flink tidak memiliki izin jaringan yang diperlukan untuk mencapai endpoint target. Secara default, Flink hanya dapat mengakses layanan dalam VPC yang sama. Verifikasi bahwa endpoint target Anda bukan alamat internet publik atau berada di VPC yang berbeda. Jika Anda memerlukan akses lintas-VPC atau internet publik, lihat Akses layanan lintas VPC dan Akses internet.
Dapatkan endpoint Hologres
-
Buka Konsol Hologres. Pada halaman Instances, klik instans target.
-
Pada halaman Instance Details, temukan endpoint di bagian Network Information. Pilih endpoint yang sesuai dengan topologi jaringan Anda:
Jenis jaringan
Kasus penggunaan
Dedicated VPC (Direkomendasikan)
Jaringan pribadi yang terhubung ke VPC tertentu.
-
VPC yang sama (Direkomendasikan): Jika instans Hologres dan ruang kerja Flink berada di VPC yang sama, keduanya dapat berkomunikasi secara langsung.
-
VPC berbeda: Jika keduanya berada di VPC yang berbeda, konfigurasikan jaringan lintas-VPC. Untuk informasi lebih lanjut, lihat Akses layanan lintas VPC.
Public Network
Jaringan publik tanpa batasan akses. Latensi mungkin lebih tinggi dan kurang dapat diprediksi dibandingkan akses melalui VPC.
Untuk informasi lebih lanjut, lihat Akses internet publik.
-
-
(Opsional) Jalankan network probe dari Konsol Flink untuk memverifikasi konektivitas. Untuk informasi lebih lanjut, lihat Jalankan network probe.
-
Probe berhasil: Endpoint benar dan jaringan terhubung.
-
Probe gagal: Verifikasi apakah instans Hologres dan ruang kerja Flink berada di VPC yang berbeda atau memerlukan akses internet publik.
-
Akses internet
Akses internet publik biasanya menimbulkan latensi yang lebih tinggi dan lebih fluktuatif dibandingkan komunikasi internal melalui VPC. Untuk beban kerja yang memerlukan latensi dan stabilitas ketat, prioritaskan konektivitas berbasis VPC.
Gunakan Alibaba Cloud NAT Gateway untuk menghubungkan VPC Anda dengan internet publik. Hal ini memungkinkan ruang kerja Flink mengakses sumber data yang dihosting di luar jaringan pribadi Anda. Untuk detailnya, lihat Sumber data publik.
Periksa bandwidth internet
Jika pekerjaan Anda menunjukkan metrik normal dan tidak ada backpressure, tetapi throughput tetap di bawah ekspektasi, bandwidth internet mungkin menjadi bottleneck.
Ikuti langkah-langkah berikut untuk mendiagnosis batasan bandwidth:
-
Di Konsol Realtime Compute for Apache Flink, klik Details pada kolom Actions.
-
Pada dialog Workspace Details, catat VPC ID.
-
Buka Konsol VPC, lalu klik VPC ID target.
-
Pada halaman detail VPC, pilih tab Resource Management. Di bagian Access to Internet, klik angka di bawah Internet NAT Gateway.
Catatan0 menunjukkan Anda belum memiliki instans Internet NAT Gateway.
-
Klik ID internet NAT gateway target.
-
Pada halaman detail, beralih ke tab Associated EIP, lalu klik ID instans EIP.
-
Pada halaman detail instans EIP, pilih tab Monitoring and O&M untuk melihat bandwidth.
Akses layanan lintas VPC
Untuk performa optimal dan penyederhanaan jaringan, kami merekomendasikan menempatkan layanan Anda dalam VPC yang sama dengan ruang kerja Flink. Jika Anda telah menempatkan resource, pertimbangkan hal berikut:
-
Service colocation: Jika layanan masih dalam tahap perencanaan, sediakan layanan tersebut dalam VPC yang sama dengan ruang kerja Flink Anda.
-
Workspace migration: Jika memungkinkan, rilis ruang kerja Flink saat ini dan buat yang baru dalam VPC yang sama dengan layanan yang sudah ada.
-
Cross-VPC connectivity: Untuk layanan yang harus tetap berada di VPC terpisah, konfigurasikan jaringan lintas-VPC. Untuk detailnya, lihat Hubungkan VPC.
Konfigurasikan daftar putih untuk layanan hulu dan hilir
Umumnya, layanan hulu dan hilir menolak akses dari Flink. Tambahkan Blok CIDR vSwitch yang dikonfigurasi untuk ruang kerja Flink Anda ke daftar putih setiap layanan target.
-
Pada kolom Actions ruang kerja target, klik Details.
-
Pada dialog Workspace Details, di bagian vSwitch, catat CIDR Block vSwitch.

-
Tambahkan Blok CIDR vSwitch ke daftar putih layanan hulu atau hilir target Anda.
Sebagai contoh, untuk mengonfigurasi daftar putih instans ApsaraDB RDS for MySQL, lihat Konfigurasikan daftar putih untuk instans RDS.
Catatan-
vSwitch scaling: Jika Anda menambahkan lebih banyak vSwitch ke ruang kerja Anda, ulangi proses konfigurasi untuk setiap vSwitch baru.
-
Cross-zone connectivity: Jika vSwitch dan layanan hulu/hilir Anda berada di zona yang berbeda, Anda tetap dapat mengaktifkan konektivitas dengan menambahkan Blok CIDR vSwitch ke daftar putih layanan.
-
Resolusi nama domain untuk dependensi pekerjaan Flink
Jika pekerjaan Anda mereferensikan layanan eksternal melalui nama domain, Anda mungkin mengalami error resolusi DNS selama migrasi dari kluster yang dikelola sendiri ke Realtime Compute for Apache Flink. Gunakan metode berikut untuk menyelesaikan masalah ini:
-
Metode A: Menggunakan server DNS yang dikelola sendiri
Jika VPC Flink Anda dapat mengakses server DNS yang dikelola sendiri, konfigurasikan ruang kerja Flink untuk menggunakannya.
-
Pada kolom Actions ruang kerja target, klik Console.
-
Di panel navigasi kiri, pilih . Pada tab Deployment Defaults, temukan Other Configuration dan tambahkan kode berikut.
env.java.opts: >- -Dsun.net.spi.nameservice.provider.1=default -Dsun.net.spi.nameservice.provider.2=dns,sun -Dsun.net.spi.nameservice.nameservers=192.168.0.1(Ganti
192.168.0.1dengan IP server DNS aktual Anda; pisahkan beberapa IP dengan koma.) -
Klik Save Changes.
-
Redeploy pekerjaan Anda.
Catatan-
Kompatibilitas engine: Konfigurasi ini tidak didukung pada engine berbasis JDK 11.
-
Pemecahan masalah: Jika error
UnknownHostExceptionmasih terjadi, hubungi dukungan teknis Alibaba Cloud. Jika pekerjaan sering mengalami timeout heartbeatJobManager, lihat Error: JobManager heartbeat timeout.
-
-
Metode B: Menggunakan Alibaba Cloud DNS
Jika Anda tidak memiliki server DNS yang dikelola sendiri atau jika VPC Flink tidak dapat mengakses server DNS yang ada, gunakan Alibaba Cloud DNS untuk meresolusi nama domain layanan Anda.
Bagaimana cara memaksa resolusi DNS menggunakan IPv4?
Ketika nama domain layanan backend meresolusi ke Alamat IPv6, koneksi mungkin gagal. Anda dapat menambahkan parameter JVM untuk memaksa penggunaan tumpukan protokol IPv4.
Tambahkan parameter berikut ke Other Configuration:
env.java.opts: '-Djava.net.preferIPv4Stack=true'
Parameter ini dapat diterapkan pada dua tingkat:
-
Per pekerjaan: Pada halaman O&M, klik pekerjaan target lalu buka . Untuk informasi lebih lanjut, lihat Parameter.
-
Untuk seluruh ruang kerja: Buka .
Simpan konfigurasi dan restart pekerjaan agar perubahan berlaku.
Error: JobManager heartbeat timeout
-
Gejala
Setelah mengonfigurasi server DNS yang dikelola sendiri untuk resolusi domain, pekerjaan sering gagal dengan error
JobManager heartbeat timeout. -
Penyebab
Latensi DNS tinggi: Latensi antara TaskManagers dan server DNS yang dikelola sendiri menyebabkan penundaan yang mengganggu sinyal heartbeat antara JobManager dan TaskManagers.
-
Solusi
Nonaktifkan resolusi hostname untuk TaskManagers agar melewati pencarian DNS selama pemeriksaan heartbeat. Tambahkan konfigurasi berikut ke konfigurasi pekerjaan Anda:
jobmanager.retrieve-taskmanager-hostname: false. Konfigurasi ini tidak memengaruhi kemampuan pekerjaan untuk terhubung ke layanan eksternal melalui nama domain. Untuk instruksi detail, lihat Konfigurasikan parameter runtime kustom.
Mengapa Kafka mengembalikan timeout metadata meskipun jaringan terhubung?
Konektivitas jaringan antara Flink dan Kafka tidak menjamin bahwa Flink dapat membaca data dari Kafka. Flink terhubung ke server bootstrap Kafka untuk mengambil metadata kluster, yang berisi endpoint yang diiklankan dari setiap broker. Flink harus dapat mencapai endpoint yang diiklankan tersebut untuk membaca data.
Meskipun koneksi bootstrap awal berhasil, transfer data gagal jika endpoint yang diiklankan dalam metadata broker tidak dapat dijangkau dari VPC Flink. Untuk informasi lebih lanjut, lihat Kafka Client Cannot Connect to Broker.
Untuk mendiagnosis masalah ini:
-
Gunakan
zkCli.shatauzookeeper-shell.shuntuk terhubung ke kluster ZooKeeper yang digunakan oleh Kafka. -
Jalankan
ls /brokers/idsuntuk menampilkan semua ID broker Kafka. -
Jalankan
get /brokers/ids/{your_broker_id}untuk melihat metadata broker. Informasi endpoint berada di bidanglistener_security_protocol_map. -
Verifikasi bahwa Flink dapat mencapai endpoint yang tercantum dalam metadata broker.
Jika endpoint menggunakan nama domain, konfigurasikan resolusi DNS untuk ruang kerja Flink Anda. Untuk informasi lebih lanjut, lihat Resolusi nama domain untuk dependensi pekerjaan Flink.