Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Ansible で Route53 を操作する

More than 1 year has passed since last update.

Ansible で Route53 を操作する

Route53 は便利なんだけど、誰がいつ操作したかが見えないので、Rundeck で Ansible Playbook を実行し、Route53 を操作してみる。

Playbook は、Rundeck の Ansible Playbook Inline を使って管理する。

Playbook を書く

レコード追加

${option.hogehoge} は、Rundeck の Job に設定する Option 設定。
Proxy 環境じゃなければ、environment は不要。

---
#
# Route53 レコード追加
#
- hosts: localhost
  gather_facts: no
  connection: local
  tasks:
    - name: Route53 Add Record
      route53:
        state: present
        zone: ${option.zone_name}
        record: ${option.record_name}
        type: ${option.dns_type}
        ttl: ${option.ttl_sec}
        value: ${option.set_value}
        wait: yes
      register: this_result
      environment:
        HTTPS_PROXY: https://px.hoge.com:8080/
        HTTP_PROXY: http://px.hoge.com:8080/
    - debug: var=this_result

レコード削除

レコード追加と同じ。stateabsent になっているだけ。

---
#
# Route53 レコード削除
#
- hosts: localhost
  gather_facts: no
  connection: local
  tasks:
    - name: Route53 Delete Record
      route53:
        state: absent
        zone: ${option.zone_name}
        record: ${option.record_name}
        type: ${option.dns_type}
        ttl: ${option.ttl_sec}
        value: ${option.set_value}
      register: this_result
      environment:
        HTTPS_PROXY: https://px.hoge.com:8080/
        HTTP_PROXY: http://px.hoge.com:8080/
    - debug: var=this_result

レコード詳細

取得の際は、ttlvalue を入れなくても実行可能。

---
#
# Route53 レコード情報取得
#
- hosts: localhost
  gather_facts: no
  connection: local
  tasks:
    - name: Route53 Get Record
      route53:
        state: get
        zone: ${option.zone_name}
        record: ${option.record_name}
        type: ${option.dns_type}
      register: this_record
      environment:
        HTTPS_PROXY: https://px.hoge.com:8080/
        HTTP_PROXY: http://px.hoge.com:8080/
    - debug: var=this_record

Rundeck の設定

誰が操作したかが分かるように、Job の成功/失敗の通知は行うようにしよう。他はお好みで。

仲間募集中

弊社ではエンジニアを募集中です。インフラからアプリ、ユーザサポートまで幅広く業務を行ってます。
https://www.nittsu-infosys.com/recruit/2019/index.html

nis_nagaid_1984
そう。おれですよ。 アーキテクチャを考えるのが好きなんだと最近気づきました。 なお、掲載内容は個人の見解であり、所属する企業を代表するものではありません。
https://www.nittsu-infosys.com/
nittsu-infosys
 日通情報システム株式会社は、グローバルロジスティクスを支える日本通運とそのグループ企業の、情報サービスの中核を担うべく、2004年に設立されました。システムインテグレーションやコンサルティング、運用アウトソーシングなどを中心に、IT全般にわたる事業を幅広く展開しています。
https://www.nittsu-infosys.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away