web-dev-qa-db-ja.com

自宅のRaspberryPiサーバーからRoute53を自動的に更新するにはどうすればよいですか?

Rasbian Jessie8.0を実行している自宅のRaspberryPiがApacheを実行しています。 Dig TXT +short o-o.myaddr.l.google.com @ns1.google.comを使用すると、次の画像で赤で囲まれたAWSのルート53のホストゾーンのレコードセットの値を更新するために使用されるIPv4が生成されます。 Route 53 Record Sets ドメイン名のテストは成功しました。

私が今やりたいのは、私の家の動的IPアドレスがRaspberry Pi内から変更されるたびに、私からの支援なしにAWSRoute53を更新することです。

さらに情報が必要な場合はお知らせください。

5
Manics lie ohm

AWSツールを使い続けたい場合は、次の手順に従ってください。

  1. AWSIAMユーザーを作成します。例: dns-updaterそしてこのAWSマネージドポリシーを割り当てます:AmazonRoute53FullAccess。ユーザーのsecretおよびaccessキーを生成します。

  2. インストールAWS-CLI(例:_pip install awscli_)

  3. AWS-CLIを設定し、上記のシークレットキーとアクセスキーを入力します:_aws configure_

RPiのcronジョブから、次のスクリプトを実行します。

  1. 外部パブリックIPを取得します。例: RPI_EXT_IP=$(curl http://ifconfig.co)

  2. 更新JSONファイルを作成します。

    _cat > /tmp/r53-update.json << __EOF__
      {
        "Changes": [
          {
            "Action": "UPSERT",
            "ResourceRecordSet": {
              "Name": "rpi.your-route53-domain.com",
              "Type": "A",
              "TTL": 600,
              "ResourceRecords": [
                {
                  "Value": "${RPI_EXT_IP}"
                }
              ]
            }
          }
        ]
      }
    __EOF__
    _
  3. AWS-CLIを呼び出して、上記のJSONファイルを使用してRoute53レコードを更新し、ホストゾーンIDRoute53ゾーンの実際のIDを使用:

    _~ $ aws route53 change-resource-record-sets \
            --hosted-zone-id ZXCVBNMEXAMPLE \
            --change-batch file:///tmp/r53-update.json
    _

ご不明な点がございましたら、お気軽にお問い合わせください。

それが助けになったなら答えを受け入れることを忘れないでください:)

5
MLu