Men-debug masalah DAG kehabisan memori dan kehabisan penyimpanan

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Tutorial ini memberikan langkah-langkah untuk men-debug DAG Airflow yang gagal di Cloud Composer dan mendiagnosis masalah terkait resource pekerja, seperti kurangnya memori pekerja atau ruang penyimpanan, dengan bantuan log dan pemantauan lingkungan.

Pengantar

Tutorial ini berfokus pada masalah terkait resource untuk mendemonstrasikan cara men-debug DAG.

Kurangnya resource pekerja yang dialokasikan menyebabkan kegagalan DAG. Jika tugas Airflow kehabisan memori atau penyimpanan, Anda mungkin melihat pengecualian Airflow, seperti:

WARNING airflow.exceptions.AirflowException: Task received SIGTERM signal
INFO - Marking task as FAILED.

atau

Task exited with return code Negsignal.SIGKILL

Dalam kasus seperti itu, rekomendasi umumnya adalah meningkatkan resource worker Airflow atau mengurangi jumlah tugas per worker. Namun, karena pengecualian Airflow bisa bersifat umum, mungkin sulit untuk mengidentifikasi resource tertentu yang menyebabkan masalah.

Tutorial ini menjelaskan cara mendiagnosis alasan kegagalan DAG dan mengidentifikasi jenis resource yang menyebabkan masalah dengan men-debug dua contoh DAG yang gagal karena kurangnya memori dan penyimpanan pekerja.

Tujuan

  • Jalankan contoh DAG yang gagal karena alasan berikut:

    • Kurangnya memori pekerja
    • Kurangnya penyimpanan pekerja
  • Mendiagnosis alasan kegagalan

  • Meningkatkan sumber daya pekerja yang dialokasikan

  • Uji DAG dengan batas resource baru

Biaya

Tutorial ini menggunakan komponen Google Cloud yang dapat ditagih berikut: Google Cloud

Setelah menyelesaikan tutorial ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui detail selengkapnya, lihat Pembersihan.

Sebelum memulai

Bagian ini menjelaskan tindakan yang diperlukan sebelum Anda memulai tutorial.

Membuat dan mengonfigurasi project

Untuk tutorial ini, Anda memerlukan Google Cloud project. Konfigurasi project dengan cara berikut:

  1. Di Google Cloud konsol, pilih atau buat project:

    Buka Pemilih Project

  2. Pastikan penagihan diaktifkan untuk project Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project.

  3. Pastikan pengguna project Anda memiliki peran berikut untuk membuat resource yang diperlukan: Google Cloud

    • Environment and Storage Object Administrator (roles/composer.environmentAndStorageObjectAdmin)
    • Compute Admin (roles/compute.admin)
    • Monitoring Editor (roles/monitoring.editor)

Aktifkan API untuk project Anda

Enable the Cloud Composer API.

Enable the API

Buat lingkungan Cloud Composer Anda

Buat lingkungan Cloud Composer 2.

Sebagai bagian dari pembuatan lingkungan, Anda memberikan peran Ekstensi Agen Layanan Cloud Composer v2 API (roles/composer.ServiceAgentV2Ext) ke akun Agen Layanan Composer. Cloud Composer menggunakan akun ini untuk melakukan operasi di project Google Cloud Anda.

Memeriksa batas resource pekerja

Periksa batas resource worker Airflow di lingkungan Anda:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Buka Resources > Workloads configuration > Worker.

  5. Pastikan nilainya adalah 0,5 vCPU, memori 1,875 GB, dan penyimpanan 1 GB. Berikut adalah batas resource pekerja Airflow yang akan Anda gunakan dalam langkah-langkah berikutnya dalam tutorial ini.

Contoh: Mendiagnosis masalah kehabisan memori

Upload contoh DAG berikut ke lingkungan yang Anda buat pada langkah sebelumnya. Dalam tutorial ini, DAG ini diberi nama create_list_with_many_strings.

DAG ini berisi satu tugas yang menjalankan langkah-langkah berikut:

  1. Membuat daftar kosong s.
  2. Menjalankan siklus untuk menambahkan string More ke daftar.
  3. Mencetak jumlah memori yang digunakan daftar dan menunggu 1 detik di setiap iterasi 1 menit.
import time

import airflow
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
import sys
from datetime import timedelta

default_args = {
    'start_date': airflow.utils.dates.days_ago(0),
    'retries': 0,
    'retry_delay': timedelta(minutes=10)
}

dag = DAG(
    'create_list_with_many_strings',
    default_args=default_args,
    schedule_interval=None)


def consume():
    s = []
    for i in range(120):
        for j in range(1000000):
            s.append("More")
        print(f"i={i}; size={sys.getsizeof(s) / (1000**3)}GB")
        time.sleep(1)


t1 = PythonOperator(
    task_id='task0',
    python_callable=consume,
    dag=dag,
    depends_on_past=False,
    retries=0
)

Memicu DAG contoh

Aktifkan DAG contoh, create_list_with_many_strings:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Di kolom Airflow webserver, ikuti link Airflow untuk lingkungan Anda.

  3. Di antarmuka web Airflow, di halaman DAGs, di kolom Links untuk DAG Anda, klik tombol Trigger Dag.

  4. Klik Pemicu.

  5. Di halaman DAGs, klik tugas yang Anda picu dan tinjau log output untuk memastikan DAG Anda mulai berjalan.

Saat tugas berjalan, log output akan mencetak ukuran memori dalam GB yang digunakan DAG.

Setelah beberapa menit, tugas akan gagal karena melebihi batas memori worker Airflow sebesar 1,875 GB.

Mendiagnosis DAG yang gagal

Jika Anda menjalankan beberapa tugas pada saat terjadi kegagalan, pertimbangkan untuk menjalankan hanya satu tugas dan mendiagnosis tekanan resource selama waktu tersebut untuk mengidentifikasi tugas mana yang menyebabkan tekanan resource dan resource mana yang perlu Anda tingkatkan.

Meninjau log tugas Airflow

Perhatikan bahwa tugas dari DAG create_list_with_many_strings memiliki status Failed.

Tinjau log tugas. Anda akan melihat entri log berikut:

```none
{local_task_job.py:102} INFO - Task exited with return code
Negsignal.SIGKILL
```

`Netsignal.SIGKILL` might be an indication of your task using more memory
than the Airflow worker is allocated. The system sends
the `Negsignal.SIGKILL` signal to avoid further memory consumption.

Meninjau workload

Tinjau beban kerja untuk memastikan beban tugas Anda tidak menyebabkan node tempat Pod berjalan melampaui batas konsumsi memori:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Di Resources > GKE cluster > Workloads, klik view cluster workloads.

  5. Periksa apakah beberapa pod workload memiliki status yang serupa dengan berikut ini:

    Error with exit code 137 and 1 more issue.
    ContainerStatusUnknown with exit code 137 and 1 more issue
    

    Exit code 137 berarti container atau Pod mencoba menggunakan lebih banyak memori daripada yang diizinkan. Proses dihentikan untuk mencegah penggunaan memori.

Meninjau pemantauan kesehatan lingkungan dan konsumsi resource

Tinjau pemantauan kesehatan lingkungan dan konsumsi resource:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Monitoring, lalu pilih Ringkasan.

  4. Di panel Ringkasan lingkungan, cari grafik Kondisi Lingkungan (DAG Pemantauan Airflow). Bagian ini berisi area merah, yang sesuai dengan waktu saat log mulai mencetak error.

  5. Pilih Pekerja, lalu temukan grafik Total penggunaan memori pekerja. Perhatikan bahwa garis Penggunaan memori memiliki lonjakan pada saat tugas sedang berjalan.

Garis Penggunaan memori memiliki lonjakan pada saat tugas
    sedang berjalan
Gambar 1. Grafik total penggunaan memori pekerja (klik untuk memperbesar)

Meskipun garis penggunaan memori pada grafik tidak mencapai batas, saat mendiagnosis alasan kegagalan, Anda harus mempertimbangkan penggunaan memori oleh setiap pekerja. Setiap pekerja menggunakan sebagian memorinya untuk menjalankan container lain yang melakukan tindakan yang diperlukan untuk operasi pekerja, seperti menyinkronkan file DAG-nya dengan bucket lingkungan. Jumlah memori sebenarnya yang tersedia untuk pekerja dalam menjalankan tugas Airflow lebih kecil daripada batas memorinya. Jika worker mencapai batas memori sebenarnya yang tersedia untuknya, tugas yang dijalankan dapat gagal karena memori worker tidak cukup. Dalam kasus tersebut, Anda dapat mengamati kegagalan tugas meskipun garis pada grafik penggunaan memori total pekerja tidak mencapai batas memori.

Meningkatkan batas memori pekerja

Alokasikan memori pekerja tambahan agar DAG contoh berhasil:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Temukan konfigurasi Resources > Workloads, lalu klik Edit.

  5. Di bagian Worker, di kolom Memory, tentukan batas memori baru untuk pekerja Airflow. Dalam tutorial ini, gunakan 3 GB.

  6. Simpan perubahan dan tunggu beberapa menit agar pekerja Airflow Anda dimulai ulang.

Uji DAG Anda dengan batas memori baru

Aktifkan DAG create_list_with_many_strings lagi dan tunggu hingga selesai berjalan.

  1. Di log output eksekusi DAG, Anda akan melihat Marking task as SUCCESS, dan status tugas akan menunjukkan Success.

  2. Tinjau bagian Ringkasan lingkungan di tab Monitoring dan pastikan tidak ada area merah.

  3. Klik bagian Pekerja dan temukan grafik Total penggunaan memori pekerja. Anda akan melihat bahwa garis Batas memori mencerminkan perubahan batas memori, dan garis Penggunaan memori jauh di bawah batas memori yang dapat dialokasikan sebenarnya.

Contoh: Mendiagnosis masalah kehabisan ruang penyimpanan

Pada langkah ini, Anda akan mengupload dua DAG yang membuat file berukuran besar. DAG pertama membuat file besar. DAG kedua membuat file besar dan meniru operasi yang berjalan lama.

Ukuran file di kedua DAG melebihi batas penyimpanan pekerja Airflow default sebesar 1 GB, tetapi DAG kedua memiliki tugas tunggu tambahan untuk memperpanjang durasinya secara buatan.

Anda akan menyelidiki perbedaan perilaku kedua DAG dalam langkah-langkah berikutnya.

Mengupload DAG yang membuat file besar

Upload contoh DAG berikut ke lingkungan yang Anda buat pada langkah sebelumnya. Dalam tutorial ini, DAG ini diberi nama create_large_txt_file_print_logs.

DAG ini berisi satu tugas yang menjalankan langkah-langkah berikut:

  1. Menulis file localfile.txt berukuran 1,5 GB ke penyimpanan pekerja Airflow.
  2. Mencetak ukuran file yang dibuat menggunakan modul os Python.
  3. Mencetak durasi operasi DAG setiap 1 menit.
import airflow
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
import os
from datetime import timedelta
import time

default_args = {
    'start_date': airflow.utils.dates.days_ago(0),
    'retries': 0,
    'retry_delay': timedelta(minutes=10)
}

dag = DAG(
    'create_large_txt_file_print_logs',
    default_args=default_args,
    schedule_interval=None)


def consume():
    size = 1000**2  # bytes in 1 MB
    amount = 100

    def create_file():
        print(f"Start creating a huge file")
        with open("localfile.txt", "ab") as f:
            for j in range(15):
                f.write(os.urandom(amount) * size)
        print("localfile.txt size:", os.stat("localfile.txt").st_size / (1000**3), "GB")

    create_file()
    print("Success!")


t1 = PythonOperator(
    task_id='create_huge_file',
    python_callable=consume,
    dag=dag,
    depends_on_past=False,
    retries=0)

Mengupload DAG yang membuat file besar dalam operasi yang berjalan lama

Untuk meniru DAG yang berjalan lama dan menyelidiki dampak durasi tugas pada status akhir, upload DAG sampel kedua ke lingkungan Anda. Dalam tutorial ini, DAG ini diberi nama long_running_create_large_txt_file_print_logs.

DAG ini berisi satu tugas yang menjalankan langkah-langkah berikut:

  1. Menulis file localfile.txt berukuran 1,5 GB ke penyimpanan pekerja Airflow.
  2. Mencetak ukuran file yang dibuat menggunakan modul os Python.
  3. Menunggu 1 jam 15 menit untuk meniru waktu yang diperlukan untuk operasi dengan file, misalnya, membaca dari file.
  4. Mencetak durasi operasi DAG setiap 1 menit.
import airflow
from airflow import DAG
from airflow.operators.python_operator import PythonOperator
import os
from datetime import timedelta
import time

default_args = {
    'start_date': airflow.utils.dates.days_ago(0),
    'retries': 0,
    'retry_delay': timedelta(minutes=10)
}

dag = DAG(
    'long_running_create_large_txt_file_print_logs',
    default_args=default_args,
    schedule_interval=None)


def consume():
    size = 1000**2  # bytes in 1 MB
    amount = 100

    def create_file():
        print(f"Start creating a huge file")
        with open("localfile.txt", "ab") as f:
            for j in range(15):
                f.write(os.urandom(amount) * size)
        print("localfile.txt size:", os.stat("localfile.txt").st_size / (1000**3), "GB")

    create_file()
    for k in range(75):
        time.sleep(60)
        print(f"{k+1} minute")

    print("Success!")


t1 = PythonOperator(
    task_id='create_huge_file',
    python_callable=consume,
    dag=dag,
    depends_on_past=False,
    retries=0)

Memicu DAG sampel

Picu DAG pertama, create_large_txt_file_print_logs:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Di kolom Airflow webserver, ikuti link Airflow untuk lingkungan Anda.

  3. Di antarmuka web Airflow, di halaman DAGs, di kolom Links untuk DAG Anda, klik tombol Trigger Dag.

  4. Klik Pemicu.

  5. Di halaman DAGs, klik tugas yang Anda picu dan tinjau log output untuk memastikan DAG Anda mulai berjalan.

  6. Tunggu hingga tugas yang Anda buat dengan DAG create_large_txt_file_print_logs selesai. Proses ini mungkin memerlukan waktu beberapa menit.

  7. Di halaman DAG, klik eksekusi DAG. Anda akan melihat bahwa tugas Anda memiliki status Success, meskipun batas penyimpanan telah terlampaui.

Tinjau log Airflow tugas:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

    1. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

    2. Buka tab Logs, lalu buka All logs > Airflow logs > Workers > View in Logs Explorer.

    3. Memfilter log menurut jenis: hanya menampilkan pesan Error.

Di log, Anda akan melihat pesan yang mirip dengan berikut ini:

Worker: warm shutdown (Main Process)

atau

A worker pod was evicted at 2023-12-01T12:30:05Z with message: Pod ephemeral
local storage usage exceeds the total limit of containers 1023Mi.

Log ini menunjukkan bahwa pod memulai proses "penonaktifan sementara" karena penyimpanan yang digunakan melebihi batas dan dikeluarkan dalam waktu 1 jam. Namun, DAG run tidak gagal karena selesai dalam masa tenggang penghentian Kubernetes, yang dijelaskan lebih lanjut dalam tutorial ini.

Untuk mengilustrasikan konsep masa tenggang penghentian, tinjau hasil DAG sampel kedua, long_running_create_large_txt_file_print_logs.

Picu DAG kedua, long_running_create_large_txt_file_print_logs:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Di kolom Airflow webserver, ikuti link Airflow untuk lingkungan Anda.

  3. Di antarmuka web Airflow, di halaman DAGs, di kolom Links untuk DAG Anda, klik tombol Trigger Dag.

  4. Klik Pemicu.

  5. Di halaman DAGs, klik tugas yang Anda picu dan tinjau log output untuk memastikan DAG Anda mulai berjalan.

  6. Tunggu hingga operasi DAG long_running_create_large_txt_file_print_logs gagal. Proses ini akan memakan waktu sekitar satu jam.

Tinjau hasil operasi DAG:

  1. Di halaman DAG, klik eksekusi DAG long_running_create_large_txt_file_print_logs. Anda akan melihat bahwa tugas memiliki status Failed, dan durasi prosesnya adalah tepat 1 jam 5 menit, yang kurang dari periode tunggu tugas 1 jam 15 menit.

  2. Tinjau log tugas. Setelah DAG membuat file localfile.txt di container pekerja Airflow, log akan mencetak bahwa DAG mulai menunggu, dan durasi run dicetak dalam log tugas setiap 1 menit. Dalam contoh ini, DAG mencetak log localfile.txt size: dan ukuran file localfile.txt adalah 1,5 GB.

Setelah file yang ditulis ke container pekerja Airflow melebihi batas penyimpanan, eksekusi DAG akan gagal. Namun, tugas tidak langsung gagal dan terus berjalan hingga durasinya mencapai 1 jam 5 menit. Hal ini terjadi karena Kubernetes tidak langsung menghentikan tugas dan terus berjalan untuk memberikan waktu pemulihan selama 1 jam, yang dikenal sebagai "periode tenggang penghentian". Setelah node kehabisan resource, Kubernetes tidak akan segera menghentikan Pod untuk menangani penghentian dengan baik, sehingga dampak pada pengguna akhir akan minimal.

Masa tenggang penghentian membantu pengguna memulihkan file setelah kegagalan tugas, namun, hal ini dapat menimbulkan kebingungan saat mendiagnosis DAG. Jika batas penyimpanan worker Airflow terlampaui, status tugas akhir bergantung pada durasi eksekusi DAG:

  • Jika proses DAG melampaui batas penyimpanan pekerja, tetapi selesai dalam waktu kurang dari 1 jam, tugas akan selesai dengan status Success karena telah diselesaikan dalam masa tenggang penghentian. Namun, Kubernetes menghentikan Pod dan file yang ditulis akan langsung dihapus dari container.

  • Jika DAG melampaui batas penyimpanan pekerja dan berjalan selama lebih dari 1 jam, DAG akan terus berjalan selama 1 jam dan dapat melampaui batas penyimpanan hingga ribuan persen sebelum Kubernetes menghapus Pod dan Airflow menandai tugas sebagai Failed.

Mendiagnosis DAG yang gagal

Jika Anda menjalankan beberapa tugas pada saat terjadi kegagalan, pertimbangkan untuk menjalankan hanya satu tugas dan mendiagnosis tekanan resource selama waktu tersebut untuk mengidentifikasi tugas mana yang menyebabkan tekanan resource dan resource mana yang perlu Anda tingkatkan.

Tinjau log tugas DAG kedua, long_running_create_large_txt_file_print_logs:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Logs, lalu buka All logs > Airflow logs > Workers > View in Logs Explorer.

  4. Memfilter log menurut jenis: hanya menampilkan pesan Error.

Di log, Anda akan melihat pesan yang mirip dengan berikut ini:

Container storage usage of worker reached 155.7% of the limit.

This likely means that the total size of local files generated by your DAGs is
close to the storage limit of worker.

You may need to decrease the storage usage or increase the worker storage limit
in your Cloud Composer environment configuration.

atau

Pod storage usage of worker reached 140.2% of the limit.
A worker pod was evicted at 2023-12-01T12:30:05Z with message: Pod ephemeral
local storage usage exceeds the total limit of containers 1023Mi.

This eviction likely means that the total size of dags and plugins folders plus
local files generated by your DAGs exceeds the storage limit of worker.

Please decrease the storage usage or increase the worker storage limit in your
Cloud Composer environment configuration.

Pesan ini menunjukkan bahwa, saat tugas berlangsung, log Airflow mulai mencetak error saat ukuran file yang dihasilkan oleh DAG Anda melebihi batas penyimpanan pekerja, dan periode tenggang penghentian dimulai. Selama masa tenggang penghentian, penggunaan penyimpanan tidak kembali ke batas, yang menyebabkan penghapusan Pod setelah masa tenggang penghentian berakhir.

Tinjau pemantauan kesehatan lingkungan dan konsumsi resource:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Monitoring, lalu pilih Ringkasan.

  4. Di panel Ringkasan lingkungan, cari grafik Kondisi Lingkungan (DAG Pemantauan Airflow). Bagian ini berisi area merah, yang sesuai dengan waktu saat log mulai mencetak error.

  5. Pilih Pekerja, lalu temukan grafik Total penggunaan disk pekerja. Perhatikan bahwa garis Penggunaan disk mengalami lonjakan dan melebihi garis Batas disk pada saat tugas Anda sedang berjalan.

Garis Penggunaan disk memiliki lonjakan dan melebihi garis batas Disk saat tugas Anda sedang berjalan
Gambar 2. Grafik total penggunaan disk pekerja (klik untuk memperbesar)

Meningkatkan batas penyimpanan pekerja

Alokasikan penyimpanan pekerja Airflow tambahan agar DAG contoh berhasil:

  1. Di konsol Google Cloud , buka halaman Environments.

    Buka Lingkungan

  2. Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Temukan konfigurasi Resources > Workloads, lalu klik Edit.

  5. Di bagian Worker, di kolom Storage, tentukan batas penyimpanan baru untuk pekerja Airflow. Dalam tutorial ini, setel ke 2 GB.

  6. Simpan perubahan dan tunggu beberapa menit agar pekerja Airflow Anda dimulai ulang.

Uji DAG Anda dengan batas penyimpanan baru

Picu DAG long_running_create_large_txt_file_print_logs lagi dan tunggu selama 1 jam 15 menit hingga selesai berjalan.

  1. Di log output eksekusi DAG, Anda akan melihat Marking task as SUCCESS, dan status tugas akan menunjukkan Success, dengan durasi 1 jam dan 15 menit yang sama dengan waktu tunggu yang ditetapkan dalam kode DAG.

  2. Tinjau bagian Ringkasan lingkungan di tab Monitoring dan pastikan tidak ada area merah.

  3. Klik bagian Pekerja dan temukan grafik Penggunaan disk total pekerja. Anda akan melihat bahwa baris Batas disk mencerminkan perubahan batas penyimpanan, dan baris Penggunaan disk berada dalam rentang yang diizinkan.

Ringkasan

Dalam tutorial ini, Anda mendiagnosis alasan kegagalan DAG dan mengidentifikasi jenis resource yang menyebabkan tekanan dengan men-debug dua contoh DAG yang gagal karena kurangnya memori dan penyimpanan pekerja. Kemudian, Anda berhasil menjalankan DAG setelah mengalokasikan lebih banyak memori dan penyimpanan untuk pekerja Anda. Namun, sebaiknya optimalkan DAG (alur kerja) untuk mengurangi konsumsi resource pekerja sejak awal, karena tidak mungkin meningkatkan resource di luar batas tertentu.

Pembersihan

Agar tidak dikenai biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghapus project

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Menghapus resource satu per satu

Jika Anda berencana mempelajari beberapa tutorial dan panduan memulai, menggunakan kembali project dapat membantu Anda agar tidak melampaui batas kuota project.

Hapus lingkungan Cloud Composer. Anda juga menghapus bucket lingkungan selama prosedur ini.

Langkah berikutnya