Steps of starting an AWS EC2 instance

1. runInstance

 - 1. with mincount

 - 2. with maxcount

 - 3. with instance type

 - - 1. m1.small = i386

 - - 2. m2.large = x86_64

 - 4. withImageID

 

2. startInstance

3. stopInstance

4. terminateInstance

 - instance will be visible after terminate approx. 1hour.

 

5. check status

 - DescribeInstance

 - - foreach: reservation

 - - - foreach: runningInstance

 - - - - InstanceID.. IP Address... evreything you need is here.


Example Code: Terminate all instances:

        public static void ec2test()
        {
            String instanceID = "";
            NameValueCollection appConfig = ConfigurationManager.AppSettings;
            AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client(appConfig["AWSAccessKey"],appConfig["AWSSecretKey"]);

            // describe existed instance            
            DescribeInstancesRequest ec2DescribeInstancesRequest = new DescribeInstancesRequest();

            try
            {
                DescribeInstancesResponse ec2DescribeInstancesResponse = ec2.DescribeInstances(ec2DescribeInstancesRequest);
                int numOfInstances = ec2DescribeInstancesResponse.DescribeInstancesResult.Reservation.Count;
                Console.WriteLine("Num of instance:" + numOfInstances);

                List<Reservation> reservations = ec2DescribeInstancesResponse.DescribeInstancesResult.Reservation;

                foreach (Reservation reservation in reservations)
                {
                    List<RunningInstance> runningInstances = reservation.RunningInstance;
                    foreach (RunningInstance runningInstance in runningInstances)
                    {
                        instanceID = runningInstance.InstanceId;
                        Console.WriteLine("Instanceid:" + instanceID);

                        TerminateInstancesRequest ec2TerminateInstancesRequest = new TerminateInstancesRequest().WithInstanceId(instanceID);
                        TerminateInstancesResponse ec2TerminateInstancesResponse = ec2.TerminateInstances(ec2TerminateInstancesRequest);
                        TerminateInstancesResult ec2TerminateInstancesResult = ec2TerminateInstancesResponse.TerminateInstancesResult;

                        List<InstanceStateChange> instanceStateChanges = ec2TerminateInstancesResult.TerminatingInstance;
                        foreach (InstanceStateChange instanceStateChange in instanceStateChanges)
                        {
                            Console.WriteLine("instanceid:" + instanceStateChange.InstanceId + " Previous State:" + instanceStateChange.PreviousState.Name + " Current State:" + instanceStateChange.CurrentState.Name);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error:" + ex.ToString());
            }




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值