Men-debug masalah DAG kehabisan memori dan penyimpanan

Cloud Composer 1 | Cloud Composer 2

Tutorial ini menyediakan 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 tersebut, rekomendasi umumnya adalah meningkatkan resource pekerja Airflow atau mengurangi jumlah tugas per pekerja. Namun, karena pengecualian Airflow dapat bersifat umum, mungkin akan 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 pekerja dan penyimpanan.

Tujuan

  • Jalankan contoh DAG yang gagal karena alasan berikut:

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

  • Meningkatkan resource pekerja yang dialokasikan

  • Menguji DAG dengan batas resource baru

Biaya

Tutorial ini menggunakan komponen Google Cloud yang dapat ditagih berikut:

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

Sebelum memulai

Bagian ini menjelaskan tindakan yang diperlukan sebelum Anda memulai tutorial.

Membuat dan mengonfigurasi project

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

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

    Buka Project Selector

  2. Pastikan penagihan diaktifkan untuk project Anda. Pelajari cara memeriksa apakah penagihan diaktifkan di sebuah project.

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

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

Mengaktifkan API untuk project Anda

Enable the Cloud Composer API.

Enable the API

Membuat lingkungan Cloud Composer

Membuat 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 menjalankan operasi di project Google Cloud Anda.

Memeriksa batas resource pekerja

Periksa batas resource pekerja Airflow di lingkungan Anda:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment configuration.

  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 Anda gunakan pada 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 banyaknya memori yang digunakan daftar dan menunggu 1 detik dalam 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
)

Picu DAG sampel

Picu DAG contoh, create_list_with_many_strings:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di kolom webserver Airflow, 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 DAG, klik tugas yang Anda picu dan tinjau log output untuk memastikan DAG mulai berjalan.

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

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

Mendiagnosis DAG yang gagal

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

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 bahwa beban tugas Anda tidak menyebabkan node tempat Pod berjalan melebihi batas konsumsi memori:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment configuration.

  4. Di Resources > GKE cluster > Workloads, klik lihat cluster workload.

  5. Periksa apakah beberapa pod beban kerja 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 kesehatan lingkungan dan pemantauan konsumsi sumber daya

Tinjau kesehatan lingkungan dan pemantauan konsumsi resource:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Pemantauan dan pilih Ringkasan.

  4. Di panel Environment overview, temukan grafik Environment Health (Airflow Monitoring DAG). File ini berisi area merah, yang menunjukkan waktu saat log mulai mencetak error.

  5. Pilih Workers, dan temukan grafik Total worker memory usage. Perhatikan bahwa baris Memory usage mengalami lonjakan pada saat tugas berjalan.

Baris penggunaan Memori mengalami lonjakan pada saat
    tugas berjalan
Gambar 1. Grafik penggunaan memori total pekerja (klik untuk memperbesar)

Meskipun garis penggunaan memori pada grafik tidak mencapai batasnya, saat mendiagnosis alasan kegagalan, Anda hanya perlu memperhitungkan memori yang dapat dialokasikan, sedangkan baris Batas memori pada grafik menunjukkan total memori yang tersedia (termasuk kapasitas yang dicadangkan oleh GKE).

Dalam contoh ini, batas memori pekerja ditetapkan ke 1,875 GB. GKE menyimpan 25% dari 4 GiB memori pertama. GKE juga mencadangkan batas penghapusan tambahan: memori 100 MiB pada setiap node untuk penghapusan kubelet.

Memori yang dapat dialokasikan dihitung dengan cara berikut:

ALLOCATABLE = CAPACITY - RESERVED - EVICTION-THRESHOLD

Jika batas memori adalah 1,875 GB, memori aktual yang dapat dialokasikan adalah:

1.75 GiB (1.875GB) - 0.44 (25% GiB reserved) - 0.1 = 1.21 GiB (~1.3 GB).

Saat menambahkan batas sebenarnya ini ke grafik penggunaan memori, Anda akan melihat bahwa lonjakan penggunaan memori tugas sudah mencapai batas memori sebenarnya, dan Anda dapat menyimpulkan bahwa tugas tersebut gagal karena memori pekerja tidak mencukupi.

Meningkatkan batas memori pekerja

Alokasikan memori pekerja tambahan agar DAG sampel berhasil:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment configuration.

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

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

  6. Simpan perubahan dan tunggu beberapa menit sampai pekerja Airflow Anda memulai ulang.

Menguji DAG dengan batas memori baru

Picu DAG create_list_with_many_strings lagi dan tunggu hingga selesai berjalan.

  1. Dalam log output DAG dijalankan, 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 Workers dan temukan grafik Total worker memory usage. Anda akan melihat bahwa baris Memory limit menunjukkan perubahan batas memori, dan baris Memory usage jauh di bawah batas memori sebenarnya yang dapat dialokasikan.

Contoh: Mendiagnosis masalah penyimpanan habis

Pada langkah ini, Anda akan mengupload dua DAG yang membuat file 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 artifisial.

Anda akan menyelidiki perbedaan perilaku kedua DAG pada langkah berikutnya.

Upload 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 sebesar 1,5 GB ke penyimpanan pekerja Airflow.
  2. Mencetak ukuran file yang dibuat menggunakan modul os Python.
  3. Mencetak durasi DAG dijalankan 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 sebesar 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 beberapa waktu yang diperlukan untuk operasi dengan file, misalnya, membaca dari file.
  4. Mencetak durasi DAG dijalankan 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 contoh

Picu DAG pertama, create_large_txt_file_print_logs:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di kolom webserver Airflow, 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 DAG, klik tugas yang Anda picu dan tinjau log output untuk memastikan DAG 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 DAGs, klik operasi DAG. Anda akan melihat tugas Anda memiliki status Success, meskipun batas penyimpanan terlampaui.

Tinjau log Airflow tugas:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

    1. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

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

    3. Filter log menurut jenis: hanya tampilkan pesan Error.

Di log, Anda akan melihat pesan yang mirip dengan yang 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 "warm shutdown" karena penyimpanan yang digunakan melampaui batas dan dikeluarkan dalam 1 jam. Namun, proses DAG tidak gagal karena diselesaikan dalam masa tenggang penghentian Kubernetes, yang dijelaskan lebih lanjut dalam tutorial ini.

Untuk menggambarkan konsep masa tenggang penghentian, tinjau hasil contoh DAG 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 webserver Airflow, 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 DAG, klik tugas yang Anda picu dan tinjau log output untuk memastikan DAG mulai berjalan.

  6. Tunggu hingga proses DAG long_running_create_large_txt_file_print_logs gagal. Proses ini memerlukan waktu sekitar satu jam.

Tinjau hasil pengoperasian DAG:

  1. Di halaman DAGs, klik long_running_create_large_txt_file_print_logs DAG run. Anda akan melihat bahwa tugas memiliki status Failed, dan durasi eksekusinya tepat 1 jam 5 menit, yang kurang dari masa 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 ditunggu, dan durasi pengoperasian dicetak di log tugas setiap 1 menit. Dalam contoh ini, DAG mencetak log localfile.txt size: dan ukuran file localfile.txt akan menjadi 1,5 GB.

Setelah file yang ditulis ke penampung pekerja Airflow melebihi batas penyimpanan, operasi DAG akan gagal. Namun, tugas ini tidak akan 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 "masa tenggang penghentian". Setelah node kehabisan resource, Kubernetes tidak segera menghentikan Pod untuk menangani penghentian dengan baik, sehingga meminimalkan dampak pada pengguna akhir.

Masa tenggang penghentian membantu pengguna memulihkan file setelah kegagalan tugas, tetapi hal ini dapat menyebabkan kebingungan saat mendiagnosis DAG. Jika batas penyimpanan pekerja Airflow terlampaui, status tugas akhir bergantung pada durasi operasi DAG:

  • Jika DAG berjalan melebihi batas penyimpanan pekerja, tetapi selesai dalam waktu kurang dari 1 jam, tugas akan selesai dengan status Success karena diselesaikan dalam masa tenggang penghentian. Namun, Kubernetes akan menghentikan Pod dan file tertulisnya akan segera dihapus dari container.

  • Jika DAG melebihi batas penyimpanan pekerja dan berjalan selama lebih dari 1 jam, DAG akan tetap berjalan selama 1 jam dan dapat melebihi batas penyimpanan sebesar ribuan persen sebelum Kubernetes menghilangkan Pod dan Airflow menandai tugas sebagai Failed.

Mendiagnosis DAG yang gagal

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

Tinjau log tugas DAG kedua, long_running_create_large_txt_file_print_logs:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

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

  4. Filter log menurut jenis: hanya tampilkan pesan Error.

Di log, Anda akan melihat pesan yang mirip dengan yang 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, selama tugas berlangsung, log Airflow mulai mencetak error saat ukuran file yang dihasilkan oleh DAG Anda melampaui batas penyimpanan pekerja, dan masa tenggang penghentian dimulai. Selama masa tenggang penghentian, konsumsi penyimpanan tidak kembali ke batas, yang menyebabkan penghapusan Pod setelah masa tenggang penghentian berakhir.

Tinjau kesehatan lingkungan dan pemantauan konsumsi resource:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Pemantauan dan pilih Ringkasan.

  4. Di panel Environment overview, temukan grafik Environment Health (Airflow Monitoring DAG). File ini berisi area merah, yang menunjukkan waktu saat log mulai mencetak error.

  5. Pilih Workers, dan cari grafik Total worker disk usage. Perhatikan bahwa baris Disk usage memiliki lonjakan dan melebihi baris Disk limit pada saat tugas Anda sedang berjalan.

Jalur penggunaan Disk mengalami lonjakan dan melebihi batas Batas disk pada saat tugas Anda sedang berjalan
Gambar 2. Grafik penggunaan disk total pekerja (klik untuk memperbesar)

Meningkatkan batas penyimpanan pekerja

Alokasikan penyimpanan pekerja Airflow tambahan agar DAG sampel berhasil:

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Buka tab Environment configuration.

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

  5. Di bagian Pekerja, pada kolom Storage, tentukan batas penyimpanan baru untuk pekerja Airflow. Dalam tutorial ini, tetapkan menjadi 2 GB.

  6. Simpan perubahan dan tunggu beberapa menit sampai pekerja Airflow Anda memulai 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. Dalam log output DAG dijalankan, 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 Workers dan cari grafik Total worker disk usage. Anda akan melihat bahwa baris Disk limit menunjukkan perubahan batas penyimpanan, dan baris Disk usage berada dalam rentang yang diizinkan.

Ringkasan

Dalam tutorial ini, Anda telah 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. Anda kemudian berhasil menjalankan DAG setelah mengalokasikan lebih banyak memori dan penyimpanan untuk pekerja. 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 menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource atau simpan project dan hapus resource satu per satu.

Menghapus project

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus 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.

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

Langkah selanjutnya