A data resource "aws_availability_zones" "available" has not been declared in the root module.

by XDK 18. September 2019 21:45

Exception:

Error: Reference to undeclared resource
on base.tf line 65, in resource "aws_subnet" "public-subnet-a":
65: availability_zone = "${data.aws_availability_zones.available.names[0]}"
A data resource "aws_availability_zones" "available" has not been declared in
the root module.

Explanation:

The exception occurred while assigning the availability zone for a region in the terraform template.

resource "aws_subnet" "public-subnet-a" {
  vpc_id = "${aws_vpc.vpc.id}"
  map_public_ip_on_launch = true
  cidr_block = "10.0.10.0/24"
  availability_zone = "${data.aws_availability_zones.available.names[0]}"
  tags = {
  Name = "public-subnet-a:${var.labname}"
  }
}

Solution:

Add data module to get the availability zones for a region
data "aws_availability_zones" "available" {}

resource "aws_subnet" "public-subnet-a" {
  vpc_id = "${aws_vpc.vpc.id}"
  map_public_ip_on_launch = true
  cidr_block = "10.0.10.0/24"
  availability_zone = "${data.aws_availability_zones.available.names[0]}"
  tags = {
  Name = "public-subnet-a:${var.labname}"
  }
}

Tags:

Amazon Web Service | Terraform

How to create custom AWS profile?

by XDK 18. September 2019 21:33

Explanation:

AWS CLI command to create custom AWS profile
aws configure --profile <profile name>
Verification command
aws sts get-caller-identity --profile <demo>
Output:
{
"UserId": "AIDAYHQTXQ2MWUGOD24RV",
"Account": "565903328921",
"Arn": "arn:aws:iam::565903328921:user/<APIUser>"
}

Tags:

Amazon Web Service

How to create and push docker images to Amazon Elastic Container Registry?

by XDK 31. August 2019 10:39

Explanation:

Open ECR option in Amazon Console Management.

Note: Click on "View Push Commands" to get the command help.

Retrieve the login command to use to authenticate your Docker client to your registry.
Use the AWS CLI: How to install & configure AWS CLI?
$(aws ecr get-login --no-include-email --region us-east-1)

Note: If you receive an "Unknown options: --no-include-email" error when using the AWS CLI, ensure that you have the latest version installed. Learn more
Build your Docker image using the following command. For information on building a Docker file from scratch see the instructions here . You can skip this step if your image is already built:
ubuntu@ip-172-31-43-31:~$ docker build -t xdkrepo/helloworld .

After the build completes, tag your image so you can push the image to this repository:
ubuntu@ip-172-31-43-31:~$ docker tag xdkrepo/helloworld:latest 565903328921.dkr.ecr.us-east-1.amazonaws.com/xdkrepo/helloworld:latest

Run the following command to push this image to your newly created AWS repository:
ubuntu@ip-172-31-43-31:~$ docker push 565903328921.dkr.ecr.us-east-1.amazonaws.com/xdkrepo/helloworld:latest

Tags:

Amazon Web Service | Docker

How to install & configure AWS CLI?

by XDK 30. August 2019 21:28

Explanation:

Command to Install AWS CLI
ubuntu@ip-172-31-43-31:~$ sudo apt install awscli

Create user for AWS CLI configuration

Command to configure AWS CLI
ubuntu@ip-172-31-43-31:~$ aws configure
AWS Access Key ID [None]: XXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXX
Default region name [None]: us-east-1
Default output format [None]:

Tags: ,

Amazon Web Service

How to uninstall docker on ubuntu?

by XDK 28. August 2019 22:11

Explanation:

To uninstall docker

sudo apt-get purge docker-ce
sudo rm -rf /var/lib/docker
Note: The output of the below command will provide you with information the installed package software, version, architecture and short description about the package. grep command is used to find the docker package
sudo dpkg --get-selections | grep docker | cut -f 1
sudo apt-get remove --purge <package name from the previous command output>
sudo whereis docker
sudo rm -rf <directory/file path from the previous command output>

Tags:

Amazon Web Service | Azure Native DevOps | Docker | Microsoft Azure Services

Disclaimer

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

CategoryList