All Products
Search
Document Center

Elastic Compute Service:Batch create ECS instances with auto provisioning group APIs

Last Updated:Apr 28, 2026

Panggil CreateAutoProvisioningGroup untuk membuat instance ECS pay-as-you-go secara batch di berbagai zona, tipe instans, dan metode penagihan.

Latar Belakang

RunInstances adalah operasi API paling umum untuk membuat instance ECS pay-as-you-go. Satu panggilan RunInstances dapat membuat hingga 100 instans, tetapi penggunaan RunInstances untuk membuat lebih dari 100 instans di lingkungan produksi dapat menyebabkan bottleneck. Lihat Masalah saat membuat instans dengan RunInstances.

Catatan

Jika Anda sudah memahami bottleneck RunInstances untuk pembuatan batch, lewati bagian Masalah saat membuat instans dengan RunInstances.

Alibaba Cloud menyediakan auto provisioning groups untuk pembuatan instans skala besar. Panggil CreateAutoProvisioningGroup untuk menerapkan kluster instans di berbagai metode penagihan, zona, dan tipe instans dalam satu aksi. Dibandingkan dengan RunInstances, CreateAutoProvisioningGroup lebih cocok untuk skenario yang memerlukan banyak instance ECS. Lihat Perbandingan RunInstances dan CreateAutoProvisioningGroup dan Manfaat auto provisioning groups.

Bandingkan RunInstances dan CreateAutoProvisioningGroup

Tabel berikut membandingkan operasi API RunInstances dan CreateAutoProvisioningGroup untuk membantu Anda memilih metode yang tepat.

Item

RunInstances

CreateAutoProvisioningGroup

Jumlah maksimum instans per batch

100

1.000 (hingga 10.000 vCPU)

Metode pengiriman kapasitas

Jumlah instans

Jumlah instans, core vCPU, bobot tipe instans, dan lainnya.

Dukungan multi-zona

Tidak

Ya

Dukungan beberapa tipe instans

Tidak

Ya

Dukungan beberapa tipe disk

Tidak

Ya

Kebijakan pembuatan instans

Tidak

Ya. Kebijakan berikut disediakan:

  • Instans pay-as-you-go

    • Optimalisasi biaya: Membuat instans dengan biaya terendah di antara tipe yang ditentukan.

    • Berdasarkan prioritas: Membuat instans berdasarkan prioritas tipe instans yang ditentukan.

  • Spot Instance

    • Optimalisasi biaya: Membuat instans dengan biaya terendah di antara tipe yang ditentukan.

    • Distribusi seimbang: Mendistribusikan instans secara merata di berbagai zona yang ditentukan.

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

Stabilitas pengiriman

Sangat dipengaruhi oleh inventaris sumber daya

Beberapa zona dan tipe instans mengurangi dampak ketersediaan inventaris

Format respons API

Sinkron

Sinkron

Contoh skenario migrasi dari RunInstances ke CreateAutoProvisioningGroup:

  • Jika Anda menggunakan RunInstances untuk membuat instans dengan satu tipe di satu zona, beralihlah ke CreateAutoProvisioningGroup dan konfigurasikan kombinasi beberapa tipe instans dan zona.

  • Jika Anda menggunakan rencana penerapan manual dengan RunInstances, beralihlah ke CreateAutoProvisioningGroup untuk penerapan satu klik di berbagai zona, tipe instans, dan konfigurasi disk dengan kebijakan pembuatan bawaan.

    Misalnya, jika sebelumnya Anda melakukan traversed pada beberapa tipe instans dan zona dengan RunInstances untuk meningkatkan tingkat keberhasilan pembuatan, CreateAutoProvisioningGroup menanganinya secara otomatis — cukup konfigurasikan kombinasinya, pilih kebijakan, dan grup akan membuat instans.

Penting

Auto provisioning groups dapat membuat hingga 1.000 instans sekaligus. Jika Anda menentukan WeightedCapacity untuk tipe instans, kapasitas total tertimbang maksimum per pembuatan adalah 10.000.

Masalah dengan RunInstances untuk pembuatan batch

Operasi RunInstances memiliki keterbatasan berikut saat membuat banyak instans.

Masalah

Deskripsi

Solusi

Kapasitas batch terbatas

Satu panggilan RunInstances hanya dapat membuat hingga 100 instans.

Panggil operasi tersebut beberapa kali dalam loop atau secara konkuren.

Stabilitas batch tidak mencukupi

RunInstances hanya mendukung satu zona dan satu tipe instans, sehingga pembuatan batch dapat gagal karena:

  • Inventaris tidak mencukupi untuk tipe instans yang ditentukan.

  • Tipe instans telah dihentikan.

  • Tipe instans hanya tersedia di zona tertentu.

  • Tipe instans memerlukan tipe disk tertentu.

  • Kekurangan inventaris merupakan penyebab utama kegagalan pembuatan batch. Panggil DescribeAvailableResource untuk mengecek inventaris tipe instans dan zona tertentu. Setelah mengonfirmasi beberapa kombinasi zona-tipe instans dengan inventaris mencukupi, buat instans secara batch. Pendekatan ini meningkatkan stabilitas pengiriman.

    Contoh: Setelah mengonfirmasi beberapa kombinasi valid, buat strategi pembuatan. Misalnya, buat 100 instans secara berurutan berdasarkan kombinasi. Jika kombinasi pertama hanya mendukung 50 instans, gunakan kombinasi kedua untuk 50 instans sisanya.

  • Tipe instans memiliki batas penggunaan. Panggil DescribeAvailableResource untuk mengecek batas dan buat rencana toleransi kesalahan.

    Catatan

    Anda juga dapat memeriksa batas tipe instans di Instance families.

    Contoh: ecs.g6e.large hanya mendukung disk ESSD, tetapi zona cn-beijing-x tidak mendukung ESSD.

Kebijakan pembuatan terlalu sederhana

RunInstances hanya mendukung satu zona dan satu tipe instans. Pemulihan bencana multi-zona atau pembuatan dengan biaya terendah memerlukan rencana penerapan mandiri, yang memiliki masalah berikut:

  • Biaya pengembangan tinggi. Rencana harus menangani kekurangan inventaris, optimalisasi biaya untuk spot instans saat memperluas kapasitas, dan lainnya.

  • Stabilitas rendah. Membangun dan menguji rencana penerapan profesional untuk sumber daya Alibaba Cloud secara mandiri menimbulkan risiko produksi.

Selesaikan sendiri masalah tersebut atau hubungi Alibaba Cloud untuk bantuan.

Manfaat auto provisioning groups

Auto provisioning groups mengatasi keterbatasan RunInstances dengan mendukung penerapan satu klik di berbagai metode penagihan, zona, dan tipe instans. Grup ini menyediakan daya komputasi yang stabil, mengurangi risiko reclamation spot instans, dan menghilangkan pembuatan manual berulang.

Manfaat

Deskripsi

Batas batch lebih tinggi

Hingga 1.000 instans per batch.

Beberapa zona, tipe instans, dan tipe disk

Konfigurasikan hingga 10 kombinasi tipe instans atau zona dan hingga 5 tipe disk untuk pembuatan batch dengan ketersediaan tinggi.

Contoh:

Dengan kebijakan distribusi seimbang, instans didistribusikan secara merata di berbagai zona. Jika pembuatan gagal di satu zona, grup akan membuat instans yang tertunda di zona lain yang tersedia.

Dengan beberapa tipe disk yang ditentukan, grup menggunakannya sesuai urutan prioritas. Jika satu tipe tidak tersedia, sistem secara otomatis beralih ke tipe berikutnya.

Catatan

Jika semua tipe disk yang ditentukan tidak tersedia, grup akan beralih ke metode pembuatan lain.

Beberapa kebijakan pembuatan

Kebijakan pembuatan yang tersedia:

  • Instans pay-as-you-go

    • Optimalisasi biaya: Membuat instans dengan biaya terendah di antara tipe yang ditentukan.

    • Berdasarkan prioritas: Membuat instans berdasarkan prioritas tipe instans yang ditentukan.

  • Spot instans

    • Optimalisasi biaya: Membuat instans dengan biaya terendah di antara tipe yang ditentukan.

    • Distribusi seimbang: Mendistribusikan instans secara merata di berbagai zona yang ditentukan.

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

Ketersediaan spot instans yang lebih baik

Spot instans menawarkan harga rendah tetapi rentan terhadap fluktuasi harga dan reclamation. Auto provisioning groups meningkatkan ketersediaan spot instans sekaligus menjaga biaya tetap rendah:

  • Kebijakan optimalisasi biaya default membuat instans dalam urutan harga naik.

  • Inventaris untuk berbagai kombinasi tipe dan zona spot instans bersifat terisolasi. Beberapa kombinasi mengurangi kemungkinan habisnya seluruh inventaris.

  • Konfigurasikan beberapa tipe disk alternatif agar grup secara otomatis memilih tipe yang sesuai saat pembuatan.

  • Tetapkan SpotInstancePoolsToUseCount untuk menyebarkan spot instans di beberapa pool harga terendah, mencegah kehilangan daya komputasi jika satu tipe direklamasi.

Praktik terbaik untuk CreateAutoProvisioningGroup

Contoh kode Java berikut menunjukkan cara memanggil CreateAutoProvisioningGroup.

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

    Lihat Ikhtisar SDK.

  2. Panggil CreateAutoProvisioningGroup dengan Java.

    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")
                    // Tetapkan kebijakan pembuatan untuk spot instans.
                    .setSpotAllocationStrategy("lowest-price")
                    // Tetapkan kebijakan pembuatan untuk instans pay-as-you-go.
                    .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()));
        }
    }

    Contoh respons 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"
    }

    Dengan CreateAutoProvisioningGroup, Anda mengonfigurasi parameter pembuatan batch dan grup menangani proses pembuatan berdasarkan prinsip best-effort.

    Catatan

    Pengiriman best-effort berarti bahwa jika beberapa kombinasi sumber daya tidak dapat membuat instans, grup secara otomatis beralih ke kombinasi lain yang tersedia. Proses ini memerlukan waktu dan hasil aktual mungkin sedikit berbeda dari kebijakan yang ditentukan.