Ringkasan Cloud Quotas API

Cloud Quotas API memungkinkan Anda menyesuaikan kuota tingkat project secara terprogram dan mengotomatiskan permintaan penyesuaian kuota tingkat project . Misalnya, Anda dapat menggunakan Cloud Quotas API untuk:

  • Mengotomatiskan penyesuaian kuota: Anda dapat menggunakan Cloud Quotas API untuk meminta penyesuaian kuota berdasarkan kriteria Anda sendiri. Misalnya, untuk menghindari error kuota terlampaui, Anda dapat menggunakan API untuk meminta penyesuaian kuota secara terprogram saat resource Compute Engine mencapai 80% dari kuota yang tersedia.

  • Menggunakan kembali konfigurasi kuota di seluruh project: Cloud Quotas API dapat mengclone konfigurasi kuota Anda dari project ke project. Jika ada kumpulan kuota yang diketahui perlu ditingkatkan untuk setiap project Google Cloud , Anda dapat menggunakan Cloud Quotas API untuk mengotomatiskan hal ini dalam logika pembuatan project Anda. Permintaan penyesuaian kuota tunduk pada Google Cloud persetujuan.

  • Menayangkan permintaan kuota pelanggan: Jika Anda adalah penyedia SaaS yang terintegrasi dengan Google Cloud, Anda mungkin menerima permintaan penambahan kuota melalui portal yang dapat diakses pelanggan selain Google Cloud konsol. Permintaan ini harus diteruskan ke Google Cloud untuk diproses. Cloud Quotas API dapat meneruskan permintaan pelanggan secara otomatis.

  • Mengaktifkan kontrol versi konfigurasi klien: Cloud Quotas API bersifat deklaratif. Anda dapat memperlakukan konfigurasi kuota sebagai kode dan menyimpan konfigurasi dalam sistem kontrol versi Anda sendiri untuk histori dan rollback.

Batasan

Cloud Quotas memiliki batasan berikut:

  • Dalam sebagian besar kasus, penyesuaian penambahan kuota harus dilakukan di tingkat project. Sejumlah kecil produk mendukung penyesuaian penambahan kuota tingkat organisasi. Untuk melihat apakah produk mendukung penyesuaian penambahan kuota tingkat organisasi, lihat dokumentasi untuk produk tersebut. Google Cloud

  • Anda dapat meminta penyesuaian pengurangan kuota untuk kuota tingkat project, organisasi, dan folder.

Endpoint layanan

Endpoint layanan adalah URL dasar yang menentukan alamat jaringan layanan API. Satu layanan dapat memiliki beberapa endpoint. Layanan Cloud Quotas API memiliki endpoint berikut dan semua URI relatif terhadapnya:

https://cloudquotas.googleapis.com

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengakses resource cloudquotas_quotaPreferences, cloudquotas_quotaInfos, dan cloudquotas_quotaAdjusterSettings, minta administrator Anda untuk memberi Anda peran IAM Cloud Quotas Admin (cloudquotas.admin) di project. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditentukan ini berisi izin yang diperlukan untuk mengakses resource cloudquotas_quotaPreferences, cloudquotas_quotaInfos, dan cloudquotas_quotaAdjusterSettings. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:

Izin yang diperlukan

Izin berikut diperlukan untuk mengakses resource cloudquotas_quotaPreferences, cloudquotas_quotaInfos, dan cloudquotas_quotaAdjusterSettings:

  • cloudquotas.quotas.update
  • cloudquotas.quotas.get
  • monitoring.timeSeries.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

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

Model resource API

Model resource Cloud Quotas API terdiri dari dua resource: QuotaPreference dan QuotaInfo.

Preferensi kuota

Resource QuotaPreference mewakili preferensi kuota Anda untuk kombinasi dimensi tertentu . Gunakan resource ini untuk menyesuaikan kuota di project, folder, atau organisasi Anda.

Menetapkan nilai pilihan untuk region

Contoh berikut menunjukkan resource QuotaPreference dalam metode CreateQuotaPreference.

{
    "service": "compute.googleapis.com",
    "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region",
    "quotaConfig": {
        "preferredValue": 100
    },
    "dimensions": {
        "region": "us-central1"
    }
}

preferredValue sebesar 100 menunjukkan bahwa pemohon ingin kuota GPUS-PER-GPU-FAMILY-per-project-region ditetapkan ke nilai tersebut. Kolom dimensi menunjukkan bahwa preferensi hanya berlaku untuk region us-central1.

Memverifikasi nilai yang diberikan

Lihat preferensi kuota Anda dan lihat kolom grantedValue untuk memverifikasi nilai yang diberikan.

Untuk melihat preferensi kuota Anda menggunakan Google Cloud CLI, jalankan perintah berikut di terminal Anda:

gcloud alpha quotas preferences describe QUOTA_PREFERENCE_ID --project=PROJECT

Ganti kode berikut:

  • QUOTA_PREFERENCE_ID: ID preferensi kuota Anda. Ini adalah nilai yang ditentukan saat preferensi kuota dibuat.
  • PROJECT: ID atau nomor Google Cloud project Anda.

Jika Anda membuat permintaan penyesuaian kuota dan permintaan tersebut disetujui sebagian, kolom stateDetail akan muncul setelah kolom grantedValue. grantedValue menunjukkan penyesuaian yang dilakukan, dan kolom stateDetail menjelaskan status yang disetujui sebagian.

Untuk melihat apakah nilai yang diberikan adalah nilai akhir yang disetujui, lihat kolom reconciling. Jika permintaan Anda masih dalam tahap evaluasi, kolom reconciling akan ditetapkan ke true. Jika kolom reconciling ditetapkan ke false atau dihilangkan, nilai yang diberikan adalah nilai akhir yang disetujui.

Cuplikan kode berikut menunjukkan contoh objek preferensi kuota. Cuplikan kode ini menggunakan preferensi kuota demo dengan ID compute_googleapis_com-gpus-us-central1.

gcloud

Jika Anda melihat preferensi kuota menggunakan gcloud CLI, outputnya akan terlihat seperti berikut:

createTime: '2023-01-15T01:30:15.01Z'
dimensions:
    region: us-central1
name: projects/PROJECT_NUMBER/locations/global/quotaPreferences/compute_googleapis_com-gpus-us-central1
quotaConfig:
    grantedValue: '100'
    preferredValue: '100'
    traceId: 123acd-345df23
    requestOrigin: ORIGIN_UNSPECIFIED
service: compute.googleapis.com
quotaId: GPUS-PER-GPU-FAMILY-per-project-region
updateTime: '2023-01-16T02:35:16.01Z'

REST

Jika Anda melihat preferensi kuota menggunakan Cloud Quotas API, outputnya akan terlihat seperti berikut:

{
    "name": "projects/PROJECT_NUMBER/locations/global/quotaPreferences/compute_googleapis_com-gpus-us-central1",
    "service": "compute.googleapis.com",
    "quotaId": "GPUS-PER-GPU-FAMILY-per-project-region",
    "quotaConfig": {
        "preferredValue": 100,
        "grantedValue": 100,
        "traceId": "123acd-345df23",
        "requestOrigin": "ORIGIN_UNSPECIFIED"
    },
    "dimensions": {
        "region": "us-central1"
    },
    "createTime": "2023-01-15T01:30:15.01Z",
    "updateTime": "2023-01-16T02:35:16.01Z"
}

Output ini mencakup nilai-nilai berikut:

  • PROJECT_NUMBER: ID unik yang dibuat secara otomatis untuk project Anda.

Respons menunjukkan grantedValue sebesar 100, yang berarti preferredValue dari contoh sebelumnya telah disetujui dan dipenuhi. Preferensi untuk dimensi yang berbeda adalah resource QuotaPreference yang berbeda. Misalnya, QuotaPreference untuk CPU di region us-central1 dan us-east1 adalah dua resource yang berbeda.

Preferensi kuota wajib diisi

Resource QuotaPreference digunakan untuk menunjukkan nilai pilihan Anda untuk kuota tertentu. Nilai saat ini untuk kuota tertentu didasarkan pada:

  • Permintaan QuotaPreference yang Anda buat.

  • Permintaan penambahan kuota yang disetujui oleh Google Cloud.

  • Perubahan pada kuota yang dimulai oleh Google Cloud.

Kemampuan untuk menghapus QuotaPreference tidak didukung. Namun, Anda dapat menetapkan nilai kuota pilihan yang lebih rendah dari nilai yang disetujui Google Cloud untuk menambahkan batasan lebih lanjut.

Untuk mengetahui informasi selengkapnya tentang resource QuotaPreference, lihat Referensi Cloud Quotas API.

Untuk mengetahui informasi selengkapnya tentang kueri QuotaPreference, lihat Mengimplementasikan kasus penggunaan umum.

Info kuota

QuotaInfo adalah resource hanya baca yang memberikan informasi tentang kuota tertentu untuk project, folder, atau organisasi tertentu. Resource ini menampilkan informasi dari kuota yang ditentukan oleh Google Cloud layanan dan penyesuaian kuota yang dipenuhi yang dimulai oleh pelanggan. Resource QuotaInfo berisi informasi seperti metadata, jenis penampung, dan dimensi.

Menetapkan nilai kuota yang berbeda menurut region

Contoh resource QuotaInfo berikut menunjukkan bahwa kuota CPU untuk project adalah 200 untuk region us-central1 dan 100 untuk semua region lainnya.

{
    "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/CPUS-per-project-region",
    "quotaId": "CPUS-per-project-region",
    "metric": "compute.googleapis.com/cpus",
    "containerType": "PROJECT",
    "dimensions": [
        "region"
    ],
    "isPrecise": true,
    "quotaDisplayName": "CPUs per project per region",
    "metricDisplayName": "CPUs",
    "dimensionsInfo": [
        {
            "dimensions": {
                "region": "us-central1"
            },
            "details": {
                "quotaValue": 200,
                "resetValue": 200
            },
            "applicableLocations": [
                "us-central1",
            ]
        },
        {
            "details": {
                "quotaValue": 100,
                "resetValue": 100
            },
            "applicableLocations": [
                "us-central2",
                "us-west1",
                "us-east1"
            ]
        }
    ]
}

Output ini mencakup nilai-nilai berikut:

  • PROJECT_NUMBER: ID unik yang dibuat secara otomatis untuk project Anda.

Menetapkan kuota global

Contoh resource QuotaInfo berikut menunjukkan kuota kapasitas dengan interval refresh per menit. Dimensinya kosong, yang menunjukkan bahwa ini adalah kuota global. Semua kuota tanpa dimensi region atau zona bersifat global.

{
    "name": "projects/PROJECT_NUMBER/locations/global/services/compute.googleapis.com/quotaInfos/ReadRequestsPerMinutePerProject",
    "quotaId": "ReadRequestsPerMinutePerProject",
    "metric": "compute.googleapis.com/read_requests",
    "refreshInterval": "minute",
    "containerType": "PROJECT",
    "dimensions": [],
    "isPrecise": false,
    "quotaDisplayName": "Read Requests per Minute",
    "metricDisplayName": "Read Requests",
    "dimensionsInfo": [
        {
            "details": {
                "quotaValue": 100,
                "resetValue": 200
            },
            "applicableLocations": [
                "global"
            ]
        }
    ]
}

Output ini mencakup nilai-nilai berikut:

  • PROJECT_NUMBER: ID unik yang dibuat secara otomatis untuk project Anda.

Untuk mengetahui detail selengkapnya tentang resource QuotaInfo, lihat Referensi Cloud Quotas API.

Untuk mengetahui detail selengkapnya tentang kueri QuotaPreference, lihat Mengimplementasikan kasus penggunaan umum.

Setelan pengatur kuota

Resource QuotaAdjusterSettings (Pratinjau) mewakili setelan pengatur kuota Anda untuk project tertentu. Jika diaktifkan, pengatur kuota akan memantau penggunaan resource yang ditentukan dan mengeluarkan permintaan penyesuaian kuota saat penggunaan resource mendekati nilai kuotanya.

  • Untuk melihat setelan pengatur kuota saat ini untuk project, gunakan operasi GET untuk mengambil resource QuotaAdjusterSettings.

  • Untuk mengaktifkan pengatur kuota untuk project, gunakan operasi PATCH untuk menetapkan opsi resource QuotaAdjusterSettings berikut:

      "quota_adjuster_settings" :{
         "name": "projects/PROJECT_NUMBER/locations/global/quotaAdjusterSettings",
         "enablement": ENABLED,
    }
    

    Ganti PROJECT_NUMBER dengan ID unik untuk project Anda.

Untuk mengetahui detailnya, lihat Mengaktifkan pengatur kuota dan Menonaktifkan pengatur kuota.

Nama resource

Resource adalah entity bernama dan diidentifikasi berdasarkan nama resource. Nama resource digunakan dalam semua permintaan dan respons, dan setiap resource harus memiliki nama resource uniknya sendiri. Setiap nama resource dienkode oleh sekumpulan kolom.

Resource preferensi kuota

Konvensi penamaan untuk resource QuotaPreference menggunakan pola berikut:

projects/PROJECT_NUMBER/locations/global/quotaPreferences/QUOTA_PREFERENCE_ID

Anda dapat menetapkan quotaPreferenceId saat membuat preferensi kuota, jika tidak, ID akan dibuat. Sebaiknya skema penamaan quotaPreferenceId mengenkode nama layanan, ID kuota, lokasi, dan dimensi lainnya. quotaPreferenceId harus unik untuk project, folder, atau organisasi.

Sebagai contoh, pola quotaPreference One untuk mengenkode ID preferensi kuota Anda adalah sebagai berikut:

SERVICE_LOCATION_DIMENSION1-VALUES-IN-ORDER

Contoh berikut menunjukkan pola tersebut:

compute_us-central1_nvidia-200

Dengan nama resource, Anda harus menggunakan the GET metode untuk mengambil a QuotaPreference. Anda juga dapat memanggil PATCH metode dengan opsi allow_missing yang diaktifkan untuk membuat atau memperbarui QuotaPreference.

Resource info kuota

Konvensi penamaan untuk resource QuotaInfo menggunakan pola berikut:

projects/PROJECT_NUMBER/locations/global/services/SERVICE_NAME/quotaInfos/QUOTA_ID

Resource setelan pengatur kuota

Konvensi penamaan untuk resource QuotaAdjusterSettings menggunakan pola berikut:

projects/PROJECT_NUMBER/locations/global/quotaAdjusterSettings

Apa langkah selanjutnya?