Mengonfigurasi alamat IP internal statis


Halaman ini menunjukkan cara mengonfigurasi dan mengelola alamat IPv4 atau IPv6 internal statis untuk instance virtual machine (VM) Compute Engine.

Jika instance VM memerlukan alamat IP internal tetap yang tidak berubah, Anda bisa mendapatkan alamat IP internal statis untuk VM tersebut dengan menggunakan salah satu opsi berikut:

Untuk mempelajari cara mengelola alamat IP internal sekunder, baca Rentang IP alias.

Di Compute Engine, setiap instance VM dapat memiliki beberapa antarmuka jaringan. Setiap antarmuka dapat memiliki satu alamat IP eksternal, satu alamat IP internal utama, dan satu atau beberapa alamat IP internal sekunder. Untuk mempelajari alamat IP, baca dokumentasi alamat IP.

Dengan alamat IP internal statis, Anda selalu dapat menggunakan alamat IP yang sama untuk VM, meskipun harus menghapus dan membuat ulang VM.

Untuk mengonfigurasi alamat IP eksternal statis, bukan alamat IP internal, lihat Mengonfigurasi alamat IP eksternal statis.

Sebelum memulai

  • Baca tentang alamat IP.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Untuk menggunakan contoh Terraform di halaman ini dalam lingkungan pengembangan lokal, instal dan lakukan inisialisasi gcloud CLI, lalu siapkan Kredensial Default Aplikasi dengan kredensial pengguna Anda.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Untuk informasi selengkapnya, lihat Set up authentication for a local development environment.

      REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan mengelola alamat IP statis, minta administrator untuk memberi Anda peran IAM berikut di project Anda:

Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran bawaan ini berisi izin yang diperlukan untuk mengonfigurasi dan mengelola alamat IP statis. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengonfigurasi dan mengelola alamat IP statis:

  • compute.instances.update pada instance VM
  • compute.instances.updateNetworkInterface pada instance VM
  • compute.instances.addAccessConfig pada instance VM
  • compute.instances.deleteAccessConfig pada instance VM
  • compute.networks.list di jaringan
  • compute.subnetworks.use di subnet
  • compute.subnetworks.list di subnet
  • Untuk membuat VM:
    • compute.instances.create pada project
    • Untuk menggunakan image kustom guna membuat VM: compute.images.useReadOnly pada image
    • Untuk menggunakan snapshot guna membuat VM: compute.snapshots.useReadOnly pada snapshot
    • Untuk menggunakan template instance guna membuat VM: compute.instanceTemplates.useReadOnly di template instance
    • Untuk menetapkan jaringan lama ke VM: compute.networks.use di project
    • Untuk menentukan alamat IP statis untuk VM: compute.addresses.use pada project
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan lama: compute.networks.useExternalIp di project
    • Untuk menentukan subnet bagi VM: compute.subnetworks.use di project atau di subnet yang dipilih
    • Untuk menetapkan alamat IP eksternal ke VM saat menggunakan jaringan VPC: compute.subnetworks.useExternalIp di project atau di subnet yang dipilih
    • Untuk menetapkan metadata instance VM untuk VM: compute.instances.setMetadata pada project
    • Untuk menetapkan tag untuk VM: compute.instances.setTags di VM
    • Untuk menetapkan label untuk VM: compute.instances.setLabels di VM
    • Untuk menetapkan akun layanan yang akan digunakan VM: compute.instances.setServiceAccount di VM
    • Untuk membuat disk baru bagi VM: compute.disks.create pada project
    • Untuk memasang disk yang ada dalam mode hanya baca atau baca-tulis: compute.disks.use pada disk
    • Untuk memasang disk yang ada dalam mode hanya baca: compute.disks.useReadOnly pada disk

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Batasan

  • Anda tidak dapat membatalkan penetapan atau mengubah alamat IPv4 internal resource yang ada. Misalnya, Anda tidak dapat menetapkan alamat IP internal statis baru ke instance VM yang sedang berjalan atau instance VM yang dihentikan. Namun, Anda dapat mempromosikan alamat IP internal sementara dari sebuah resource menjadi alamat IP internal statis, sehingga alamat tersebut tetap dipertahankan bahkan setelah resource dihapus.

  • Jumlah alamat IP internal statis yang dapat dicadangkan tidak boleh melebihi kuota project Anda. Untuk mengetahui informasi lebih lanjut, lihat kuota per project dalam dokumentasi VPC.

  • Hanya satu resource dalam satu waktu yang dapat menggunakan alamat IP internal statis.

  • Pencadangan alamat IP internal statis hanya didukung untuk jaringan VPC. Layanan ini tidak didukung untuk jaringan mode lama.

  • Alamat IP internal statis tidak akan dilepas secara otomatis meski resource dihapus. Anda harus melepas alamat IP internal statis secara manual jika tidak lagi memerlukannya.

  • Anda tidak dapat mengubah nama alamat IP statis.

  • Alamat IP internal statis bersifat regional, yang berarti alamat tersebut dibatasi untuk region tempat alamat tersebut dicadangkan. Misalnya, jika ada alamat IP internal statis yang dicadangkan di Region A, Anda hanya dapat menggunakan alamat IP di Region A.

Cara mengonfigurasi alamat IP internal statis

Anda dapat mencadangkan alamat IP internal statis, lalu menentukan alamat yang dicadangkan saat membuat VM. Anda juga dapat membuat VM dengan alamat IP internal sementara, lalu mempromosikan alamat IP sementara tersebut menjadi alamat IP internal statis.

Untuk menggunakan alamat IP internal statis, Anda harus memiliki jaringan VPC untuk project Anda. Untuk melihat jaringan VPC di project Anda, lihat Melihat jaringan VPC.

Mencadangkan alamat IPv4 atau IPv6 internal statis, lalu mengaitkannya dengan VM tertentu

Dalam skenario ini, Anda mencadangkan alamat IP internal statis secara terpisah, lalu menetapkannya ke VM:

  1. Pilih subnet di jaringan VPC Anda. Untuk alamat IPv6, pastikan alamat tersebut adalah subnet dual-stack.

  2. Mencadangkan alamat IP internal dari rentang IP utama subnet. Langkah ini akan membuat resource alamat IP internal bernama yang berisi alamat IP internal tersebut. Mencadangkan alamat IP akan mencegah Google Cloud mengalokasikan alamat tersebut secara otomatis sebagai alamat sementara.

  3. Gunakan alamat IP internal yang dicadangkan dengan mengaitkannya ke instance VM saat Anda membuat resource VM.

Tentukan alamat IPv4 atau IPv6 internal sementara untuk VM, lalu promosikan alamat tersebut

Dalam skenario ini, Anda mempromosikan alamat IPv4 atau IPv6 internal sementara yang masih terpasang ke VM:

  1. Pilih subnet di jaringan VPC Anda. Untuk alamat IPv6, pastikan alamat tersebut adalah subnet dual-stack.

  2. Buat instance VM dengan alamat IPv4 atau IPv6 sementara yang dialokasikan secara otomatis, atau alamat IPv4 tertentu.

  3. Promosikan alamat IP internal sementara menjadi alamat statis.

Kedua metode tersebut diuraikan dalam Gambar 1.

Status pencadangan alamat IP internal.
Gambar 1. Status pencadangan alamat IP internal (klik untuk memperbesar).

Melihat alamat IP internal statis yang tersedia

Untuk melihat semua alamat IP internal statis yang ada, selesaikan langkah-langkah berikut.

Konsol

  1. Di Konsol Google Cloud, buka halaman IP addresses.

    Buka IP addresses

  2. Klik Internal IP addresses.

gcloud

Gunakan perintah gcloud compute addresses list:

gcloud compute addresses list

API

Gunakan metode addresses.list:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

Ganti kode berikut:

  • PROJECT_ID: project ID untuk permintaan ini
  • REGION: nama region untuk permintaan ini

Untuk menampilkan daftar semua alamat di semua region, gunakan metode addresses.aggregatedList:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses

Cara alamat IP internal ditetapkan

Antarmuka jaringan untuk VM diberi alamat IP dari subnet yang terhubung dengannya. Setiap antarmuka jaringan memiliki satu alamat IPv4 internal utama yang ditetapkan dari rentang IPv4 utama subnet. Jika VM terhubung ke subnet dual-stack dengan rentang IPv6 internal, Anda dapat menetapkan alamat IPv6 internal ke setiap antarmuka jaringan.

Alamat IPv4 internal dapat ditetapkan dengan cara berikut:

  • Compute Engine menetapkan satu alamat IPv4 dari rentang subnet IPv4 utama secara otomatis.
  • Anda dapat menetapkan alamat IPv4 internal tertentu saat membuat instance VM, atau Anda dapat mencadangkan alamat IPv4 internal statis untuk project Anda dan menetapkan alamat tersebut ke antarmuka jaringan VM.

Alamat IPv6 internal dapat ditetapkan dengan cara berikut:

Menggunakan alamat IP internal statis yang dicadangkan saat membuat resource

Setelah mencadangkan alamat IP internal statis, Anda dapat menetapkan alamat yang dicadangkan saat membuat VM atau load balancer internal.

Prosedur berikut menjelaskan cara menggunakan alamat IP internal statis saat membuat resource:

Membuat instance VM dengan alamat IPv4 atau IPv6 internal yang dicadangkan

Saat Anda membuat VM yang terhubung ke subnet dual-stack dengan rentang IPv6 internal tanpa menentukan alamat IPv6 internal statis yang dicadangkan, Compute Engine akan otomatis menetapkan alamat IPv6 internal sementara ke VM dari rentang IPv6 subnet.

Konsol

  1. Di konsol Google Cloud, buka halaman Create a VM instance.

    Buka Buat instance VM

  2. Luaskan bagian Advanced options.

  3. Luaskan bagian Jaringan.

  4. Untuk menetapkan alamat IPv4 internal, lakukan hal berikut:

    1. Pilih jaringan dan subnetwork.
    2. Pilih alamat IPv4 internal yang dicadangkan dari daftar Primary internal IPv4 address.

    Atau, pilih Cadangkan alamat IP internal statis dan cadangkan alamat IPv4 internal statis baru.

  5. Untuk menetapkan alamat IPv6 internal, lakukan hal berikut:

    1. Pilih jaringan yang berisi subnet IPv6.
    2. Pilih subnet dual-stack dari daftar Subnetwork. Subnet harus memiliki jenis akses IPv6 INTERNAL.
    3. Untuk Jenis stack IP, pilih IPv4 and IPv6 (dual-stack).
    4. Pilih alamat IPv6 internal yang dicadangkan dari daftar Alamat IPv6 internal utama.

    Atau, pilih Cadangkan alamat IPv6 internal statis dan cadangkan alamat IPv6 internal statis baru.

  6. Untuk menyelesaikan modifikasi antarmuka jaringan default, klik Selesai.

  7. Lanjutkan dengan proses pembuatan VM.

  8. Klik Create.

gcloud

  • Gunakan perintah instances create untuk membuat instance VM dengan alamat IPv4 internal yang dicadangkan, dan gunakan flag --private-network-ip untuk menentukan alamat IP:

    gcloud compute instances create VM_NAME
        --private-network-ip IP_ADDRESS
    

    Ganti kode berikut:

    • VM_NAME: nama VM yang ingin Anda buat.
    • IP_ADDRESS: alamat IP yang ingin Anda tetapkan.

    Jika menggunakan jaringan mode subnet kustom, Anda juga harus menentukan subnet menggunakan parameter --subnet SUBNET.

  • Untuk membuat instance dengan alamat IPv6 internal yang dicadangkan, gunakan flag --internal-ipv6-address untuk menentukan alamat IP:

    gcloud compute instances create VM_NAME
        --subnet SUBNETWORK
        --stack-type IPV4_IPV6
        --internal-ipv6-address INTERNAL_IPV6_ADDRESS
        --zone ZONE
    

    Ganti kode berikut:

    • VM_NAME: nama VM yang ingin Anda buat.
    • SUBNETWORK: subnet untuk alamat IPv6 internal ini.
    • INTERNAL_IPV6_ADDRESS: alamat IPv6 /96, nama alamat IP, atau URI resource alamat. Alamat IP harus dicadangkan sebelum Anda dapat menggunakannya.
    • ZONE: zona untuk VM.

REST

Untuk membuat instance VM dengan alamat IP internal statis, gunakan metode instances.insert.

  • Untuk alamat IPv4 internal, berikan properti networkInterfaces[].networkIP secara eksplisit dengan alamat IPv4 internal yang ingin Anda tetapkan untuk VM.

    Contoh:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    
    {
    "name": "VM_NAME",
    "machineType": "zones/us-central1-f/machineTypes/e2-micro",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT",
      }],
      "network": "global/networks/default",
      "networkIP": "IPV4_ADDRESS"
    }],
    "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/v20150818"
      }
    }]
    }

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat VM dibuat.
    • ZONE: zona tempat VM dibuat.
    • VM_NAME: nama virtual machine.
    • IPV4_ADDRESS: alamat IPv4 internal yang akan ditetapkan ke VM.
  • Untuk alamat IPv6 internal, tentukan secara eksplisit nilai untuk properti berikut:

    • networkInterfaces[].stackType
    • networkInterfaces[].ipv6Address
    • networkInterfaces[].internalIpv6PrefixLength
    • networkInterfaces[].ipv6AccessType

    Contoh:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
    "name": "VM_NAME",
    "machineType": "zones/us-central1-f/machineTypes/e2-micro",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT",
      }],
      "network": "global/networks/default",
      "stackType": "IPV4_IPV6"
      "ipv6Address": ""IPV6_ADDRESS"",
      "internalIpv6PrefixLength": 96
      "ipv6AccessType": INTERNAL,
    }],
    "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/v20150818"
      }
    }]
    }

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat VM dibuat.
    • ZONE: zona tempat VM dibuat.
    • VM_NAME: nama VM.
    • IPV6_ADDRESS: alamat IPv6 internal yang akan ditetapkan ke VM.

Jika Anda menghapus instance VM dengan alamat IP sementara, alamat tersebut akan kembali ke kumpulan alamat yang tidak dialokasikan. Jika memerlukan alamat IP internal agar tetap ada setelah instance aktif, Anda dapat mencadangkan alamat IP internal statis.

Menetapkan alamat internal statis ke antarmuka jaringan sekunder VM

Saat membuat instance VM dengan beberapa antarmuka jaringan, Anda dapat menggunakan alamat IPv4 atau IPv6 internal statis yang dicadangkan untuk antarmuka jaringan utama dan sekunder.

Untuk menggunakan alamat IPv4 atau IPv6 internal statis untuk antarmuka jaringan sekunder, lihat Membuat instance VM dengan beberapa antarmuka jaringan.

Mengubah atau menetapkan alamat IPv6 internal ke VM yang ada

Anda dapat mengubah atau menetapkan alamat IPv6 internal untuk instance VM yang ada.

Jika alamat IPv6 internal sudah ditetapkan untuk sebuah instance, Anda harus membatalkan penetapan alamat tersebut terlebih dahulu. Kemudian, tetapkan alamat baru ke instance menggunakan antarmuka jaringan instance.

Untuk mengubah atau menetapkan alamat IPv6 internal statis ke instance VM yang ada, selesaikan langkah-langkah berikut.

Konsol

  1. Cadangkan alamat IPv6 internal statis.
  2. Di konsol Google Cloud, buka halaman instance VM.

    Buka instance VM

  3. Klik nama instance yang alamat IPv6 internalnya ingin Anda ubah.
  4. Di halaman detail Instance, selesaikan langkah-langkah berikut:

    1. Klik Edit.
    2. Perluas Antarmuka jaringan.
    3. Dalam daftar Alamat IPv6 intern utama, pilih Dialokasikan secara otomatis (/96) atau alamat IPv6 internal statis yang dicadangkan.
    4. Klik Done.
  5. Klik Save.

gcloud

Gunakan perintah compute instances network-interfaces update.

gcloud compute instances network-interfaces update VM_NAME \
    --network-interface NIC \
    --ipv6-network-tier PREMIUM \
    --stack-type IPV4_IPV6 \
    --internal-ipv6-address INTERNAL_IPV6_ADDRESS \
    --zone ZONE

Ganti kode berikut:

  • VM_NAME: nama VM yang ingin Anda buat.
  • NIC: nama antarmuka jaringan yang akan diperbarui.
  • INTERNAL_IPV6_ADDRESS: alamat IPv6 internal /96 yang akan ditetapkan ke antarmuka, nama alamat IP, atau URI resource alamat.
  • ZONE: zona untuk VM.

REST

Gunakan metode instances.update. Perbarui properti networkInterfaces[].ipv6Address dengan alamat IPv6 internal yang ingin Anda tetapkan.

Contoh:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
  {
    ...
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT",
      }],
      "stackType": "IPV4_IPV6"
      "ipv6Address": "IPV6_ADDRESS",
      "internalIpv6PrefixLength": 96
      "subnetwork": "regions/REGION/subnetworks/SUBNETWORK",
    }],
    "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/v20150818"
      }
    }]
  }
 

Ganti kode berikut:

  • PROJECT_ID: ID project tempat VM berada.
  • ZONE: zona tempat VM dibuat.
  • VM_NAME: nama VM.
  • IPV6_ADDRESS: alamat IPv6 internal yang akan ditetapkan ke VM.

    Jika Anda menentukan URI resource alamat IPv6 internal atau rentang alamat IPv6 sebagai nilai untuk IPV6_ADDRESS, Anda harus mengosongkan nilai internalIpv6PrefixLength.

Mengelola alamat IP internal statis

Prosedur berikut memungkinkan Anda mengelola alamat IP internal statis untuk VM:

Menentukan apakah alamat IPv4 atau IPv6 internal bersifat sementara atau statis

Alamat IP internal statis dan sementara berperilaku dan tampak sama dalam sebagian besar konteks. Namun, dengan alamat IP internal statis, Anda dapat menggunakan alamat IP yang sama untuk resource yang sama meskipun Anda menghapus dan membuat ulang resource. Secara umum, alamat IP sementara akan dirilis jika Anda menghentikan atau menghapus resource.

Untuk menentukan apakah alamat bersifat statis atau sementara, lakukan hal berikut:

  1. Di Konsol Google Cloud, buka halaman IP addresses.

    Buka IP addresses

  2. Temukan alamat dalam daftar dan periksa kolom Jenis untuk mengetahui jenis alamat IP.

Membatalkan penetapan alamat IPv6 internal statis

Anda dapat membatalkan penetapan alamat IPv6 internal statis dari instance VM dual-stack dengan memperbarui jenis stack untuk antarmuka jaringan instance atau dengan menghapus instance yang menjadi tujuan penetapan alamat.

Jika Anda membatalkan penetapan alamat IPv6 internal, sistem akan menghapusnya dari resource, tetapi tetap menyimpan alamat tersebut untuk project Anda. Anda nanti dapat menetapkan ulang alamat tersebut ke resource lain.

Untuk membatalkan penetapan alamat IPv6 internal statis dari instance VM, selesaikan langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud, buka halaman Instance VM.

    Buka instance VM

  2. Klik nama instance yang alamat IPv6 internalnya ingin Anda batalkan penetapannya.
  3. Di halaman detail Instance, selesaikan langkah-langkah berikut:

    1. Klik Edit.
    2. Perluas Antarmuka jaringan.
    3. Untuk Jenis stack IP, pilih IPv4 (single-stack).
    4. Klik Done.
  4. Klik Save.

gcloud

Gunakan perintah compute instances network-interfaces update dengan flag --stack-type yang ditetapkan ke IPV4_ONLY:

gcloud compute instances network-interfaces update VM_NAME \
    --network-interface NIC \
    --stack-type IPV4_ONLY \
    --zone ZONE

Ganti kode berikut:

  • VM_NAME: nama VM yang antarmuka jaringannya ingin Anda update.
  • NIC: nama antarmuka jaringan yang akan diperbarui.
  • ZONE: zona untuk VM.

Pastikan alamat IPv6 internal statis Anda kini tersedia dan ditandai sebagai RESERVED, bukan IN_USE:

gcloud compute addresses list \
    --filter="region=REGION AND name=NAME"

REST

Update jenis stack instance antarmuka jaringan tempat alamat IPv6 internal terpasang:

  1. Buat permintaan PATCH ke metode instances.updateNetworkInterface.
  2. Dalam isi permintaan, perbarui nilai kolom stackType menjadi IPV4_ONLY.

    Contoh:

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateNetworkInterface
    {
      "networkInterfaces": [{
        ...
        "stackType" : "IPV4_ONLY"
        ...
        }]
    }
    

    Ganti kode berikut:

    • PROJECT_ID: ID project tempat VM berada.
    • ZONE: zona tempat VM dibuat.
    • VM_NAME: nama VM.

Merilis alamat IP internal statis

Jika tidak lagi memerlukan alamat IP IPv4 atau IPv6 internal statis, Anda dapat melepas alamat IP dengan menghapus resource alamat IP. Menghapus VM tidak akan otomatis melepaskan alamat IP eksternal statis. Anda harus melepas alamat IP eksternal statis secara manual jika tidak lagi memerlukannya.

Untuk melepaskan alamat IP internal statis, lihat Melepas alamat IPv4 atau IPv6 internal statis dalam dokumentasi VPC.

Langkah selanjutnya