使用 ddns-route53 部署 DDNS 服务

使用 AWS Route 53 托管域名

  1. Route 53 创建一个新的公有托管区,或者使用下面的命令:

    aws route53 create-hosted-zone \
        --name mydomain.com \
        --caller-reference $(date +%s) \
        --hosted-zone-config Comment="Public zone for mydomain.com",PrivateZone=false
    
  2. 查询托管区 ID:

    aws route53 list-hosted-zones --query "HostedZones[*].[Name,Id]"
    

    记下托管区 ID(/hostedzone/ 后面的部分,如 Z058790923ZME63HI1WWI),接下来会用到。

使用 ddns-route53 部署 DDNS 服务

  1. 编辑配置文件:

    vim compose.yaml
    
    services:
      ddns-route53:
        image: crazymax/ddns-route53:latest
        container_name: ddns-route53
        environment:
          - "TZ=Asia/Shanghai"
          - "SCHEDULE=*/30 * * * *"
          - "LOG_LEVEL=info"
          - "LOG_JSON=false"
          - "DDNSR53_CREDENTIALS_ACCESSKEYID=ABCDEFGHIJKLMNO123456"
          - "DDNSR53_CREDENTIALS_SECRETACCESSKEY=abcdefgh123456IJKLMN+OPQRS7890+ABCDEFGH"
          - "DDNSR53_ROUTE53_HOSTEDZONEID=ABCEEFG123456789"
          - "DDNSR53_ROUTE53_RECORDSSET_0_NAME=ddns.mydomain.com."
          - "DDNSR53_ROUTE53_RECORDSSET_0_TYPE=A"
          - "DDNSR53_ROUTE53_RECORDSSET_0_TTL=300"
        restart: always
    
    • DDNSR53_CREDENTIALS_ACCESSKEYID:你的 AWS 账户的 Access Key ID
    • DDNSR53_CREDENTIALS_SECRETACCESSKEY:你的 AWS 账户的 Secret Access Key
    • DDNSR53_ROUTE53_HOSTEDZONEID:之前记下的托管区 ID
    • DDNSR53_ROUTE53_RECORDSSET_0_NAME:要用于 DDNS 的域名
  2. 启动 ddns-route53

    docker compose up -d
    docker compose logs -f
    
  3. 检查托管区 DNS 记录:

    aws route53 list-resource-record-sets
        --hosted-zone-id ABCEEFG123456789
        --query "ResourceRecordSets[?Name == 'ddns.mydomain.com.']"
    

    你应该能看到本机 IP 已经被添加到了 ddns.mydomain.com. 的 A 记录下。

参考:With Docker | ddns-route53

posted @ 2025-07-05 22:07  Undefined443  阅读(23)  评论(0)    收藏  举报