@Konboi memo

主に技術に関してつらつらと。

Route53でダイナミックDNSをする 実装編

はじめに

過去3回に渡って色々準備してきました。 最後これらを使って実際にグローバルIPが変わった時にDNSを変更するクライアント? を作ってみたのでそれのメモです

実装

今回は go, aws-sdk-go, route53 の API を使用して実現しました

実際のコードはこんな感じです

https://gist.github.com/Konboi/afa7a8607ef1742f5ddb

流れとしては

  1. 現在のグローバルIPを調べる
  2. Route53のAPIを使って対象のドメインに設定されているIPを調べる
  3. グローバルIPと登録されているIPが異なっていたら更新する

以上になりまっす。

これを buildし対象のサーバーでcronを回して実行している感じです。

問題なく動いているので非常に満足です。

まとめ

  • route53のAPISDKを使ったらスムーズにDDNSが実現できた
  • aws-sdk-go のお作法が大分難しかったのでruby sdk のサンプルを見ながらこんな感じかなで実装しました。