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

GIT Cheat Sheet

by XDK 16. September 2019 16:35

Tags:

Git

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

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.

Microsoft Certified: Azure Administrator Associate

Microsoft Certified: Azure DevOps Engineer Expert

DevOps Engineer Certificate Program | Transcript 

OTP-AWSD5: AWS IoT: Developing and Deploying an Internet of Things

[PCEP-30-01] PCEP – Certified Entry-Level Python Programmer

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

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.