Mengekspor image kustom ke Cloud Storage

Jika perlu memindahkan data boot disk Compute Engine ke luar project Compute Engine, Anda dapat mengekspor boot disk image ke Cloud Storage sebagai file tar.gz. Jika Anda perlu membuat image persistent disk untuk digunakan saat membuat persistent disk baru di Compute Engine, baca Membuat image kustom.

Anda dapat mencadangkan atau membagikan image kustom dengan mengekspor image ke Cloud Storage. Metode ini ideal untuk membagikan setiap image dengan project yang tidak memiliki akses ke image Anda. Atau, Anda dapat membagikan image dengan memberikan peran pengguna image Compute Engine pada image atau pada project yang memuatnya.

Diagram berikut menunjukkan beberapa alur kerja umum untuk pembuatan dan penggunaan kembali image kustom.

Membuat dan menggunakan kembali image kustom.
Gambar 1. Contoh pembuatan dan penggunaan kembali image kustom

Sebelum memulai

  • Baca halaman image.
  • Jika project tempat Anda ingin mengekspor image memiliki kebijakan image tepercaya yang telah ditentukan, tambahkan projects/compute-image-import ke daftar penayang yang diizinkan.
  • Untuk mengetahui cara memenuhi persyaratan sebelum mengekspor image, lihat Prasyarat untuk mengimpor dan mengekspor image VM.
  • Siapkan autentikasi jika Anda belum melakukannya. Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan konsol Google Cloud untuk mengakses layanan dan API Google Cloud , Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:

      gcloud init
  • Tetapkan region dan zona default.
  • REST

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

      Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda.

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

Pembatasan dan batasan

Batasan berikut berlaku untuk proses ekspor image.

Batasan umum

Anda tidak dapat mengekspor image publik yang disediakan oleh Google. Anda hanya dapat mengekspor image yang sebelumnya Anda buat atau impor.

Saat Anda mengekspor image, sesi akan dibuat di mesin tempat Anda mengekspor image. Sesi ini harus tetap aktif hingga proses ekspor selesai. Jika sesi dihentikan sebelum proses ekspor selesai, atau jika tugas gagal, resource sementara seperti disk sementara, instance VM, atau bucket penyimpanan mungkin tidak akan dihapus. Dalam hal ini, Anda harus menghapus resource sementara ini secara manual.

Bucket Cloud Storage bernama ${PROJECT}-daisy-bkt-${REGION} dibuat untuk resource sementara yang dibuat selama proses ekspor di region atau multi-region yang sama dengan bucket target. Untuk mengelola siklus proses resource ini, lihat Object lifecycle management.

Proses ekspor menggunakan Cloud Build untuk mengekspor image. Sesi Cloud Build berlangsung selama maksimum 24 jam. Jika image Anda sangat besar dan memerlukan waktu lebih dari 24 jam untuk diekspor, Anda dapat mengekspor image secara manual.

Batasan Kontrol Layanan VPC

Untuk project yang dilindungi dengan Kontrol Layanan VPC, gunakan salah satu metode berikut:

  • Ekspor dari project yang sama dengan tempat image berada. Catatan: Anda harus menambahkan aturan egress ke project compute-image-import (nomor 71462206840). Untuk mengikuti prinsip hak istimewa terendah, sebaiknya Anda hanya mengizinkan layanan artifactregistry.googleapis.com dengan metode berikut: artifactregistry.repositories.downloadArtifacts, artifactregistry.tags.get, artifactregistry.tags.list, dan artifactregistry.versions.get.

  • Ekspor gambar secara manual.

Mengekspor image dengan satu perintah

Mengekspor image ke Cloud Storage

Anda dapat mengekspor image menggunakan Google Cloud konsol, Google Cloud CLI, atau REST.

Konsol

  1. Di konsol Google Cloud , buka halaman Images.

    Buka Images

  2. Klik nama image yang ingin Anda ekspor untuk membuka halaman detail image.

  3. Dari halaman detail image, klik Export untuk membuka halaman Export Image.

  4. Dari halaman Export image, pilih Export format image.

  5. Pilih lokasi Cloud Storage untuk mengekspor image Anda dengan mengklik Browse.

  6. Pilih lokasi Cloud Storage yang ada untuk mengekspor image Anda. Atau, ikuti petunjuk untuk membuat bucket Cloud Storage baru, lalu masukkan nama untuk bucket Cloud Storage baru.

  7. Setelah memilih Cloud Storage, pilih nama file untuk image yang diekspor. Anda dapat menggunakan nama file default, atau memilih nama file Anda sendiri.

  8. Setelah memilih Cloud Storage, dan memasukkan nama file untuk image, klik Select.

  9. Dari halaman Export image, klik Export. Setelah memilih Export, konsol Google Cloud akan menampilkan Image export history, tempat Anda dapat melihat proses ekspor image. Untuk mengetahui detail tambahan tentang proses ekspor image, klik Cloud Build ID untuk membuka halaman Image export details tempat Anda dapat melihat dan mendownload log ekspor image.

  10. Buka halaman Storage untuk mengakses gambar yang diekspor.

    Buka Penyimpanan

gcloud

Cara yang direkomendasikan untuk mengekspor image ke Cloud Storage adalah dengan menggunakan perintah gcloud compute images export. Perintah ini menggunakan Daisy untuk merangkai beberapa langkah yang diperlukan untuk mengekspor image.

Perintah gcloud compute images export mengasumsikan bahwa Anda telah membuat image—misalnya, dengan perintah gcloud compute images create.

Dengan menggunakan Google Cloud CLI, jalankan:

gcloud compute images export \
    --destination-uri DESTINATION_URI \
    --image IMAGE_NAME

Ganti kode berikut:

  • DESTINATION_URI: tujuan URI Cloud Storage untuk file image yang diekspor.
  • IMAGE_NAME: nama disk image yang akan diekspor.

Secara default, image diekspor dalam format Compute Engine, yaitu file disk.raw yang di-tar dan di-gzip. Untuk mengekspor image dalam format lain yang didukung oleh utilitas disk image QEMU, Anda dapat menggunakan flag --export-format. Format yang valid mencakup vmdk, vhdx, vpc, vdi, dan qcow2.

Contoh

Misalnya, perintah berikut mengekspor image bernama my-image dari my-project ke bucket Cloud Storage bernama my-bucket. Secara default, image diekspor sebagai disk.raw file dan dikompresi ke dalam format file tar.gz.

gcloud compute images export \
    --destination-uri gs://my-bucket/my-image.tar.gz \
    --image my-image \
    --project my-project

Untuk flag, lihat dokumentasi referensi gcloud compute images export.

REST

Kirim permintaan POST ke Cloud Build API.

POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds
{
  "timeout": "7200s",
  "steps":[
    {
      "args":[
        "-timeout=7000s",
        "-source_image=SOURCE_IMAGE",
        "-client_id=api",
        "-format=IMAGE_FORMAT",
        "-destination_uri=DESTINATION_URI"
      ],
      "name":"gcr.io/compute-image-import/gce_vm_image_export:release",
      "env":[
        "BUILD_ID=$BUILD_ID"
      ]
    }
  ],
  "tags":[
    "gce-daisy",
    "gce-daisy-image-export"
  ]
}

Ganti kode berikut:

  • PROJECT_ID: project ID untuk project yang berisi image yang ingin Anda ekspor.
  • SOURCE_IMAGE: nama image yang akan diekspor.
  • IMAGE_FORMAT: format image yang diekspor. Format yang valid mencakup vmdk, vhdx, vpc, vdi, dan qcow2.
  • DESTINATION_URI: lokasi Cloud Storage URI tempat Anda ingin mengekspor file image. Contoh, gs://my-bucket/my-exported-image.vmdk.

Untuk mengetahui nilai args tambahan yang dapat diberikan, lihat bagian flag opsional di halaman GitHub ekspor image VM.

Contoh respons

Contoh respons berikut menyerupai output yang ditampilkan:

{
"name": "operations/build/myproject-12345/operation-1578608233418",
"metadata": {
 "@type": "type.googleapis.com/google.devtools.cloudbuild.v1.BuildOperationMetadata",
 "build": {
  "id": "3a2055bc-ccbd-4101-9434-d376b88b8940",
  "status": "QUEUED",
  "createTime": "2019-10-02T18:59:13.393492020Z",
  "steps": [
   {
    "name": "gcr.io/compute-image-import/gce_vm_image_export:release",
    "env": [
     "BUILD_ID=3a2055bc-ccbd-4101-9434-d376b88b8940"
    ],
    "args": [
     "-timeout=7056s",
     "-source_image=my-image",
     "-client_id=api",
     "-format=vmdk",
     "-destination_uri=gs://my-bucket/my-exported-image.vmdk"
    ]
   }
  ],
  "timeout": "7200s",
  "projectId": "myproject-12345",
  "logsBucket": "gs://123456.cloudbuild-logs.googleusercontent.com",
  "options": {
   "logging": "LEGACY"
  },
  "logUrl": "https://console.cloud.google.com/cloud-build/builds/3a2055bc-ccbd-4101-9434-d376b88b8940?project=123456"
 }
 }

Ada beberapa cara untuk memantau build Anda:

  • Jalankan permintaan projects.builds.get menggunakan build-id yang ditampilkan.
  • Tinjau log yang dihosting di logUrl yang disediakan.

Mengekspor image dari project menggunakan akun layanan Compute Engine kustom

Selama ekspor image, instance virtual machine (VM) sementara akan dibuat di project Anda. Alat ekspor image pada VM sementara ini harus diautentikasi.

Akun layanan adalah identitas yang terpasang pada VM. Token akses akun layanan dapat diakses melalui server metadata instance dan digunakan untuk mengautentikasi alat ekspor image pada VM.

Secara default, proses ekspor menggunakan Agen Layanan Compute Engine default project. Namun, jika akun layanan Compute Engine default dinonaktifkan di project Anda atau jika ingin menggunakan akun layanan Compute Engine kustom, Anda harus membuat akun layanan dan menentukannya untuk proses ekspor.

Anda dapat mengekspor image menggunakan Google Cloud CLI, atau REST.

gcloud

  1. Buat akun layanan dan tetapkan peran minimum. Untuk mengetahui informasi selengkapnya tentang cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.

    Akun layanan Compute Engine yang ditentukan setidaknya harus memiliki peran berikut yang ditetapkan:

    • roles/compute.storageAdmin
    • roles/storage.objectAdmin
    • roles/storage.admin

    Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Compute Engine.

  2. Gunakan perintah gcloud compute images export untuk mengekspor image.

    gcloud compute images export \
        --destination-uri DESTINATION_URI \
        --image IMAGE_NAME \
        --compute-service-account SERVICE_ACCOUNT_EMAIL

    Ganti kode berikut:

    • DESTINATION_URI: tujuan URI Cloud Storage untuk file image yang diekspor.
    • IMAGE_NAME: nama disk image yang akan diekspor.
    • SERVICE_ACCOUNT_EMAIL: alamat email yang terkait dengan akun layanan Compute Engine yang dibuat pada langkah sebelumnya.

Contoh

Misalnya, perintah berikut mengekspor image bernama my-image dari my-project ke bucket Cloud Storage bernama my-bucket dengan akun layanan yang memiliki email image-export-service-account@proj-12345.. Secara default, image diekspor sebagai file disk.raw dan dikompresi ke dalam format file tar.gz.

gcloud compute images export \
    --destination-uri gs://my-bucket/my-image.tar.gz \
    --image my-image \
    --project my-project \
    --compute-service-account image-export-service-account@proj-12345.
    

Untuk flag, lihat dokumentasi referensi gcloud compute images export.

REST

  1. Buat akun layanan dan tetapkan peran minimum. Untuk mengetahui informasi selengkapnya tentang cara membuat akun layanan, lihat Membuat dan mengelola akun layanan.

    Akun layanan Compute Engine yang ditentukan setidaknya harus memiliki peran berikut yang ditetapkan:

    • roles/compute.storageAdmin
    • roles/storage.objectAdmin
    • roles/storage.admin

    Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Compute Engine.

  2. Di API, buat permintaan POST ke Cloud Build API.

    POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds
    {
      "timeout": "7200s",
      "steps":[
        {
          "args":[
            "-timeout=7000s",
            "-source_image=SOURCE_IMAGE",
            "-client_id=api",
            "-format=IMAGE_FORMAT",
            "-destination_uri=DESTINATION_URI",
            "-compute_service_account=SERVICE_ACCOUNT_EMAIL"
          ],
          "name":"gcr.io/compute-image-import/gce_vm_image_export:release",
          "env":[
            "BUILD_ID=$BUILD_ID"
          ]
        }
      ],
      "tags":[
        "gce-daisy",
        "gce-daisy-image-export"
      ]
    }
    

    Ganti kode berikut:

    • PROJECT_ID: project ID untuk project yang berisi image yang ingin Anda ekspor.
    • SOURCE_IMAGE: nama image yang akan diekspor.
    • IMAGE_FORMAT: format image yang diekspor. Format yang valid mencakup vmdk, vhdx, vpc, vdi, dan qcow2.
    • DESTINATION_URI: lokasi Cloud Storage URI tempat Anda ingin mengekspor file image. Contoh, gs://my-bucket/my-exported-image.vmdk.
    • SERVICE_ACCOUNT_EMAIL: alamat email yang terkait dengan akun layanan Compute Engine yang dibuat pada langkah sebelumnya.

Untuk mengetahui nilai args tambahan yang dapat diberikan, lihat bagian flag opsional di halaman GitHub ekspor image VM.

Mengekspor image menggunakan VPC Bersama

Sebelum mengekspor image yang menggunakan VPC bersama, Anda harus menambahkan peran compute.networkUser ke akun layanan Cloud Build di project tempat Anda mengekspor image. Akun layanan yang digunakan untuk Cloud Build bergantung pada apakah Anda menggunakan Cloud Build di project sebelum Mei 2024. Jika ya, akun layanan Cloud Build lama akan digunakan untuk build mendatang. Jika tidak, akun layanan Compute Engine default akan digunakan.

Untuk mengetahui informasi selengkapnya, lihat Memberikan peran yang diperlukan ke akun layanan Cloud Build.

Anda dapat mengekspor image menggunakan Google Cloud CLI, atau REST.

gcloud

Gunakan perintah gcloud compute images export untuk mengekspor image Anda.

gcloud compute images export \
    --image IMAGE_NAME \
    --destination-uri DESTINATION_URI \
    --project PROJECT_ID \
    --network NETWORK \
    --subnet SUBNET \
    --zone ZONE

Ganti kode berikut:

  • IMAGE_NAME: nama image yang akan diekspor.
  • DESTINATION_URI: lokasi Cloud Storage URI tempat Anda ingin mengekspor file image.
  • PROJECT_ID: ID project tempat image berada.
  • NETWORK: jalur lengkap ke jaringan VPC Bersama. Contohnya, projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME.
  • SUBNET: Opsional. Jalur lengkap ke subnetwork VPC Bersama. Contohnya, projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME.

    Penentuan mode ini bergantung pada mode jaringan VPC.

    • Jika jaringan VPC menggunakan mode lama, jangan tentukan subnet.
    • Jika jaringan VPC menggunakan mode otomatis, penentuan subnet bersifat opsional.
    • Jika jaringan VPC menggunakan mode kustom, kolom ini harus ditentukan.
  • ZONE: Opsional. Zona yang akan digunakan untuk ekspor. Zona ini harus cocok dengan region subnet. Misalnya, jika SUBNET berada di region us-west1, zona ekspor harus berupa salah satu dari yang berikut: us-west1-a, us-west1-b, atau us-west1-c.

    Jika Anda menentukan SUBNET, Anda juga harus menentukan zona.

Misalnya, perintah berikut mengekspor image bernama example-image dari my-project ke bucket Cloud Storage bernama my-bucket. Dalam contoh ini, jaringan Virtual Private Cloud (my-shared-vp) menggunakan subnet kustom (my-custom-subnet). Secara default, image diekspor sebagai file disk.raw dan dikompresi ke dalam format file tar.gz.

Contoh perintah

gcloud compute images export \
    --image example-image \
    --destination-uri gs://my-bucket/my-image.tar.gz \
    --project my-project \
    --network projects/my-vpc-project/global/networks/my-shared-vpc \
    --subnet projects/my-vpc-project/regions/us-west1/subnetworks/my-custom-subnet \
    --zone us-west1-c
 

REST

  1. Tambahkan image ke Cloud Storage.

  2. Di API, buat permintaan POST ke Cloud Build API.

    POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds
    {
      "timeout": "7200s",
      "steps":[
        {
          "args":[
            "-timeout=7000s",
            "-source_image=SOURCE_IMAGE",
            "-client_id=api",
            "-format=IMAGE_FORMAT",
            "-destination_uri=DESTINATION_URI",
            "-network=NETWORK",
            "-subnet=SUBNET",
            "-zone=ZONE"
          ],
          "name":"gcr.io/compute-image-import/gce_vm_image_export:release",
          "env":[
            "BUILD_ID=$BUILD_ID"
          ]
        }
      ],
      "tags":[
        "gce-daisy",
        "gce-daisy-image-export"
      ]
    }
    

    Ganti kode berikut:

    • PROJECT_ID: project ID untuk project yang berisi image yang ingin Anda ekspor.
    • SOURCE_IMAGE: nama image yang akan diekspor.
    • IMAGE_FORMAT: format image yang diekspor. Format yang valid mencakup vmdk, vhdx, vpc, vdi, dan qcow2.
    • DESTINATION_URI: lokasi Cloud Storage URI tempat Anda ingin mengekspor file image. Contoh, gs://my-bucket/my-exported-image.vmdk.
    • NETWORK: jalur lengkap ke jaringan VPC bersama. Contohnya, projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME.
    • SUBNET: jalur lengkap ke subnetwork VPC Bersama. Contohnya, projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME.

      Penentuan mode ini bergantung pada mode jaringan VPC.

      • Jika jaringan VPC menggunakan mode lama, jangan tentukan subnet.
      • Jika jaringan VPC menggunakan mode otomatis, penentuan subnet bersifat opsional.
      • Jika jaringan VPC menggunakan mode kustom, kolom ini harus ditentukan.
    • ZONE: zona yang akan digunakan untuk ekspor. Zona ini harus cocok dengan region subnet. Misalnya, jika SUBNET berada di region us-west1, zona ekspor harus berupa salah satu dari yang berikut: us-west1-a, us-west1-b, atau us-west1-c.

      Dalam sebagian besar kasus, menentukan zona bersifat opsional. Jika SUBNET ditentukan, zona harus ditentukan.

    Untuk mengetahui nilai args tambahan yang dapat diberikan, lihat bagian flag opsional di halaman GitHub ekspor image VM.

Membuat dan mengekspor image secara manual

Jika perintah gcloud compute images create dan gcloud compute images export tidak memenuhi persyaratan, Anda dapat membuat dan mengekspor image secara manual dari instance Compute Engine. Proses ini memiliki langkah-langkah terpisah untuk membuat image terlebih dahulu, lalu mengekspor image.

Dalam contoh berikut, perhatikan bahwa disk yang dibuat disebut image-disk.

Untuk membuat dan mengekspor image:

  1. Opsional: Hentikan instance yang terpasang pada disk sebelum Anda membuat snapshot. Menghentikan instance akan memastikan integritas konten disk dalam snapshot.

  2. Buat snapshot disk. Beri nama snapshot image-snapshot.

    gcloud compute disks snapshot DISK_NAME \
        --snapshot-names image-snapshot

    Ganti DISK_NAME dengan nama disk yang ingin Anda gunakan untuk membuat snapshot. Anda dapat menemukan nama disk dengan mencantumkan disk.

  3. Gunakan snapshot image-snapshot untuk membuat disk baru bernama image-disk dengan menjalankan perintah berikut:

    gcloud compute disks create image-disk \
        --source-snapshot image-snapshot
  4. Buat disk sementara bernama temporary-disk untuk menyimpan file tar Anda, dan tentukan SIZE disk minimal 50% lebih besar dari disk image.

    Anda dapat melepaskan dan menghapus disk setelahnya.

    gcloud compute disks create temporary-disk \
        --size SIZE

    dengan SIZE adalah ukuran, dalam gigabyte atau terabyte, dari disk sementara. Misalnya, tentukan 100GB untuk membuat disk 100 gigabyte.

  5. Buat instance dan aktifkan cakupan storage-rw pada instance. Selain itu, lampirkan image-disk dan temporary-disk ke instance sebagai disk sekunder dengan atribut device-name tertentu. Ganti VM_NAME dengan nama instance yang akan dibuat.

    gcloud compute instances create VM_NAME \
        --scopes storage-rw \
        --disk name=image-disk,device-name=image-disk \
        --disk name=temporary-disk,device-name=temporary-disk

    Perhatikan bahwa Anda meneruskan cakupan akun layanan agar dapat mengupload file ke Cloud Storage pada langkah selanjutnya.

    Tinjau detail tentang memulai instance baru jika diperlukan.

  6. Terhubung ke instance. Ganti VM_NAME dengan nama instance yang akan dihubungkan.

    gcloud compute ssh VM_NAME
  7. Memformat dan memasang disk sementara. Memformat disk akan menghapus konten disk sementara.

    sudo mkdir /mnt/tmp
    sudo mkfs.ext4 -F /dev/disk/by-id/google-temporary-disk
    sudo mount -o discard,defaults /dev/disk/by-id/google-temporary-disk /mnt/tmp
  8. Opsional: Pasang disk image dan buat perubahan tambahan sebelum Anda membuat file tar. Misalnya, Anda mungkin ingin menghapus file yang ada dari direktori /home jika tidak ingin file tersebut menjadi bagian dari image Anda. Pasang partisi disk yang perlu Anda ubah, ubah file pada disk yang perlu Anda ubah, lalu lepas disk setelah selesai.

    1. Buat direktori tempat Anda dapat memasang disk atau partisi.

      sudo mkdir /mnt/image-disk
    2. Gunakan perintah ls untuk menentukan disk atau partisi disk yang perlu Anda pasang.

      ls /dev/disk/by-id/

      Perintah ini akan mencetak daftar ID dan partisi disk. Misalnya, disk berikut memiliki tabel partisi dengan satu partisi. ID google-image-disk mengarah ke disk lengkap tempat Anda ingin membuat image. ID google-image-disk-part1 mengarah ke partisi pertama pada disk ini. Pasang partisi jika Anda perlu melakukan perubahan pada disk, lalu buat image dari disk lengkap.

      google-image-disk
      google-image-disk-part1
      
    3. Pasang disk atau partisi. Jika disk Anda memiliki tabel partisi, pasang setiap partisi untuk disk Anda. Misalnya, pasang google-image-disk-part1.

      sudo mount /dev/disk/by-id/google-image-disk-part1 /mnt/image-disk

      Atau, jika disk Anda diformat mentah tanpa tabel partisi, pasang disk google-image-disk penuh.

      sudo mount /dev/disk/by-id/google-image-disk /mnt/image-disk
    4. Ubah file di direktori /mnt/image-disk untuk mengonfigurasi file di disk. Sebagai contoh, Anda dapat menghapus file /mnt/image-disk/home/[USER]/.ssh/authorized_keys untuk melindungi kunci SSH Anda agar tidak dibagikan.

    5. Setelah Anda selesai mengubah file, lepaskan disk.

      sudo umount /mnt/image-disk/
  9. Buat file tar dari image Anda.

    Setelah selesai menyesuaikan file pada disk image, buat file disk mentah di disk sementara Anda. Nama image disk mentah harus 'disk.raw':

     sudo dd if=/dev/disk/by-id/google-image-disk of=/mnt/tmp/disk.raw bs=4096

    Kemudian, buat file tar.gz:

    cd /mnt/tmp

    sudo tar czvf myimage.tar.gz disk.raw

    Perintah ini akan membuat image instance di lokasi berikut:

    /mnt/tmp/myimage.tar.gz

  10. Upload gambar ke Cloud Storage.

    Untuk mengupload file tar ke Cloud Storage, gunakan Google Cloud CLI yang telah diinstal sebelumnya di instance Anda.

    1. Buat bucket menggunakan gcloud CLI.

      Pastikan untuk meninjau panduan penamaan bucket dan objek sebelum membuat bucket. Kemudian, buat bucket Anda menggunakan perintah berikut. Ganti BUCKET_NAME dengan nama bucket yang akan dibuat.

      me@example-instance:~$ 
      gcloud storage buckets create gs://BUCKET_NAME
    2. Salin file ke bucket baru Anda. Ganti BUCKET_NAME dengan nama bucket tempat file akan disalin.

      me@example-instance:~$ 
      gcloud storage cp /mnt/tmp/myimage.tar.gz gs://BUCKET_NAME

Anda telah mengekspor file ke Cloud Storage. Sekarang Anda dapat membagikan image kepada orang lain, atau menggunakan file tar untuk menambahkan image baru ke projectGoogle Cloud konsol.

Langkah berikutnya