Techieindoor

Stop an Amazon EC2 instance using AWS Go SDK

In this article, we will are going to learn how to Stop an Amazon EC2 instance using AWS Go SDK with example in details.

In certain situations, you might need to stop an EC2 instance to save costs, perform maintenance, or for other reasons.

Please note that stopping an EC2 instance will cause any unsaved data on the instance’s ephemeral storage to be lost. To avoid data loss, ensure your data is backed up or stored on EBS volumes.

Table of Contents:

  1. Prerequisites for stopping an EC2 instance using Go SDK
  2. Setting up the AWS Go SDK
  3. Stopping an EC2 instance using Go SDK
  4. Best practices for stopping EC2 instances

Prerequisites to Stop an Amazon EC2 instance using AWS Go SDK:

  1. An active AWS account
  2. An EC2 instance running in your account
  3. Necessary permissions to stop the instance
  4. Go language installed on your machine
  5. AWS Go SDK installed and configured

Setting up the AWS Go SDK:

To set up the AWS Go SDK, follow these steps:

Stopping an EC2 instance using Go SDK:

Example:

package main


import (

	"fmt"

	"github.com/aws/aws-sdk-go/aws"

	"github.com/aws/aws-sdk-go/aws/session"

	"github.com/aws/aws-sdk-go/service/ec2"

)


func main() {
	// Create a new AWS session
	sess, err := session.NewSession(&aws.Config{

		Region: aws.String("us-west-2")},

	)


	if err != nil {

		fmt.Println("Error creating session:", err)

		return

	}


	// Create a new EC2 service client
	svc := ec2.New(sess)


	// Specify the instance ID to stop
	instanceID := "i-1234567890abcdef0"


	// Stop the instance
	input := &ec2.StopInstancesInput{

		InstanceIds: []*string{

			aws.String(instanceID),

		},

	}


	result, err := svc.StopInstances(input)

	if err != nil {

		fmt.Println("Error stopping instance:", err)

		return

	}


	fmt.Println("Instance stopped:", result.StoppingInstances)

}

Replace “i-1234567890abcdef0” with your instance ID and adjust the region according to your instance’s location.

Best practices for stopping EC2 instances:

To learn more about golang, Please refer given below link.

https://www.techieindoor.com/golang-tutorial/

References:

https://en.wikipedia.org/wiki/Go_(programming_language)

Exit mobile version