Error: invalid SQS queue name

When you create anAWS FIFO SQS queue with Terraform, you may get the error message: Error: invalid queue name The name of an AWS FIFO SQS queue has to end with .fifo ( my-queue.fifo ) The name of any AWS SQS queue cannot be longer than 80 characters, and can only contain letters, numbers, dashes …

Cannot connect to an AWS EC2 Windows instance with WINRM

When we launch an AWS EC2 instance with Windows 2012, Windows 2016, Windows 2019, the “Administrator” local account is automatically created and added to the Administrators group. We can decrypt the Administrator password using the private key of the key pair we used to launch the server. On Windows servers WINRM access is necessary during …

An argument named “root_block_device” is not expected here. Did you mean to define a block of type “root_block_device”?

In the Terraform script to create an AWS EC2 instance, we can specify the volume sizes. Separate arguments describe the root and data volumes. This feature enables the script to create the volumes without specifying the connection attributes in another block. The Terraform documentation does not show the syntax, and the Terraform example at the …

Move AWS EC2 instance to another subnet or availability zone

When we move an EC2 instance from one subnet to another or to another availability zone the EC2 Metadata Service stops working on the instance. We get the error message: Unable to get IAM security credentials from EC2 Instance Metadata Service. To enable the EC2 Metadata Service again, we need to update the routing configuration …

Cannot modify the instance class because there are no instances of the requested class available in the current instance’s availability zone

When you change the instance type of an AWS RDS instance, the availability zone of the instance has to have available capacity of the selected type. Some older availability zones (us-east-1a) have more old instance types than new types available. If the instance type you selected is not available in the current zone of the …

Failed to complete #create action: [You are not authorized to perform this operation

When launching an instance in AWS with Chef Test Kitchen you get the error message >>>>>> Failed to complete #create action: [You are not authorized to perform this operation. Encoded authorization failure message:… Make sure the image does not require the acceptance of the license before you first use it. This applies to Ubuntu, CentOS

RuntimeError: Volume vol-… attached at xvdf but does not conform to this resource’s specifications

When the Chef aws cookbook’s ebs_volume.rb resource tries to bring a volume online, partition, and format it we get the error message: RuntimeError: Volume vol-… attached at xvdf but does not conform to this resource’s specificationsC:/chef/cache/cookbooks/aws/resources/ebs_volume.rb:46:in `block in class_from_file’ Make sure the “size” attribute value in the aws_ebs_volume resource call matches the actual size of …

Configure AWS Route 53 to host a web site in AWS

To be able to fully control the routing of a DNS name use Route 53 Create a new Hosted Zone In the Route 53 console click the Create Hosted Zone button Create a new public Hosted Zone Return to the domain registrars website and set the name servers to use the AWS Route 53 hosted …

Blue-green deployment in AWS ECS Fargate with CodeDeploy

We will use CodeDeploy to automate the application deployment in our AWS ECS Fargate cluster. Create an AIM role for CodeDeploy to assume the ECS service role In the AWS console navigate IAM and click the Roles link Click the Create role button Click the CodeDeploy link Select CodeDeploy ECS Keep the default setting Enter …

Host the server container in an AWS ECS Fargate cluster

We have already created a Docker image for the server using Nginx. We will create an AWS ECS Fargate cluster in AWS and host the container there. Create an ECR repository for the image Select the Elastic Container Registry Create a new repository Enter a name, enable Tag immutability and Scan on push Select the repository you just …