All Products
Search
Document Center

Cloud Enterprise Network:Akses layanan bersama dari VPC terisolasi

Last Updated:Apr 01, 2026

Cloud Enterprise Network (CEN) memungkinkan Anda menentukan kebijakan konektivitas, isolasi, dan pengalihan lalu lintas yang fleksibel dalam satu wilayah. Topik ini menjelaskan cara menggunakan CEN untuk mengaktifkan beberapa VPC terisolasi agar dapat mengakses layanan bersama yang sama.

Latar Belakang

Topik ini menggunakan skenario berikut. Sebuah perusahaan telah men-deploy tiga VPC di wilayah China (Hangzhou). VPC3 menyediakan layanan bersama. Perusahaan ingin mengizinkan VPC1 dan VPC2 mengakses layanan bersama di VPC3, tetapi mencegah VPC1 dan VPC2 saling berkomunikasi.

Perencanaan jaringan

Untuk mencapai tujuan ini, Anda dapat menggunakan fitur CEN seperti tabel rute kustom, asosiasi tabel rute, dan pembelajaran rute. Gambar berikut menunjukkan arsitektur jaringan dan routing yang direncanakan.

  • Saat menyambungkan VPC3 ke Router transit, aktifkan fitur lanjutan Associate with Default Route Table of Transit Router dan Propagate System Routes to Default Route Table of Transit Router.

    Setelah mengaktifkan fitur-fitur ini, tabel rute default Router transit secara otomatis mempelajari rute sistem dari VPC3. VPC3 kemudian menggunakan tabel rute ini untuk meneruskan lalu lintas.

  • Saat menyambungkan VPC1 dan VPC2 ke Router transit, aktifkan hanya fitur lanjutan Propagate System Routes to Default Route Table of Transit Router. Kemudian, asosiasikan VPC1 dan VPC2 dengan tabel rute kustom Router transit dan tambahkan entri rute kustom yang mengarah ke VPC3 dalam tabel tersebut.

    Setelah konfigurasi ini, tabel rute default Router transit mempelajari semua rute sistem dari VPC1 dan VPC2. VPC1 dan VPC2 menggunakan tabel rute kustom untuk meneruskan lalu lintas ke VPC3. Dalam konfigurasi ini, VPC1 dan VPC2 tidak dapat saling berkomunikasi.

  • Tambahkan entri rute dengan tujuan 0.0.0.0/0 ke tabel rute VPC1, VPC2, dan VPC3. Lompatan berikutnya (next hop) rute tersebut harus merupakan Router transit.

  • Buat tiga VPC di wilayah China (Hangzhou) dan buat vSwitch di zona yang ditentukan. Tabel berikut menjelaskan rencana Blok CIDR untuk VPC tersebut.

    Penting

    Saat merencanakan jaringan Anda, pastikan Blok CIDR VPC tidak tumpang tindih.

    VPC

    vSwitch

    Zona vSwitch

    Blok CIDR

    Alamat IP ECS

    VPC1

    Blok CIDR utama: 192.168.0.0/16

    vSwitch1

    Zona A

    192.168.0.0/24

    Alamat IP ECS1:

    192.168.0.224

    vSwitch2

    Zona B

    192.168.1.0/24

    VPC2

    Blok CIDR utama: 172.16.0.0/16

    vSwitch3

    Zona A

    172.16.0.0/24

    Alamat IP ECS2:

    172.16.0.222

    vSwitch4

    Zona B

    172.16.1.0/24

    VPC3

    Blok CIDR utama: 10.0.0.0/16

    vSwitch5

    Zona A

    10.0.0.0/24

    Alamat IP ECS3:

    10.0.0.112

    vSwitch6

    Zona B

    10.0.1.0/24

Prosedur

Anda dapat mengonfigurasi resource di Konsol atau dengan menggunakan Terraform. Pilih metode yang paling sesuai dengan kebutuhan Anda.

Konsol

Langkah 1: Buat instans CEN

Sebelum menghubungkan instans jaringan, Anda harus membuat instans CEN.

  1. Login ke Konsol CEN.

  2. Pada halaman Instances, klik Create CEN Instance.

  3. Di kotak dialog Create CEN Instance, konfigurasikan instans CEN lalu klik OK.

    • Name: Masukkan nama untuk instans CEN.

    • Description: Masukkan deskripsi untuk instans CEN.

Langkah 2: Buat lampiran VPC

  1. Pada halaman Instances, klik ID instans CEN yang telah Anda buat.

  2. Pada tab Basic Information, temukan bagian VPC lalu klik ikon 添加网络实例.

  3. Pada halaman Connection with Peer Network Instance, konfigurasikan parameter lalu klik OK.

    • Network Type: Virtual Private Cloud (VPC) dipilih secara default.

    • Region: Pilih wilayah tempat instans jaringan dideploy. Dalam contoh ini, China (Hangzhou) dipilih.

    • Transit Router: Sistem secara otomatis membuat Router transit di wilayah yang dipilih.

    • Resource Owner UID: Pilih jenis akun pemilik instans jaringan. Dalam contoh ini, nilai default Current Account digunakan.

    • Metode penagihan: Gunakan nilai default pay-as-you-go.

    • Attachment Name: Masukkan nama untuk lampiran.

    • Network Instance: Pilih ID VPC yang akan dihubungkan. Dalam contoh ini, VPC3 dipilih.

    • vSwitch: Pilih vSwitch di zona yang didukung oleh Router transit.

      • Jika Router transit edisi perusahaan dideploy di wilayah yang hanya mendukung satu zona, pilih vSwitch di zona tersebut.

      • Jika dideploy di wilayah yang mendukung beberapa zona, pilih minimal dua vSwitch di zona berbeda untuk disaster recovery antar zona. Hal ini memastikan transmisi data antara VPC dan Router transit tidak terputus.

      • Kami menyarankan Anda memilih vSwitch di setiap zona untuk mengurangi latensi dan meningkatkan kinerja jaringan karena data dapat ditransmisikan melalui jarak yang lebih pendek.

    • Advanced Settings: Sistem memilih tiga fitur lanjutan berikut secara default. Untuk VPC3 dalam contoh ini, aktifkan hanya fitur Associate with Default Route Table of Transit Router dan Propagate System Routes to Default Route Table of Transit Router.

    • Setelah membuat lampiran untuk VPC3, klik Create More Connections.

      Ulangi langkah3 untuk membuat lampiran untuk VPC1 dan VPC2. Saat membuat lampiran ini, pilih hanya pengaturan lanjutan Propagate System Routes to Default Route Table of Transit Router.

    • Setelah semua lampiran VPC dibuat, klik Return to the List untuk kembali ke halaman detail instans.

    Langkah 3: Asosiasikan VPC1 dan VPC2 dengan routing kustom

    1. Pada halaman detail instans, temukan Router transit yang telah Anda buat lalu klik ID-nya.

    2. Pada halaman detail Router transit, klik tab Route Table.

    3. Di panel kiri, klik Create Route Table.

    4. Di kotak dialog Create Route Table, konfigurasikan parameter lalu klik OK.

      • Transit Router: Sistem secara otomatis memilih Router transit di wilayah saat ini.

      • Route Table Name: Masukkan nama untuk tabel rute.

      • Route Table Description: Masukkan deskripsi untuk tabel rute.

      • Multi-region ECMP Routing: Pertahankan pengaturan default.

    5. Klik View Route Table Details untuk kembali ke tab Route Table.

    6. Pada tab Route Table, pilih tabel rute kustom yang baru saja Anda buat. Klik tab Route Table Association lalu klik Create Association.

    7. Di kotak dialog Add Association, pilih lampiran VPC yang akan diasosiasikan dengan tabel rute kustom lalu klik OK.

      Dalam contoh ini, asosiasikan VPC1 dan VPC2 dengan tabel rute kustom. Setelah asosiasi dibuat, VPC1 dan VPC2 akan menggunakan tabel rute ini untuk meneruskan lalu lintas.

    8. Pada halaman detail tabel rute kustom, klik tab Route Entry lalu klik Create Route Entry.

    9. Di kotak dialog Add Route Entry, konfigurasikan parameter lalu klik OK.

      • Route Table: Sistem secara otomatis memilih tabel rute kustom saat ini.

      • Transit Router: Sistem secara otomatis memilih Router transit di wilayah saat ini.

      • Route Entry Name: Masukkan nama untuk entri rute.

      • Destination CIDR Block: Masukkan blok CIDR tujuan untuk rute. Dalam contoh ini, masukkan 10.0.0.0/16.

      • Blackhole Route: Jika opsi ini diaktifkan, seluruh lalu lintas yang ditujukan ke rute ini akan dibuang. Dalam contoh ini, pilih No.

      • Next Hop: Pilih lompatan berikutnya untuk rute. Dalam contoh ini, pilih lampiran VPC3.

      • Route Entry Description: Masukkan deskripsi untuk entri rute.

    Langkah 4: Tambahkan rute default ke VPC

    Ke tabel rute VPC1, VPC2, dan VPC3, tambahkan entri rute di Konsol VPC dengan blok CIDR tujuan 0.0.0.0/0 dan lompatan berikutnya mengarah ke lampiran Router transit.

    1. Login ke Konsol VPC.

    2. Di panel navigasi kiri, klik Route Tables.

    3. Di bilah navigasi atas, pilih wilayah tempat tabel rute berada.

    4. Pada halaman Route Tables, temukan tabel rute target lalu klik ID-nya.

      Dalam contoh ini, tabel rute VPC3 dipilih.

    5. Pada halaman detail tabel rute, di tab Route Entries, klik sub-tab Custom. Lalu, klik Add Route Entry.

    6. Di panel Add Route Entry, konfigurasikan entri rute lalu klik OK.

      • Name: Masukkan nama untuk entri rute.

      • Destination CIDR Block: Masukkan blok CIDR tujuan. Dalam contoh ini, masukkan 0.0.0.0/0.

      • Next Hop Type: Pilih jenis lompatan berikutnya. Dalam contoh ini, pilih Transit Router.

      • Transit Router: Pilih lampiran instans jaringan. Dalam contoh ini, pilih lampiran VPC3.

      Untuk informasi lebih lanjut tentang parameter, lihat Kelola lalu lintas jaringan menggunakan tabel rute kustom.

    7. Ulangi langkah 4 hingga langkah 6 untuk menambahkan rute default dengan tujuan 0.0.0.0/0 dan lompatan berikutnya mengarah ke lampiran Router transit untuk VPC1 dan VPC2.

      Setelah menyelesaikan konfigurasi, Anda dapat melihat informasi routing untuk VPC dan tabel rute Router transit pada halaman detail Router transit di Konsol CEN.

      1. Pada halaman detail Router transit, klik Network Routes untuk melihat rute untuk VPC1, VPC2, dan VPC3.

        1. Pada halaman detail Router transit, klik Network Routes.

        2. Dari daftar drop-down Network Instance, pilih ID instans VPC1, VPC2, atau VPC3 untuk melihat rutenya.

          Gambar 1. Rute VPC1

          image

          Gambar 2. Rute VPC2

          image

          Gambar 3. Rute VPC3

          image

      2. Pada tab Route Table, Anda dapat melihat rute yang telah dipelajari oleh tabel rute sistem Router transit dari VPC1, VPC2, dan VPC3.

        1. Pada halaman detail Router transit, klik Route Table.

        2. Pada tab Route Table, lihat entri rute dalam tabel rute.

          Gambar 4. Tabel rute sistem

          image

          Gambar 5. Tabel rute kustom

          image

    Langkah 5: Verifikasi konektivitas

    Setelah menyelesaikan langkah-langkah sebelumnya, uji konektivitas antara VPC1, VPC2, dan VPC3.

    Catatan

    Sebelum memulai, periksa aturan grup keamanan yang diterapkan pada instans ECS di VPC1, VPC2, dan VPC3. Pastikan aturan tersebut mengizinkan komunikasi antar instans. Untuk informasi lebih lanjut, lihat Lihat aturan grup keamanan.

    1. Login ke instans ECS di VPC1. Untuk informasi lebih lanjut, lihat Hubungkan ke instans ECS.

    2. Jalankan perintah ping untuk menguji konektivitas ke instans ECS di VPC3.

      Respons sukses mengonfirmasi bahwa VPC1 dan VPC3 dapat berkomunikasi.共享VPC-VPC1-VPC3

    3. Login ke instans ECS di VPC2. Jalankan perintah ping untuk menguji konektivitas ke instans ECS di VPC3.

      Respons sukses mengonfirmasi bahwa VPC2 dan VPC3 dapat berkomunikasi.共享VPC-VPC2-VPC3

    4. Login ke instans ECS di VPC1. Jalankan perintah ping untuk menguji konektivitas ke instans ECS di VPC2.

      Tidak adanya respons mengonfirmasi bahwa VPC1 dan VPC2 tidak dapat berkomunikasi.共享VPC-VPC1-VPC2

    Terraform

    Anda dapat menggunakan Terraform untuk membangun lingkungan untuk skenario ini. Untuk informasi lebih lanjut tentang cara menginstal dan mengonfigurasi Terraform, lihat Instal Terraform.

    Langkah-langkah berikut menunjukkan cara menjalankan Terraform v1.9.8 pada host Linux. Sebelum memulai, pastikan Anda telah menyelesaikan Authentication.

    Catatan

    Resource yang dibuat dalam tutorial ini dapat menimbulkan biaya. Untuk menghindari tagihan tak terduga, hapus resource setelah Anda menyelesaikan pengujian.

    Langkah 1: Buat resource

    Kode Terraform berikut digunakan untuk skenario ini:

    variable "pname" {
      description = "The prefix name for the resources"
      type        = string
      default     = "tf-CenSharedVpc"
    }
    
    variable "default_region" {
      description = "Default region"
      type        = string
      default     = "cn-hangzhou"
    }
    
    variable "az_list" {
      description = "List of availability zones to use"
      type        = list(string)
      default     = ["cn-hangzhou-j", "cn-hangzhou-k"]
    }
    
    variable "vpc_cidr_list" {
      description = "List of VPC CIDR blocks"
      type        = list(string)
      default     = ["192.168.0.0/16", "172.16.0.0/16", "10.0.0.0/16"]
    }
    
    variable "vsw_cidr_list" {
      description = "List of vSwitch CIDR blocks"
      type        = list(string)
      default = [
        "192.168.0.0/24", "192.168.1.0/24",
        "172.16.0.0/24", "172.16.1.0/24",
        "10.0.0.0/24", "10.0.1.0/24"
      ]
    }
    
    variable "ecs_ip_list" {
      description = "List of ECS IP addresses"
      type        = list(string)
      default     = ["192.168.0.224", "172.16.0.222", "10.0.0.112"]
    }
    
    provider "alicloud" {
      region = var.default_region
    }
    
    # Create 3 VPCs, 6 vSwitches, and 3 ECS instances
    resource "alicloud_vpc" "vpc" {
      count      = length(var.vpc_cidr_list)
      vpc_name   = "${var.pname}-vpc${count.index + 1}"
      cidr_block = var.vpc_cidr_list[count.index]
    }
    
    resource "alicloud_vswitch" "vsw" {
      count        = length(var.vsw_cidr_list)
      vpc_id       = alicloud_vpc.vpc[floor(count.index / length(var.az_list))].id
      cidr_block   = var.vsw_cidr_list[count.index]
      zone_id      = var.az_list[count.index % length(var.az_list)]
      vswitch_name = "${var.pname}-vsw${count.index + 1}"
    }
    
    resource "alicloud_instance" "ecs" {
      count                = length(var.vpc_cidr_list)
      instance_name        = "${var.pname}-ecs${count.index + 1}"
      instance_type        = "ecs.e-c1m1.large"
      security_groups      = [alicloud_security_group.sg[count.index].id]
      vswitch_id           = alicloud_vswitch.vsw[count.index * length(var.az_list)].id
      image_id             = "aliyun_3_x64_20G_qboot_alibase_20230727.vhd"
      system_disk_category = "cloud_essd"
      private_ip           = var.ecs_ip_list[count.index]
      instance_charge_type = "PostPaid"
    }
    
    # Create 3 security groups
    resource "alicloud_security_group" "sg" {
      count  = length(var.vpc_cidr_list)
      name   = "${var.pname}-${count.index + 1}"
      vpc_id = alicloud_vpc.vpc[count.index].id
    }
    
    resource "alicloud_security_group_rule" "allow_inbound_ssh" {
      count             = length(var.vpc_cidr_list)
      type              = "ingress"
      ip_protocol       = "tcp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "22/22"
      priority          = 1
      security_group_id = alicloud_security_group.sg[count.index].id
      cidr_ip           = "0.0.0.0/0"
    }
    
    resource "alicloud_security_group_rule" "allow_inbound_icmp" {
      count             = length(var.vpc_cidr_list)
      type              = "ingress"
      ip_protocol       = "icmp"
      nic_type          = "intranet"
      policy            = "accept"
      port_range        = "-1/-1"
      priority          = 1
      security_group_id = alicloud_security_group.sg[count.index].id
      cidr_ip           = "0.0.0.0/0"
    }
    
    # Create a CEN instance and a transit router
    resource "alicloud_cen_instance" "cen" {
      cen_instance_name = "${var.pname}-cen1"
    }
    resource "alicloud_cen_transit_router" "tr" {
      transit_router_name = "${var.pname}-tr"
      cen_id              = alicloud_cen_instance.cen.id
    }
    data "alicloud_cen_transit_router_route_tables" "tr" { # Get the system route table of the transit router
      transit_router_id               = alicloud_cen_transit_router.tr.transit_router_id
      transit_router_route_table_type = "System"
    }
    
    # Create 3 VPC attachments
    resource "alicloud_cen_transit_router_vpc_attachment" "attach" {
      count             = length(var.vpc_cidr_list)
      cen_id            = alicloud_cen_instance.cen.id
      transit_router_id = alicloud_cen_transit_router.tr.transit_router_id
      vpc_id            = alicloud_vpc.vpc[count.index].id
      zone_mappings {
        zone_id    = var.az_list[0]
        vswitch_id = alicloud_vswitch.vsw[count.index * length(var.az_list)].id
      }
      zone_mappings {
        zone_id    = var.az_list[1]
        vswitch_id = alicloud_vswitch.vsw[count.index * length(var.az_list) + 1].id
      }
      transit_router_vpc_attachment_name = "attach${count.index + 1}"
    }
    
    # Create 3 route propagations
    resource "alicloud_cen_transit_router_route_table_propagation" "propa" {
      count                         = length(var.vpc_cidr_list)
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach[count.index].transit_router_attachment_id
    }
    
    # Create 1 custom route table
    resource "alicloud_cen_transit_router_route_table" "custom_table" { # Create a custom route table for the transit router
      transit_router_id               = alicloud_cen_transit_router.tr.transit_router_id
      transit_router_route_table_name = "custom_table"
    }
    
    resource "alicloud_cen_transit_router_route_entry" "tr_entry" {
      transit_router_route_table_id                     = alicloud_cen_transit_router_route_table.custom_table.transit_router_route_table_id
      transit_router_route_entry_destination_cidr_block = "10.0.0.0/16"
      transit_router_route_entry_next_hop_type          = "Attachment"
      transit_router_route_entry_name                   = "entry1_name"
      transit_router_route_entry_description            = "entry1_desc"
      transit_router_route_entry_next_hop_id            = alicloud_cen_transit_router_vpc_attachment.attach[2].transit_router_attachment_id
    }
    
    # Associate attachments 1 and 2 with the custom route table
    resource "alicloud_cen_transit_router_route_table_association" "ass1" {
      transit_router_route_table_id = alicloud_cen_transit_router_route_table.custom_table.transit_router_route_table_id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach[0].transit_router_attachment_id
    }
    resource "alicloud_cen_transit_router_route_table_association" "ass2" {
      transit_router_route_table_id = alicloud_cen_transit_router_route_table.custom_table.transit_router_route_table_id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach[1].transit_router_attachment_id
    }
    # Associate attachment 3 with the system route table
    resource "alicloud_cen_transit_router_route_table_association" "ass3" {
      transit_router_route_table_id = data.alicloud_cen_transit_router_route_tables.tr.tables[0].id
      transit_router_attachment_id  = alicloud_cen_transit_router_vpc_attachment.attach[2].transit_router_attachment_id
    }
    
    # Create VPC route entries
    resource "alicloud_route_entry" "vpc_entry" {
      count                 = length(var.vpc_cidr_list)
      route_table_id        = alicloud_vpc.vpc[count.index].route_table_id
      destination_cidrblock = "0.0.0.0/0"
      nexthop_type          = "Attachment"
      nexthop_id            = alicloud_cen_transit_router_vpc_attachment.attach[count.index].transit_router_attachment_id
    }
    
    output "ecs1_login_address" {
      value = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${var.default_region}&instanceId=${alicloud_instance.ecs[0].id}"
    }
    
    output "ecs2_login_address" {
      value = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${var.default_region}&instanceId=${alicloud_instance.ecs[1].id}"
    }
    
    output "ecs3_login_address" {
      value = "https://ecs-workbench.aliyun.com/?from=EcsConsole&instanceType=ecs&regionId=${var.default_region}&instanceId=${alicloud_instance.ecs[2].id}"
    }

    Langkah 2: Verifikasi konektivitas

    Lakukan langkah-langkah berikut untuk menguji konektivitas antara VPC1, VPC2, dan VPC3.

    1. Login ke instans ECS1 di VPC1 (nama instans: tf-CenSharedVpc-ecs1).

      Temukan ecs1_login_address di output Terraform. Salin alamat ini ke browser untuk mengakses instans. Saat login, pilih Temporary SSH Key-based untuk otentikasi.

      image

    2. Jalankan perintah ping untuk menguji konektivitas ke instans ECS3 di VPC3.

      ping 10.0.0.112

      Respons sukses mengonfirmasi bahwa VPC1 dan VPC3 dapat berkomunikasi.共享VPC-VPC1-VPC3

    3. Login ke instans ECS2 di VPC2 (nama instans: tf-CenSharedVpc-ecs2). Jalankan perintah ping untuk menguji konektivitas ke instans ECS3 di VPC3.

      ping 10.0.0.112

      Respons sukses mengonfirmasi bahwa VPC2 dan VPC3 dapat berkomunikasi.共享VPC-VPC2-VPC3

    4. Login ke instans ECS1 di VPC1 (nama instans: tf-CenSharedVpc-ecs1). Jalankan perintah ping untuk menguji konektivitas ke instans ECS2 di VPC2.

      ping 172.16.0.222

      Tidak adanya respons mengonfirmasi bahwa VPC1 dan VPC2 tidak dapat berkomunikasi.共享VPC-VPC1-VPC2

    Langkah 3: Melepaskan sumber daya

    Setelah menyelesaikan pengujian, jalankan perintah berikut untuk menghapus resource dan mencegah biaya yang tidak perlu.

    terraform destroy --auto-approve