全部产品
Search
文档中心

Elastic Compute Service:Gunakan operasi API kelompok penyediaan otomatis untuk membuat instans ECS secara batch

更新时间:Nov 09, 2025

Untuk membuat banyak instans Elastic Compute Service (ECS) dengan metode bayar sesuai penggunaan secara efisien, Anda dapat memanggil operasi API CreateAutoProvisioningGroup. Topik ini menjelaskan cara menggunakan kode Java untuk memanggil operasi API ini guna membuat instans secara batch. Topik ini juga membandingkan fitur, manfaat, dan kekurangan dari operasi API RunInstances dan CreateAutoProvisioningGroup.

Informasi latar belakang

Dalam skenario yang memerlukan instans ECS dengan metode bayar sesuai penggunaan, operasi API RunInstances adalah yang paling sering digunakan. Satu kali pemanggilan operasi RunInstances dapat membuat maksimal 100 instans ECS. Namun, dalam lingkungan produksi, menggunakan RunInstances untuk membuat lebih dari 100 instans sekaligus dapat menyebabkan hambatan teknis. Untuk informasi lebih lanjut, lihat Masalah saat membuat instans dengan RunInstances.

Catatan

Jika Anda sudah familiar dengan hambatan teknis menggunakan operasi RunInstances untuk membuat instans secara batch, Anda dapat melewati bagian Masalah Saat Membuat Instans dengan RunInstances.

Untuk memenuhi permintaan pembuatan banyak instans ECS, Alibaba Cloud menyediakan kelompok penyediaan otomatis. Anda dapat memanggil operasi API CreateAutoProvisioningGroup untuk membuat kelompok penyediaan otomatis. Ini memungkinkan Anda menerapkan kluster instans di berbagai metode penagihan, zona, dan tipe instans dengan satu tindakan. Dibandingkan dengan RunInstances, CreateAutoProvisioningGroup lebih cocok untuk skenario yang memerlukan pembuatan banyak instans ECS. Untuk perbandingan fitur mereka dan analisis manfaatnya, lihat Perbandingan RunInstances dan CreateAutoProvisioningGroup dan Manfaat Kelompok Penyediaan Otomatis.

Perbandingan RunInstances dan CreateAutoProvisioningGroup

Bagian ini membandingkan beberapa fitur dari operasi API RunInstances dan CreateAutoProvisioningGroup. Perbandingan ini membantu Anda dengan cepat memahami perbedaan mereka dan memilih metode yang tepat untuk membuat instans.

Item

RunInstances

CreateAutoProvisioningGroup

Jumlah maksimum instans per pembuatan batch

100

1.000 (hingga 10.000 vCPU)

Metode pengiriman kapasitas

Jumlah instans

Jumlah instans, jumlah inti vCPU, bobot tipe instans, dan lainnya.

Dukungan multi-zona

Tidak

Ya

Dukungan tipe instans ganda

Tidak

Ya

Dukungan tipe disk ganda

Tidak

Ya

Kebijakan pembuatan instans

Tidak

Ya. Kebijakan berikut disediakan:

  • Untuk instance pay-as-you-go

    • Kebijakan optimasi biaya: Membuat instans dari tipe instans dengan biaya terendah di antara tipe instans yang ditentukan.

    • Kebijakan berbasis prioritas: Mencoba membuat instans berdasarkan prioritas tipe instans yang ditentukan.

  • Untuk instance spot

    • Kebijakan optimasi biaya: Membuat instans dari tipe instans dengan biaya terendah di antara tipe instans yang ditentukan.

    • Kebijakan distribusi seimbang: Secara merata membuat instans di seluruh zona yang ditentukan.

    • Kebijakan distribusi optimal kapasitas: Membuat instans dari tipe instans dan zona optimal berdasarkan inventaris instans spot.

Stabilitas pengiriman

Sangat dipengaruhi oleh inventaris sumber daya.

Konfigurasi dengan beberapa zona dan tipe instans secara efektif mengurangi dampak dari inventaris sumber daya.

Format tanggapan API

Mengembalikan hasil pembuatan secara sinkron.

Mengembalikan hasil pembuatan secara sinkron.

Berikut adalah contoh skenario untuk beralih dari operasi RunInstances ke operasi CreateAutoProvisioningGroup untuk membuat instans:

  • Jika sebelumnya Anda menggunakan RunInstances untuk membuat instans secara batch dari satu tipe instans di satu zona, Anda dapat beralih ke CreateAutoProvisioningGroup. Setelah beralih, Anda hanya perlu mengonfigurasi kombinasi tipe instans dan zona untuk membuat instans secara batch.

  • Jika sebelumnya Anda mengonfigurasi rencana penerapan manual saat menggunakan RunInstances, Anda dapat beralih ke CreateAutoProvisioningGroup. Operasi ini memberikan kemampuan penerapan satu klik di berbagai zona, tipe instans, dan konfigurasi disk. Ini juga menawarkan berbagai kebijakan pembuatan instans untuk Anda pilih.

    Sebagai contoh, Anda mungkin sebelumnya membuat rencana yang melintasi beberapa tipe instans dan zona saat memanggil RunInstances untuk meningkatkan tingkat keberhasilan pembuatan instans. Setelah Anda beralih ke CreateAutoProvisioningGroup, Anda hanya perlu mengonfigurasi beberapa kombinasi tipe instans dan zona serta memilih kebijakan pembuatan yang sesuai. Kelompok penyediaan otomatis kemudian secara otomatis membuat instans secara batch.

Penting

Kebijakan pembuatan kelompok penyediaan otomatis memiliki batasan. Anda dapat membuat maksimal 1.000 instans sekaligus. Jika Anda menentukan bobot untuk tipe instans (WeightedCapacity), total kapasitas tertimbang maksimum untuk setiap pembuatan adalah 10.000.

Masalah saat membuat instans dengan RunInstances

Karena batasan operasi RunInstances, Anda mungkin menghadapi masalah yang dijelaskan dalam tabel berikut saat membuat banyak instans.

Masalah

Deskripsi

Solusi

Kemampuan pembuatan batch terbatas

Satu kali pemanggilan operasi RunInstances dapat membuat maksimal 100 instans ECS.

Untuk membuat lebih dari 100 instans ECS, panggil operasi API ini beberapa kali dalam loop atau secara bersamaan untuk memenuhi kebutuhan bisnis Anda.

Stabilitas pembuatan batch tidak cukup

Pemanggilan operasi RunInstances hanya mendukung satu zona dan satu tipe instans. Oleh karena itu, saat Anda membuat instans ECS secara batch, masalah seperti inventaris tidak mencukupi, penghentian penjualan, atau batasan penggunaan untuk tipe instans tertentu dapat terjadi. Hal ini dapat menyebabkan situasi berikut:

  • Pembuatan batch gagal karena inventaris tipe instans tidak mencukupi selama periode tertentu.

  • Tipe instans yang ditentukan tidak dapat dibuat lagi karena dihentikan selama periode tertentu.

  • Tipe instans yang ditentukan hanya tersedia di beberapa zona.

  • Tipe instans yang ditentukan hanya dapat digunakan dengan tipe disk tertentu.

  • Inventaris tidak mencukupi adalah alasan utama kegagalan pembuatan instans ECS secara batch. Oleh karena itu, Alibaba Cloud merekomendasikan agar Anda terlebih dahulu memanggil operasi API DescribeAvailableResource untuk menanyakan inventaris sumber daya untuk tipe instans dan zona tertentu. Setelah Anda secara manual mengonfirmasi beberapa kombinasi zona dan tipe instans dengan inventaris yang mencukupi, Anda kemudian dapat membuat instans ECS secara batch. Metode pembuatan kompleks ini memberikan stabilitas pengiriman bisnis yang lebih tinggi.

    Contoh skenario: Setelah Anda mengonfirmasi beberapa kombinasi zona dan tipe instans dengan inventaris yang mencukupi, Anda juga perlu membangun strategi yang sesuai untuk membuat instans ECS. Sebagai contoh, Anda dapat membuat 100 instans ECS secara berurutan berdasarkan urutan kombinasi yang dikonfirmasi. Jika inventaris sumber daya kombinasi pertama hanya mendukung pembuatan 50 instans ECS, Anda perlu menggunakan kombinasi kedua untuk mencoba membuat 50 instans yang tersisa.

  • Tipe instans memiliki batasan penggunaan. Anda dapat memanggil DescribeAvailableResource untuk menanyakan batasan dan membuat rencana toleransi kesalahan sendiri untuk menghindari dampak dari perubahan batasan penggunaan.

    Catatan

    Anda juga dapat menentukan batasan berdasarkan atribut tipe instans yang disediakan dalam dokumentasi. Untuk informasi lebih lanjut, lihat Keluarga instans.

    Contoh skenario: Tipe instans ecs.g6e.large hanya mendukung tipe disk SSD Perusahaan (ESSD), dan zona cn-beijing-x tidak mendukung tipe disk ESSD.

Kebijakan pembuatan terlalu sederhana

Operasi RunInstances hanya mendukung satu zona dan satu tipe instans. Jika bisnis Anda memerlukan penerapan multi-zona untuk pemulihan bencana atau memerlukan pembuatan instans ECS dengan biaya terendah, Anda harus membangun rencana penerapan sendiri untuk memastikan penerapan instans berhasil. Rencana penerapan yang dibangun sendiri memiliki masalah berikut:

  • Biaya pengembangan tinggi. Rencana penerapan yang dibangun sendiri perlu menangani serangkaian masalah. Misalnya, bagaimana cara berhasil membuat instans ECS saat inventaris tidak mencukupi, dan bagaimana memastikan daya komputasi sambil mendapatkan biaya terendah untuk instans spot selama penambahan kapasitas server.

  • Stabilitas dan profesionalisme rendah. Untuk sumber daya yang disediakan oleh Alibaba Cloud, sulit bagi Anda untuk membangun rencana penerapan profesional sendiri. Anda juga tidak dapat menguji rencana tersebut, yang menimbulkan risiko pada lingkungan produksi.

Selesaikan masalah sendiri atau hubungi Alibaba Cloud untuk bantuan.

Manfaat grup penyediaan otomatis

Untuk mengatasi masalah yang terjadi saat Anda menggunakan operasi API RunInstances untuk membuat instans ECS secara batch, Alibaba Cloud menyediakan kelompok penyediaan otomatis. Kelompok penyediaan otomatis mendukung penerapan satu klik kluster instans di berbagai metode penagihan, zona, dan tipe instans. Anda dapat menggunakan kelompok penyediaan otomatis untuk menyediakan daya komputasi yang stabil, mengurangi ketidakstabilan yang disebabkan oleh mekanisme penarikan kembali instans spot, dan menghilangkan kebutuhan untuk membuat instans secara manual berulang kali. Bagian ini menjelaskan manfaat kelompok penyediaan otomatis.

Manfaat

Deskripsi

Jumlah Maksimum Instans ECS yang Lebih Tinggi untuk Pembuatan Batch

Kelompok penyediaan otomatis mendukung pembuatan hingga 1.000 instans ECS sekaligus.

Dukungan untuk Beberapa Zona, Tipe Instans, dan Tipe Disk

Kelompok penyediaan otomatis memungkinkan Anda mengonfigurasi hingga 10 kombinasi tipe instans atau zona dan memilih hingga 5 tipe disk. Ini membantu Anda mencapai ketersediaan tinggi saat membuat instans ECS secara batch.

Contoh skenario:

Saat Anda menggunakan kebijakan distribusi seimbang yang disediakan oleh kelompok penyediaan otomatis untuk membuat instans ECS, Anda dapat mengonfigurasi beberapa zona dan tipe instans. Menurut kebijakan ini, jumlah instans yang dibuat harus relatif merata di seluruh zona. Namun, jika pembuatan gagal di salah satu zona, kelompok penyediaan otomatis mencoba membuat instans yang tertunda di zona lain yang tersedia.

Jika Anda menentukan beberapa tipe disk, kelompok penyediaan otomatis menggunakan urutan yang ditentukan sebagai prioritas untuk setiap tipe disk. Jika tipe disk tidak tersedia, kelompok penyediaan otomatis secara otomatis beralih ke tipe disk berikutnya.

Catatan

Jika semua tipe disk yang ditentukan tidak tersedia, kelompok penyediaan otomatis beralih ke metode pembuatan lain dan tidak lagi mencoba menggunakan metode saat ini.

Dukungan untuk Beberapa Kebijakan Pembuatan Instans

Kebijakan pembuatan berikut disediakan untuk instans bayar sesuai penggunaan dan instans spot:

  • Untuk instance pay-as-you-go

    • Kebijakan Optimasi Biaya: Membuat instans dari tipe instans dengan biaya terendah di antara tipe instans yang ditentukan.

    • Kebijakan Berbasis Prioritas: Mencoba membuat instans berdasarkan prioritas tipe instans yang ditentukan.

  • Untuk instance spot

    • Kebijakan Optimasi Biaya: Membuat instans dari tipe instans dengan biaya terendah di antara tipe instans yang ditentukan.

    • Kebijakan Distribusi Seimbang: Secara merata membuat instans di seluruh zona yang ditentukan.

    • Kebijakan Distribusi Optimal Kapasitas: Membuat instans dari tipe instans dan zona optimal berdasarkan inventaris instans spot.

Peningkatan Ketersediaan Instans Spot

Instans spot semakin banyak digunakan karena harganya yang murah. Namun, ketidakstabilan harga dan fitur penarikan kembali membuatnya sulit dikelola. Anda dapat menggunakan kelompok penyediaan otomatis untuk meningkatkan ketersediaan instans spot sambil menjaga biaya tetap rendah. Anda dapat melakukannya dengan cara berikut:

  • Pilih kebijakan optimasi biaya default. Setiap operasi penambahan kapasitas kemudian mencoba membuat instans dalam urutan harga tipe instans dari yang terendah.

  • Inventaris sumber daya untuk kombinasi berbeda dari tipe instans spot dan zona diisolasi satu sama lain. Mengonfigurasi beberapa tipe instans dan zona mengurangi probabilitas bahwa semua kombinasi kehabisan inventaris.

  • Saat Anda membuat kelompok penyediaan otomatis, Anda dapat mengonfigurasi beberapa tipe disk alternatif untuk memastikan bahwa kelompok penyediaan otomatis dapat secara otomatis memilih tipe disk yang sesuai selama pembuatan instans.

  • Anda dapat mengonfigurasi parameter SpotInstancePoolsToUseCount untuk menentukan bahwa instans spot dibuat dari beberapa kolam instans dengan harga terendah. Ini mencegah efek avalan pada daya komputasi jika instans dari tipe tertentu ditarik kembali.

Praktik terbaik untuk CreateAutoProvisioningGroup

Bagian ini memberikan contoh kode Java untuk operasi API CreateAutoProvisioningGroup untuk membantu Anda dengan cepat memahami cara menggunakannya.

  1. Instal SDK ECS untuk Java dan pustaka inti Alibaba Cloud.

    Untuk informasi lebih lanjut, lihat Ikhtisar SDK.

  2. Tulis kode Java untuk memanggil operasi API CreateAutoProvisioningGroup.

    Berikut adalah contoh kode:

    import com.aliyun.ecs20140526.Client;
    import com.aliyun.ecs20140526.models.CreateAutoProvisioningGroupRequest;
    import com.aliyun.ecs20140526.models.CreateAutoProvisioningGroupResponse;
    import com.aliyun.teaopenapi.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    import com.google.gson.Gson;
    
    public class Test {
        public static void main(String[] args_) throws Exception {
            Config config = new Config()
                    .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                    .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
                    .setEndpoint("ecs.cn-heyuan.aliyuncs.com");
            Client client = new Client(config);
    
            CreateAutoProvisioningGroupRequest.CreateAutoProvisioningGroupRequestLaunchTemplateConfig launchTemplateConfig = new CreateAutoProvisioningGroupRequest.CreateAutoProvisioningGroupRequestLaunchTemplateConfig()
                    .setVSwitchId("vsw-f8zadqudz*********")
                    .setInstanceType("ecs.s6-c1m1.small")
                    .setWeightedCapacity(1.0);
    
            CreateAutoProvisioningGroupRequest.CreateAutoProvisioningGroupRequestLaunchConfiguration launchConfiguration = new CreateAutoProvisioningGroupRequest.CreateAutoProvisioningGroupRequestLaunchConfiguration()
                    .setSecurityGroupId("sg-f8zf6vg51*********")
                    .setImageId("aliyun_3_x64_20G_alibase_20250629.vhd")
                    .setSystemDiskCategory("cloud_ssd")
                    .setSystemDiskSize(40);
            CreateAutoProvisioningGroupRequest createAutoProvisioningGroupRequest = new CreateAutoProvisioningGroupRequest()
                    .setAutoProvisioningGroupType("instant")
                    .setRegionId("cn-heyuan")
                    // Set kebijakan pembuatan untuk instans spot.
                    .setSpotAllocationStrategy("lowest-price")
                    // Set kebijakan pembuatan untuk instans bayar sesuai penggunaan.
                    .setPayAsYouGoAllocationStrategy("prioritized")
                    .setTotalTargetCapacity("5")
                    .setPayAsYouGoTargetCapacity("3")
                    .setSpotTargetCapacity("2")
                    .setLaunchConfiguration(launchConfiguration)
                    .setLaunchTemplateConfig(java.util.Arrays.asList(
                            launchTemplateConfig
                    ))
                    .setClientToken("0c593ea1-3bea******************");
            RuntimeOptions runtime = new RuntimeOptions();
            CreateAutoProvisioningGroupResponse response = client.createAutoProvisioningGroupWithOptions(createAutoProvisioningGroupRequest, runtime);
            System.out.println(new Gson().toJson(response.getBody()));
        }
    }

    Berikut adalah contoh tanggapan JSON:

    {
        "autoProvisioningGroupId": "apg-**************",
        "launchResults": {
            "launchResult": [
                {
                    "amount": 0,
                    "errorCode": "NoInstanceStock",
                    "errorMsg": "The instanceTypes are out of usage",
                    "instanceType": "ecs.s6-c1m1.small",
                    "spotStrategy": "NoSpot",
                    "zoneId": "cn-heyuan-b"
                },
                {
                    "amount": 2,
                    "instanceIds": {
                        "instanceId": [
                            "i-f8z8**************icn5",
                            "i-f8z8**************icn6"
                        ]
                    },
                    "instanceType": "ecs.s6-c1m1.small",
                    "spotStrategy": "SpotAsPriceGo",
                    "zoneId": "cn-heyuan-b"
                }
            ]
        },
        "requestId": "CDA21119-7CFD-5B40-A2D0-******8"
    }

    Saat Anda membuat kelompok penyediaan otomatis dengan memanggil CreateAutoProvisioningGroup, Anda hanya perlu menyetel item konfigurasi untuk pembuatan instans secara batch dan tidak perlu mengelola proses pembuatan. Kelompok penyediaan otomatis membuat instans berdasarkan usaha terbaik.

    Catatan

    Pengiriman usaha terbaik berarti bahwa jika instans tidak dapat dibuat dengan beberapa kombinasi sumber daya yang Anda konfigurasikan, kelompok penyediaan otomatis secara otomatis beralih ke kombinasi sumber daya lain yang tersedia untuk melanjutkan proses pembuatan. Metode pembuatan ini memerlukan waktu dan hasil aktual mungkin memiliki sedikit bias dari kebijakan pembuatan yang ditentukan.