Skip to main content

Posts

Showing posts with the label AWS

AWS Route 53 Guide: When to Use Alias vs. CNAME Records

  You have deployed a scalable architecture using an Application Load Balancer (ALB) or a CloudFront distribution. The infrastructure is solid. Now, you simply need to point your root domain (e.g.,   example.com ) to the AWS resource. You attempt to create a standard CNAME record in Route 53, but the operation fails. Alternatively, if you are using a third-party DNS provider, the record simply refuses to save. This is not a bug in AWS. It is a fundamental constraint of the DNS protocol itself. This guide details why the "Zone Apex" problem exists, how Route 53 Alias records bypass this limitation, and provides the production-ready Terraform code required to implement the solution correctly. The Architectural Constraint: RFC 1034 To understand the solution, you must understand the strict rules governing the Domain Name System (DNS). The issue stems from the original DNS specification, specifically  RFC 1034 section 3.6.2 . The Zone Apex Conflict The root of a domain, such ...

AWS SSM Error: Fixing 'TargetNotConnected' in Session Manager

  There is perhaps no frustration in the AWS ecosystem quite like the "TargetNotConnected" error in Systems Manager (SSM). You have an EC2 instance. The status checks are green (2/2 passed). Security groups are locked down, as they should be. Yet, when you attempt to start a session, the console rejects you: "An error occurred (TargetNotConnected) when calling the StartSession operation: The target ... is not connected to SSM." This error is misleading. It implies the instance is offline, but usually, the OS is running perfectly. The issue lies in the communication channel between the SSM Agent and the AWS control plane. This guide provides a rigorous root cause analysis and a step-by-step technical fix for this specific error, moving beyond generic advice to infrastructure-level debugging. The Root Cause: It’s a Pull, Not a Push To fix this, you must understand how Session Manager works. Unlike SSH, where you open a port (22) and "push" a connection to th...