Kelola Amazon EC2 instance - AWS SDK for Java 2.x

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kelola Amazon EC2 instance

Buatlah sebuah instans

Buat Amazon EC2 instance baru dengan memanggil runInstancesmetode Ec2Client, sediakan dengan RunInstancesRequestberisi Amazon Machine Image (AMI) untuk digunakan dan jenis instance.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.InstanceType; import software.amazon.awssdk.services.ec2.model.RunInstancesRequest; import software.amazon.awssdk.services.ec2.model.RunInstancesResponse; import software.amazon.awssdk.services.ec2.model.Tag; import software.amazon.awssdk.services.ec2.model.CreateTagsRequest; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

Kode

public static String createEC2Instance(Ec2Client ec2,String name, String amiId ) { RunInstancesRequest runRequest = RunInstancesRequest.builder() .imageId(amiId) .instanceType(InstanceType.T1_MICRO) .maxCount(1) .minCount(1) .build(); RunInstancesResponse response = ec2.runInstances(runRequest); String instanceId = response.instances().get(0).instanceId(); Tag tag = Tag.builder() .key("Name") .value(name) .build(); CreateTagsRequest tagRequest = CreateTagsRequest.builder() .resources(instanceId) .tags(tag) .build(); try { ec2.createTags(tagRequest); System.out.printf( "Successfully started EC2 Instance %s based on AMI %s", instanceId, amiId); return instanceId; } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } return ""; }

Lihat contoh lengkapnya di GitHub.

Memulai instans

Untuk memulai sebuah Amazon EC2 instance, panggil startInstancesmetode Ec2Client, sediakan dengan ID StartInstancesRequestyang berisi instance untuk memulai.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.StartInstancesRequest; import software.amazon.awssdk.services.ec2.model.StopInstancesRequest;

Kode

public static void startInstance(Ec2Client ec2, String instanceId) { StartInstancesRequest request = StartInstancesRequest.builder() .instanceIds(instanceId) .build(); ec2.startInstances(request); System.out.printf("Successfully started instance %s", instanceId); }

Lihat contoh lengkapnya di GitHub.

Menghentikan instans

Untuk menghentikan Amazon EC2 instance, panggil stopInstancesmetode Ec2Client, berikan ID yang StopInstancesRequestberisi instance untuk berhenti.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.StartInstancesRequest; import software.amazon.awssdk.services.ec2.model.StopInstancesRequest;

Kode

public static void stopInstance(Ec2Client ec2, String instanceId) { StopInstancesRequest request = StopInstancesRequest.builder() .instanceIds(instanceId) .build(); ec2.stopInstances(request); System.out.printf("Successfully stopped instance %s", instanceId); }

Lihat contoh lengkapnya di GitHub.

Menyalakan ulang instans

Untuk me-reboot sebuah Amazon EC2 instance, panggil rebootInstancesmetode Ec2Client, berikan ID yang RebootInstancesRequestberisi instance untuk reboot.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.Ec2Exception; import software.amazon.awssdk.services.ec2.model.RebootInstancesRequest;

Kode

public static void rebootEC2Instance(Ec2Client ec2, String instanceId) { try { RebootInstancesRequest request = RebootInstancesRequest.builder() .instanceIds(instanceId) .build(); ec2.rebootInstances(request); System.out.printf( "Successfully rebooted instance %s", instanceId); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Lihat contoh lengkapnya di GitHub.

Menjelaskan instans

Untuk membuat daftar instance Anda, buat DescribeInstancesRequestdan panggil metode Ec2Client. describeInstances Ini akan mengembalikan DescribeInstancesResponseobjek yang dapat Anda gunakan untuk daftar Amazon EC2 instance untuk akun dan wilayah Anda.

Instans dikelompokkan berdasarkan reservasi. Setiap reservasi sesuai dengan panggilan startInstances yang meluncurkan instance. Untuk membuat daftar instance Anda, Anda harus terlebih dahulu memanggil reservations metode DescribeInstancesResponse kelas, dan kemudian memanggil instances setiap objek Reservasi yang dikembalikan.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.DescribeInstancesRequest; import software.amazon.awssdk.services.ec2.model.DescribeInstancesResponse; import software.amazon.awssdk.services.ec2.model.Instance; import software.amazon.awssdk.services.ec2.model.Reservation; import software.amazon.awssdk.services.ec2.model.Ec2Exception;

Kode

public static void describeEC2Instances( Ec2Client ec2){ String nextToken = null; try { do { DescribeInstancesRequest request = DescribeInstancesRequest.builder().maxResults(6).nextToken(nextToken).build(); DescribeInstancesResponse response = ec2.describeInstances(request); for (Reservation reservation : response.reservations()) { for (Instance instance : reservation.instances()) { System.out.println("Instance Id is " + instance.instanceId()); System.out.println("Image id is "+ instance.imageId()); System.out.println("Instance type is "+ instance.instanceType()); System.out.println("Instance state name is "+ instance.state().name()); System.out.println("monitoring information is "+ instance.monitoring().state()); } } nextToken = response.nextToken(); } while (nextToken != null); } catch (Ec2Exception e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } }

Hasil paged; Anda bisa mendapatkan hasil lebih lanjut dengan meneruskan nilai yang dikembalikan dari nextToken metode objek hasil ke nextToken metode objek permintaan baru, kemudian menggunakan objek permintaan baru dalam panggilan berikutnya. describeInstances

Lihat contoh lengkapnya di GitHub.

Memantau sebuah instance

Anda dapat memantau berbagai aspek Amazon EC2 instance Anda, seperti CPU dan pemanfaatan jaringan, memori yang tersedia, dan ruang disk yang tersisa. Untuk mempelajari lebih lanjut tentang pemantauan instans, lihat Pemantauan Amazon EC2 di Panduan Amazon EC2 Pengguna untuk Instans Linux.

Untuk mulai memantau instance, Anda harus membuat MonitorInstancesRequestdengan ID instance untuk dipantau, dan meneruskannya ke metode monitorInstancesEc2Client.

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.MonitorInstancesRequest; import software.amazon.awssdk.services.ec2.model.UnmonitorInstancesRequest;

Kode

public static void monitorInstance( Ec2Client ec2, String instanceId) { MonitorInstancesRequest request = MonitorInstancesRequest.builder() .instanceIds(instanceId).build(); ec2.monitorInstances(request); System.out.printf( "Successfully enabled monitoring for instance %s", instanceId); }

Lihat contoh lengkapnya di GitHub.

Hentikan pemantauan instans

Untuk menghentikan pemantauan instance, buat UnmonitorInstancesRequestdengan ID instance untuk menghentikan pemantauan, dan teruskan ke metode Ec2Client. unmonitorInstances

Impor

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.ec2.Ec2Client; import software.amazon.awssdk.services.ec2.model.MonitorInstancesRequest; import software.amazon.awssdk.services.ec2.model.UnmonitorInstancesRequest;

Kode

public static void unmonitorInstance(Ec2Client ec2, String instanceId) { UnmonitorInstancesRequest request = UnmonitorInstancesRequest.builder() .instanceIds(instanceId).build(); ec2.unmonitorInstances(request); System.out.printf( "Successfully disabled monitoring for instance %s", instanceId); }

Lihat contoh lengkapnya di GitHub.

Informasi lain