@@ -39,18 +39,18 @@ public class EC2Application {
3939
4040 public static void main (String [] args ) {
4141
42- // 0) - Set up the client
42+ // Set up the client
4343 AmazonEC2 ec2Client = AmazonEC2ClientBuilder .standard ()
4444 .withCredentials (new AWSStaticCredentialsProvider (credentials ))
4545 .withRegion (Regions .US_EAST_1 )
4646 .build ();
4747
48- // 1) - Create a security group
48+ // Create a security group
4949 CreateSecurityGroupRequest createSecurityGroupRequest = new CreateSecurityGroupRequest ().withGroupName ("BaeldungSecurityGroup" )
5050 .withDescription ("Baeldung Security Group" );
5151 ec2Client .createSecurityGroup (createSecurityGroupRequest );
5252
53- // 2) - Allow HTTP and SSH traffic
53+ // Allow HTTP and SSH traffic
5454 IpRange ipRange1 = new IpRange ().withCidrIp ("0.0.0.0/0" );
5555
5656 IpPermission ipPermission1 = new IpPermission ().withIpv4Ranges (Arrays .asList (new IpRange [] { ipRange1 }))
@@ -69,19 +69,19 @@ public static void main(String[] args) {
6969
7070 ec2Client .authorizeSecurityGroupIngress (authorizeSecurityGroupIngressRequest );
7171
72- // 3) - Create KeyPair
72+ // Create KeyPair
7373 CreateKeyPairRequest createKeyPairRequest = new CreateKeyPairRequest ()
7474 .withKeyName ("baeldung-key-pair" );
7575 CreateKeyPairResult createKeyPairResult = ec2Client .createKeyPair (createKeyPairRequest );
7676 String privateKey = createKeyPairResult
7777 .getKeyPair ()
7878 .getKeyMaterial (); // make sure you keep it, the private key, Amazon doesn't store the private key
7979
80- // 4) - See what key-pairs you've got
80+ // See what key-pairs you've got
8181 DescribeKeyPairsRequest describeKeyPairsRequest = new DescribeKeyPairsRequest ();
8282 DescribeKeyPairsResult describeKeyPairsResult = ec2Client .describeKeyPairs (describeKeyPairsRequest );
8383
84- // 5) - Launch an Amazon Instance
84+ // Launch an Amazon Instance
8585 RunInstancesRequest runInstancesRequest = new RunInstancesRequest ().withImageId ("ami-97785bed" ) // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html | https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/usingsharedamis-finding.html
8686 .withInstanceType ("t2.micro" ) // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
8787 .withMinCount (1 )
@@ -91,7 +91,13 @@ public static void main(String[] args) {
9191
9292 String yourInstanceId = ec2Client .runInstances (runInstancesRequest ).getReservation ().getInstances ().get (0 ).getInstanceId ();
9393
94- // 6) Monitor Instances
94+ // Start an Instance
95+ StartInstancesRequest startInstancesRequest = new StartInstancesRequest ()
96+ .withInstanceIds (yourInstanceId );
97+
98+ ec2Client .startInstances (startInstancesRequest );
99+
100+ // Monitor Instances
95101 MonitorInstancesRequest monitorInstancesRequest = new MonitorInstancesRequest ()
96102 .withInstanceIds (yourInstanceId );
97103
@@ -102,14 +108,14 @@ public static void main(String[] args) {
102108
103109 ec2Client .unmonitorInstances (unmonitorInstancesRequest );
104110
105- // 7) - Reboot an Instance
111+ // Reboot an Instance
106112
107113 RebootInstancesRequest rebootInstancesRequest = new RebootInstancesRequest ()
108114 .withInstanceIds (yourInstanceId );
109115
110116 ec2Client .rebootInstances (rebootInstancesRequest );
111117
112- // 8) - Stop an Instance
118+ // Stop an Instance
113119 StopInstancesRequest stopInstancesRequest = new StopInstancesRequest ()
114120 .withInstanceIds (yourInstanceId );
115121
@@ -119,13 +125,7 @@ public static void main(String[] args) {
119125 .getPreviousState ()
120126 .getName ();
121127
122- // 9) - Start an Instance
123- StartInstancesRequest startInstancesRequest = new StartInstancesRequest ()
124- .withInstanceIds (yourInstanceId );
125-
126- ec2Client .startInstances (startInstancesRequest );
127-
128- // 10) - Describe an Instance
128+ // Describe an Instance
129129 DescribeInstancesRequest describeInstancesRequest = new DescribeInstancesRequest ();
130130 DescribeInstancesResult response = ec2Client .describeInstances (describeInstancesRequest );
131131 System .out .println (response .getReservations ()
0 commit comments