前提
当該サーバーでAWS CLIを使えるようにしておくこと。また、必要なIAMポリシーは以下。
エラー通知しなくていいならSNSのポリシーは不要。
本題
以下はマシンのグローバルIPを確認して、前回チェック時から変化していればRoute 53のAレコードを更新するbashスクリプト。
エラー処理は正直よくわかってないので、もっと良い方法があれば教えてほしい。ここではSNSトピックにエラー内容を投げてる。
上記のファイルを作成したら、実行権限を付与しておく。
これをcronで毎日5時に実行するように設定。必要ならもっと頻繁に実行してもよいと思うが、グローバルIPの確認は外部のURLに頼ってるので、あんまり叩いていいものか迷う。
なお、ここでは作業用ユーザーのcrontabに追加しているので、実行ユーザーはrootではなく作業用ユーザーとなる。