How to trigger a cloudwatch alarm for testing?

by XDK 3. October 2019 22:10


Following is the command

aws cloudwatch set-alarm-state --alarm-name <Created alarm name> --state-reason <comment> --state-value ALARM


Amazon Web Service | CloudWatch

How to create a s3 pre-signed URLs which expires in 10 minutes?

by XDK 3. October 2019 21:48


Following is the AWS CLI command

aws s3 presign <bucket URL> --expires-in <duration in seconds> --region <location name>


aws configure set default.s3.signature_version s3v4
aws s3 presign s3://xdk-bucket/xdkimage.jpg --expires-in 600 --region eu-east-1


Amazon Web Service | S3

How to verify cfn-init & cfn-signal commands, executed successfully on the instance?

by XDK 2. October 2019 10:03


Verify the logs at the following location to debug the instance launch


Tags: ,

Amazon Web Service | CloudFormation

How to set instance status using AWS CLI?

by XDK 1. October 2019 22:32


Following is the command to set the health status of the specified instance.

aws autoscaling set-instance-health --instance-id <ID> --health-status <Healthy/Unhealthy>

Example: To set the instance Unhealthy

aws autoscaling set-instance-health --instance-id i-123456789 --health-status Unhealthy

Tags: ,

Amazon Web Service

How to create custom CloudWatch memory metrics for ubuntu EC2 instance?

by XDK 28. September 2019 01:39


Launch an EC2 instance for which the custom CloudWatch memory metrics need to be generated.

Create an IAM role named "CustomMetricsRole" with a custom policy name "CustomEC2CloudWatch" to establish the interoperability between EC2 instance and CloudWatch as below
Policy : CustomEC2CloudWatch
"Version": "2012-10-17",
   "Statement": [
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [


       "Resource": "*"
Attach IAM role to the EC2 instance

SSH to EC2 instance
$ sudo apt update
$ sudo apt install unzip
$ sudo apt install perl
$ sudo apt install liblwp-protocol-https-perl libdatetime-perl

Download the CloudWatch Monitoring perl scripts for Linux
$ wget
$ unzip
$ cd aws-scripts-mon - Collects system metrics on an EC2 instance and sends them to CloudWatch - Queries CloudWatch and displays the most resent metrics - File template for AWS credentials

Push custom metrics from EC2 instance to CloudWatch
$ ./ --mem-util --mem-used --mem-avail

Create crontab and add the script to run at every minute intervals.
$ crontab -e
* * * * * /home/ubuntu/aws-scripts-mon/ --mem-util --mem-used --mem-avail


To retrive the most recent custom metrics from CloudWatch to EC2 instance

Tags: ,

Amazon Web Service | CloudWatch | perl


The information provided here is based on my expreriences, troubleshooting and online/offline findings. It can be used as is on your own risk without any warranties and I impose no rights.

About the author

My name is Xavier Dilip Kumar Jayaraj having 13+ years of IT experience which includes solid experience and depth Knowledge in Application Life Cycle Management, Configuration Management, Implementation and Support using TFS on-premises and Azure DevOps. I have invested in gaining DevOps knowledege to expertise with Cloud Computing providers namely Microsoft Azure and Amazon Web Services in recent years. I am very positive to learn and adapt emerging technologies to client’s environment.

Quotes I Like

"Failure will never overtake me if my determination to succeed is strong enough."  - Dr. APJ. Abdul Kalam

"Always be yourself, express yourself, have faith in yourself, do not go out and look for a successful personality and duplicate it." - Bruce Lee

"Technology is just a tool. In terms of getting the kids working together and motivating them, the teacher is the most important." - Bill Gates

"Innovation distinguishes between a leader and a follower." - Steve Jobs