How to set up your custom Bluesky handle using Terraform/OpenTofu with AWS Route53.
In this post I'll show some example Terraform code to create DNS records in AWS Route53 to use is built on the (eg. your_handle.bsky.social) is a human-friendly identifier that links to a canonical, permanent if you do not already have a hosted zone for your domain.
resource "aws_route53_zone" "domain" {
name = "YOUR_DOMAIN"
}
(replace YOUR_DOMAIN with your top-level domain (TLD))
Next, find the DNS record value for your DID as described in resource.
resource "aws_route53_record" "TXT_atproto" {
zone_id = aws_route53_zone.tld.zone_id
name = "_atproto.YOUR_DOMAIN"
type = "TXT"
ttl = 300
records = [
"did=did:plc:YOUR_DID"
]
}
(replace YOUR_DOMAIN with your handle host name, and YOUR_DID with your DID)
The name attribute of this this Terraform/OpenTofu you can verify the DNS record using dig. For example, my personal DNS record.
> dig TXT _atproto.YOUR_DOMAIN +short
"did=did:plc:YOUR_DID"
Finally, update your handle in your Bluesky account settings as described in .
SOCIAL SHARE CARD GENERATOR