PikaPods with AWS and Ghost

Setting up a Ghost blog hosted on Pikapods while using an AWS-registered domain involves several key steps. This guide walks you through the entire process, from domain configuration to testing your setup. By the end, you’ll see just how simple it is to set up your own Ghost blog and make it accessible through your custom domain, ready to share your content with the world.

Step 1: Ensure You Have the Prerequisites

To get started, you'll need a few things: an AWS-registered domain, access to Route 53, a Pikapods account, and a basic understanding of DNS records like A, CNAME, and Alias.

Step 2: Create a Hosted Zone in AWS Route 53

  1. Navigate to the Route 53 service in your AWS Management Console. This step is essential because creating a hosted zone is the starting point for managing DNS records for your domain. Without it, you won’t be able to configure the necessary records to connect your domain to Pikapods.

  2. Under Hosted Zones, click Create Hosted Zone.

  3. Enter your domain name (e.g., yourdomain.com) and select Public Hosted Zone.

  4. Note the Name Server (NS) records generated. These need to replace the name servers for your domain in AWS or your domain registrar.

Step 3: Update Domain’s Name Servers

  1. Go to the Route 53 Registered Domains section or your external domain registrar.

  2. Update the name servers to the ones provided by the hosted zone you created. This step ensures that Route 53 becomes the authoritative DNS for your domain, allowing you to manage all DNS records from AWS.

  3. Save the changes and allow time for DNS propagation (this can take a few minutes to several hours).

Step 4: Configure DNS Records for Pikapods

For www.yourdomain.com:

  1. Go to your Route 53 Hosted Zone.

  2. Create a CNAME Record:

    • Record Name: www

    • Value: The domain provided by Pikapods (e.g., your-unique-blog.pikapod.net).

    • TTL: 300 seconds (default).

  3. Save the record.

For yourdomain.com (Root Domain):

Root domains can't use a CNAME because they must resolve directly to an IP address, which CNAME records can't provide. An Alias record works as a suitable workaround by allowing the root domain to behave like it has a CNAME while resolving to an AWS resource such as CloudFront. Instead, use an Alias Record:

  1. Create an Alias Record:

    • Record Name: Leave blank or @ (indicates the root domain).

    • Record Type: A – Routes traffic to an IPv4 address and some AWS resources.

    • Alias: Enable.

    • Route Traffic To: Select Alias to CloudFront distribution.

    • Choose your CloudFront distribution (see Step 5).

  2. Save the record.

Step 5: Set Up a CloudFront Distribution

To route traffic for your root domain, create a CloudFront distribution:

  1. Open the CloudFront service in AWS.

  2. Click Create Distribution and configure:

    • Origin Domain Name: The Pikapods domain (e.g., your-unique-blog.pikapod.net).

    • Default Cache Behavior:

      • Viewer Protocol Policy: Redirect HTTP to HTTPS.

      • Allowed HTTP Methods: GET, HEAD (or include others as needed).

    • Alternate Domain Names (CNAMEs): Add your domain (e.g., yourdomain.com and www.yourdomain.com).

    • SSL/TLS Certificate: Use AWS Certificate Manager (ACM) to request a certificate for your domain.

  3. Save and deploy the distribution. This may take several minutes as CloudFront processes the settings, provisions resources, and validates the SSL certificate (if configured). During this time, DNS propagation ensures that your domain points to the distribution.

Step 6: Verify Your Setup in Pikapods

  1. In your Pikapods admin dashboard, navigate to the Domain section.

  2. Enter your custom domain (e.g., yourdomain.com).

  3. Pikapods will verify your DNS configuration. Ensure both the CNAME for www and the Alias for the root domain are working. If the verification fails, check whether your DNS records have fully propagated using tools like whatsmydns.net. You should also confirm that the CNAME and Alias records are correctly set up in Route 53.

  4. Save your changes.

Step 7: Test Your Domain

  1. Use tools like whatsmydns.net to check DNS propagation for:

    • NS and SOA records (confirm Route 53 is authoritative).

    • CNAME records for www.yourdomain.com.

    • Alias/A records for yourdomain.com.

  2. Open a browser and visit:

    • http://yourdomain.com – It should redirect to https://yourdomain.com.

    • http://www.yourdomain.com – It should load directly over HTTPS.

Troubleshooting Tips

  • If DNS changes are not working, double-check your Route 53 records and ensure the name servers match those in the domain registrar.

  • For SSL errors, ensure your CloudFront distribution includes a valid certificate for your domain.

  • If Pikapods cannot verify the root domain, confirm the Alias record points to the CloudFront distribution.

With these steps, you’ve successfully connected your AWS-registered domain to a Ghost blog hosted on Pikapods. The setup ensures seamless redirection between www and the root domain, secure HTTPS access, and reliable DNS routing. Now you can start sharing your ideas with the world. Happy blogging!

Feel free to share this guide with others looking to set up their Ghost blogs with AWS and Pikapods!

Next
Next

The Nonprofit Copywriter Guide to Creating Impactful Messaging