All Products
Search
Document Center

Microservices Engine:Konfigurasikan gateway cloud-native MSE sebagai gerbang keluar

Last Updated:Jun 22, 2026

Gerbang keluar (egress gateway) merupakan gerbang tepi yang menghubungkan jaringan internal ke jaringan eksternal, mengontrol lalu lintas jaringan, serta memungkinkan akses dan komunikasi jarak jauh. Anda dapat menggunakan gateway cloud-native MSE sebagai gerbang keluar untuk menyediakan layanan egress jaringan yang stabil, efisien, dan aman bagi kluster Container Service for Kubernetes (ACK), sehingga memungkinkan pengelolaan traffic keluar dan penerapan kontrol keamanan.

Manfaat gateway cloud-native MSE

  • Gateway cloud-native MSE menyediakan gerbang yang dideploy dan dikelola secara terpisah. Isolasi dari kluster ACK ini menjamin stabilitas yang lebih tinggi.

  • Gateway cloud-native MSE menyediakan fitur tata kelola HTTP Lapisan 7, seperti daftar izin dan daftar penolakan berbasis IP, pembatasan kecepatan trafik, load balancing, TLS offloading, pencerminan lalu lintas, dan kontrol header.

  • Anda tidak perlu mengaktifkan akses jaringan publik untuk setiap Pod di kluster ACK. Cukup aktifkan akses publik hanya untuk gateway cloud-native MSE dengan mengonfigurasi SNAT pada vSwitch-nya. Pendekatan ini mengurangi permukaan serangan dan meningkatkan keamanan.

Arsitektur deployment

image.png

Prosedur

Langkah 1: Instal MSE Ingress Controller

Instal MSE Ingress Controller pada kluster Container Service for Kubernetes (ACK) atau kluster ACK Serverless yang sudah ada, atau lakukan instalasi saat membuat kluster baru. Untuk informasi selengkapnya, lihat Mengelola komponen MSE Ingress Controller.

Langkah 2: Buat resource MseIngressConfig

MseIngressConfig adalah Custom Resource Definition (CRD) yang disediakan oleh MSE Ingress Controller. Anda dapat membuat resource MseIngressConfig untuk membuat atau mengaitkan instans gateway yang dikelola oleh MSE. Untuk informasi selengkapnya, lihat Membuat instans gateway cloud-native MSE.

Saat membuat gateway, Anda hanya perlu membuat Classic Load Balancer (CLB) dengan akses internal. Berikut ini contoh konfigurasinya:

apiVersion: mse.alibabacloud.com/v1alpha1
kind: MseIngressConfig
metadata:
  name: egress-gateway
spec:
  name: egress-gateway
  common:
    instance:
      spec: 2c4g
      replicas: 3
    network:
      vSwitches:
        - "vsw-xxxx" # ID vSwitch tempat gateway dikaitkan.
      privateSLBSpec: slb.s2.small
Catatan

Jika Anda tidak memilih Configure SNAT for VPC saat membuat kluster ACK atau kluster ACK Serverless, kluster tersebut tidak dapat mengakses Internet. Anda harus mengonfigurasi SNAT secara terpisah untuk gateway agar akses publik dapat diaktifkan.

Akses jaringan publik memerlukan entri SNAT di NAT gateway. Untuk membuat NAT gateway, lihat Menggunakan fitur SNAT pada public NAT gateway untuk mengakses Internet. Pada dokumen yang ditautkan, ikuti petunjuk di Langkah 3: Membuat entri SNAT. Untuk entri SNAT tersebut, pilih vSwitch dan masukkan ID vSwitch dari MseIngressConfig Anda.

Langkah 3: Buat layanan ExternalName

Layanan ExternalName Kubernetes memetakan layanan internal ke nama DNS. Misalnya, untuk mengakses halaman produk Alibaba Cloud MSE dari dalam kluster Kubernetes Anda, gunakan konfigurasi berikut:

apiVersion: v1
kind: Service
metadata:
  name: aliyun-svc-external
  namespace: default
spec:
  externalName: www.aliyun.com
  ports:
    - name: port1
      port: 80
      protocol: TCP
      targetPort: 80
    - name: port2
      port: 443
      protocol: TCP
      targetPort: 443
  type: ExternalName

Langkah 4: Konfigurasikan routing untuk layanan ExternalName

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: mse-ingress
  namespace: default
spec:
  ingressClassName: mse
  rules:
    - host: www.aliyun.com  # Nama domain tujuan.
      http:
        paths:
          - backend:
              service:
                name: aliyun-svc-external  # Layanan ExternalName backend.
                port:
                  number: 80
            path: /product/aliware/mse  # Jalur akses ke layanan backend.
            pathType: Prefix

Simpan konfigurasi di atas sebagai mse-ingress.yaml dan jalankan kubectl apply -f mse-ingress.yaml. Kemudian, jalankan kubectl get ingress mse-ingress -o yaml untuk melihat resource Ingress dan mendapatkan alamat CLB dari gateway cloud-native MSE. Berikut ini contoh output-nya:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS  # Diperlukan karena layanan Alibaba Cloud mewajibkan HTTPS. Gateway harus menggunakan HTTPS untuk merutekan ke layanan backend.
  name: mse-ingress
  namespace: default
spec:
  ingressClassName: mse
  rules:
    - host: www.aliyun.com
      http:
        paths:
          - backend:
              service:
                name: aliyun-svc-external
                port:
                  number: 443
            path: /product/aliware/mse  
            pathType: Prefix
status:
  loadBalancer:
    ingress:
      - ip: xx.xx.xx.xx  # Ganti dengan alamat CLB gateway cloud-native MSE.

Langkah 5: Verifikasi akses ke layanan eksternal

curl http://www.aliyun.com/product/aliware/mse --resolve  www.aliyun.com:80:xx.xx.xx.xx
Catatan

Ganti xx.xx.xx.xx dengan alamat IP CLB gateway dari Langkah 4.

Dokumen terkait

Untuk mempelajari cara menggunakan fitur gateway lanjutan lainnya dengan Ingress, lihat Penggunaan lanjutan MSE Ingress.