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 yang 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 meng-clone konfigurasi kuota Anda dari project ke project. Jika ada kumpulan kuota yang diketahui yang perlu ditingkatkan untuk setiap project Google Cloud baru, Anda dapat menggunakan Cloud Quotas API untuk mengotomatiskan hal ini dalam logika pembuatan project Anda. Permintaan penyesuaian kuota tunduk pada persetujuan Google Cloud.

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

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

Batasan

Kuota Cloud memiliki batasan berikut:

  • Penyesuaian peningkatan kuota harus dilakukan di tingkat project dan tunduk pada persetujuan Google Cloud.

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

  • Cloud Quotas API hanya mendukung operasi tingkat project. Operasi tingkat folder dan tingkat organisasi tidak didukung.

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 bersifat relatif terhadapnya:

https://cloudquotas.googleapis.com

Peran yang diperlukan

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

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

Izin yang diperlukan

Izin berikut diperlukan untuk mengakses resource cloudquotas_quotaPreferences dan cloudquotas_quotaInfos:

  • 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 referensi ini untuk menyesuaikan kuota di project, folder, atau organisasi Anda.

Menetapkan nilai pilihan untuk wilayah

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 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 wilayah us-central1.

Memverifikasi nilai yang diberikan

Contoh berikut menunjukkan resource QuotaPreference dalam metode GetQuotaPreference.

{
    "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 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 pembatasan lebih lanjut.

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

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

Info kuota

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

Menetapkan nilai kuota yang berbeda menurut wilayah

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 pembaruan per menit. Dimensi 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 Menerapkan kasus penggunaan umum.

Nama resource

Resource adalah entitas bernama dan diidentifikasi oleh nama resource. Nama resource digunakan dalam semua permintaan dan respons, dan setiap resource harus memiliki nama resource unik tersendiri. Setiap nama resource dienkode oleh serangkaian 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 quotaPreference Salah satu pola untuk mengenkode ID preferensi kuota Anda adalah sebagai berikut:

SERVICE_LOCATION_DIMENSION1-VALUES-IN-ORDER

Contoh berikut menunjukkan pola ini:

compute_us-central1_nvidia-200

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

Referensi info kuota

Konvensi penamaan untuk resource QuotaInfo menggunakan pola berikut:

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

Apa langkah selanjutnya?