All Products
Search
Document Center

:Gunakan SDK untuk membuat instance kontainer elastis

Last Updated:Jul 06, 2025

Elastic Container Instance menyediakan SDK dalam tiga bahasa pemrograman: Go, Python, dan Java. Dokumen ini menjelaskan cara menggunakan SDK untuk membuat instance kontainer elastis, dengan contoh berupa Alibaba Cloud SDK for Java.

Instal Alibaba Cloud SDK for Java

Disarankan untuk menggunakan Apache Maven guna menginstal Alibaba Cloud SDK for Java. Tambahkan dependensi berikut ke file pom.xml di proyek Maven:

  • Pustaka inti dari Alibaba Cloud SDK for Java (aliyun-java-sdk-core)

  • Dependensi aliyun-java-sdk-eci dan gson

  • (Opsional) Dependensi aliyun-java-sdk-vpc

  • (Opsional) Dependensi aliyun-java-sdk-ecs dan fastjson

Catatan
  • Perbarui versi setiap dependensi secara berkala untuk memanfaatkan fitur baru. Untuk informasi lebih lanjut, kunjungi Maven.

  • Jika VPC, vSwitch, dan grup keamanan sudah tersedia, Anda tidak perlu menginstal Alibaba Cloud SDK for Java untuk membuat komponen tersebut. Dalam hal ini, instalasi dependensi aliyun-java-sdk-vpc, aliyun-java-sdk-ecs, dan fastjson dapat dilewati.

<dependencies>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <optional>true</optional>
            <version>4.6.3</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.10</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-eci</artifactId>
            <version>1.3.3</version>
        </dependency>
          <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-ecs</artifactId>
            <version>4.24.42</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.19</version>
        </dependency>
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-vpc</artifactId>
            <version>3.2.9</version>
        </dependency>
</dependencies>

Berikut adalah langkah-langkah untuk menginstal Alibaba Cloud SDK for Java jika Anda menggunakan IntelliJ IDEA sebagai alat pengembangan Java:

  1. Buka IntelliJ IDEA dan gunakan salah satu metode berikut untuk membuat proyek Maven:

    • Metode 1: Buat Proyek Maven di IntelliJ IDEA

      1. Di bilah navigasi atas, pilih File > New > Project....

      2. Dalam kotak dialog yang muncul, klik Maven dan selesaikan konfigurasi proyek.

        sdk1

    • Metode 2: Konversikan Proyek yang Ada Menjadi Proyek Maven

      1. Klik kanan proyek yang ingin dikonversi dan pilih Add Framework Support... dari menu yang muncul.

        sdk2

      2. Di kotak dialog yang muncul, pilih Maven dan klik OK.

        sdk3

  2. Buka file pom.xml di direktori proyek Maven dan tambahkan dependensi.

    Setelah dependensi ditambahkan, Maven akan otomatis mengunduh paket JAR yang sesuai.

    sdk4

Peroleh pasangan AccessKey

Saat memanggil operasi API, Anda harus menggunakan pasangan AccessKey untuk menyelesaikan verifikasi identitas. Untuk melindungi pasangan AccessKey akun Alibaba Cloud Anda, disarankan untuk membuat pengguna RAM, memberikan izin kepada pengguna RAM untuk mengakses instance kontainer elastis, dan menggunakan pasangan AccessKey pengguna RAM untuk memanggil Elastic Container Instance SDK for Java.

Untuk informasi lebih lanjut, lihat topik-topik berikut:

  1. Buat Pengguna RAM

  2. Berikan Izin kepada Pengguna RAM

  3. Buat Pasangan AccessKey

Buat sumber daya yang diperlukan oleh instance kontainer elastis

Sebelum membuat instance kontainer elastis, Anda harus membuat VPC, vSwitch, dan grup keamanan.

Catatan

Jika VPC, vSwitch, dan grup keamanan sudah ada, Anda dapat menggunakan ID mereka untuk membuat instance kontainer elastis.

  1. Buat VPC.

    Tabel berikut menjelaskan parameter-parameter tersebut. Untuk informasi lebih lanjut, lihat CreateVpc.

    Parameter

    Contoh

    Deskripsi

    RegionId

    cn-shanghai

    ID wilayah tempat VPC diterapkan.

    Pilih wilayah tempat Elastic Container Instance tersedia. Untuk informasi lebih lanjut, lihat Wilayah dan zona.

    CidrBlock

    192.168.0.0/16

    Blok CIDR dari VPC.

    Anda dapat menggunakan salah satu blok CIDR berikut atau subsetnya: 192.168.0.0/16, 172.16.0.0/12, dan 10.0.0.0/8. Blok CIDR ini adalah blok CIDR privat standar sebagaimana didefinisikan dalam dokumen Request for Comments (RFC). Masker subnet harus memiliki panjang 8 hingga 28 bit.

    Contoh kode:

    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.exceptions.ServerException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.google.gson.Gson;
    import com.aliyuncs.vpc.model.v20160428.*;
    
    public class CreateVpc {
    
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai","<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CreateVpcRequest request = new CreateVpcRequest();
            request.setSysRegionId("cn-shanghai");
            request.setCidrBlock("192.168.0.0/16");
    
            try {
                CreateVpcResponse response = client.getAcsResponse(request);
                System.out.println(new Gson().toJson(response));
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                System.out.println("ErrCode:" + e.getErrCode());
                System.out.println("ErrMsg:" + e.getErrMsg());
                System.out.println("RequestId:" + e.getRequestId());
            }
    
        }
    }

    Respons berikut menunjukkan bahwa VPC telah dibuat:

    {
    	"vpcId": "vpc-uf6d60ru912b6jvco****",
    	"vRouterId": "vrt-uf68fw505rxavz4hk****",
    	"requestId": "2C7AA1E2-4407-5B41-89F2-3DADC5AEE18E",
    	"routeTableId": "vtb-uf6orqxrmsyuv8gba****",
    	"resourceGroupId": "rg-acfmzw2jz2z****"
    }
  2. Buat vSwitch di VPC.

    Tabel berikut menjelaskan parameter-parameter tersebut. Untuk informasi lebih lanjut, lihat CreateVSwitch.

    Parameter

    Contoh

    Deskripsi

    VpcId

    vpc-uf6d60ru912b6jvco****

    ID VPC tempat vSwitch milik.

    ZoneId

    cn-shanghai-m

    ID zona tempat vSwitch milik.

    Pilih zona yang direkomendasikan di wilayah yang dipilih. Untuk informasi lebih lanjut, lihat Wilayah dan zona.

    CidrBlock

    192.168.0.0/24

    Blok CIDR dari vSwitch. Blok CIDR dari vSwitch harus memenuhi persyaratan berikut:

    • Masker harus memiliki panjang 16 hingga 29 bit.

    • Blok CIDR dari vSwitch harus berada dalam blok CIDR dari VPC tempat vSwitch milik.

    • Blok CIDR dari vSwitch tidak boleh sama dengan blok CIDR tujuan yang ditambahkan ke VPC. Namun, blok CIDR dari vSwitch bisa menjadi subset dari blok CIDR tujuan.

    Contoh kode:

    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.exceptions.ServerException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.google.gson.Gson;
    import java.util.*;
    import com.aliyuncs.vpc.model.v20160428.*;
    
    public class CreateVSwitch {
    
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CreateVSwitchRequest request = new CreateVSwitchRequest();
            request.setSysRegionId("cn-shanghai");
            request.setCidrBlock("192.168.0.0/24");
            request.setVpcId("vpc-uf6d60ru912b6jvco****");
            request.setZoneId("cn-shanghai-m");
    
            try {
                CreateVSwitchResponse response = client.getAcsResponse(request);
                System.out.println(new Gson().toJson(response));
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                System.out.println("ErrCode:" + e.getErrCode());
                System.out.println("ErrMsg:" + e.getErrMsg());
                System.out.println("RequestId:" + e.getRequestId());
            }
    
        }
    }

    Respons berikut menunjukkan bahwa vSwitch telah dibuat:

    {
    	"vSwitchId": "vsw-uf6uma67wlgxwuyb5****",
    	"requestId": "B94FAE14-043C-56B5-A763-F2E03C75AC3F"
    }
  3. Buat grup keamanan.

    Anda harus menentukan VPC saat membuat grup keamanan. Contoh kode:

    import com.aliyuncs.DefaultAcsClient;
    import com.aliyuncs.IAcsClient;
    import com.aliyuncs.exceptions.ClientException;
    import com.aliyuncs.exceptions.ServerException;
    import com.aliyuncs.profile.DefaultProfile;
    import com.google.gson.Gson;
    import java.util.*;
    import com.aliyuncs.ecs.model.v20140526.*;
    
    public class CreateSecurityGroup {
    
        public static void main(String[] args) {
            DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<accessKeyId>", "<accessSecret>");
            IAcsClient client = new DefaultAcsClient(profile);
    
            CreateSecurityGroupRequest request = new CreateSecurityGroupRequest();
            request.setSysRegionId("cn-shanghai");
            request.setVpcId("vpc-uf6d60ru912b6jvco****");
    
            try {
                CreateSecurityGroupResponse response = client.getAcsResponse(request);
                System.out.println(new Gson().toJson(response));
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                System.out.println("ErrCode:" + e.getErrCode());
                System.out.println("ErrMsg:" + e.getErrMsg());
                System.out.println("RequestId:" + e.getRequestId());
            }
    
        }
    }

    Respons berikut menunjukkan bahwa grup keamanan telah dibuat:

    {
    	"securityGroupId": "sg-uf63jawzncdab6xb****",
    	"requestId": "73D5964C-686A-59AF-8433-209067AB51D7"
    }

Buat instance kontainer elastis

Tabel berikut menjelaskan parameter-parameter tersebut. Untuk informasi lebih lanjut, lihat CreateContainerGroup.

Parameter

Contoh

Deskripsi

RegionId

cn-shanghai

ID wilayah dari instance kontainer elastis.

SecurityGroupId

sg-uf63jawzncdab6xb****

ID grup keamanan yang ingin Anda asosiasikan dengan instance kontainer elastis.

VSwitchId

vsw-uf6uma67wlgxwuyb5****

vSwitch yang ingin Anda asosiasikan dengan instance kontainer elastis.

ContainerGroupName

test

Nama instance kontainer elastis.

Container.N.Image

registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2

Gambar dari kontainer N.

Container.N.Name

nginx

Nama dari kontainer N.

Contoh kode:

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.profile.DefaultProfile;
import com.google.gson.Gson;
import java.util.*;
import com.aliyuncs.eci.model.v20180808.*;
public class CreateContainerGroup {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-shanghai", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);
        CreateContainerGroupRequest request = new CreateContainerGroupRequest();
        request.setRegionId("cn-shanghai");
        request.setSecurityGroupId("sg-uf63jawzncdab6xb****");
        request.setVSwitchId("vsw-uf6uma67wlgxwuyb5****");
        request.setContainerGroupName("test");
        List<CreateContainerGroupRequest.Container> containerList = new ArrayList<CreateContainerGroupRequest.Container>();
        CreateContainerGroupRequest.Container container1 = new CreateContainerGroupRequest.Container();
        container1.setImage("registry-vpc.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2");
        container1.setName("nginx");
        containerList.add(container1);
        request.setContainers(containerList);
        try {
            CreateContainerGroupResponse response = client.getAcsResponse(request);
            System.out.println(new Gson().toJson(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            System.out.println("ErrCode:" + e.getErrCode());
            System.out.println("ErrMsg:" + e.getErrMsg());
            System.out.println("RequestId:" + e.getRequestId());
        }
    }
}

Respons berikut menunjukkan bahwa instance kontainer elastis telah dibuat. Nilai containerGroupId menunjukkan ID dari instance.

{
	"requestId": "FA8DB391-3F54-5998-BDA0-8195113108E8",
	"containerGroupId": "eci-uf6g69s8wou20ns7****"
}