Gitを使ったRoute53の管理

11,435 views

Published on

Published in: Technology

Gitを使ったRoute53の管理

  1. 1. Gitを使ったRoute53の管理 クックパッド株式会社 菅原 元気
  2. 2. 注意 「るーとふぃふてぃすりー」が多 数はかもですが、発表者は 「るーとごじゅうさん」と読みま す。 気にしないように
  3. 3. 自己紹介 菅原 元気 @sgwr_dts / id:winebarrel 白金台の方から来ました。 ● クックパッド(株) インフラ部所属 ● Ruby・AWSのツールを作ってます ○ Bitbucket - bitbucket.org/winebarrel ○ GitHub - github.com/winebarrel
  4. 4. みんな大好きRoute53 ● 安い ● 簡単 ● 頑丈 (APIが死んだことはあったけど…)
  5. 5. Route53であった怖い話 ある日突然メールが届かなくなった ↓ 調べたらMXレコードがなくなってた ↓ オペミスでMXレコード消したっぽい…
  6. 6. Route53で困ってたこと API操作→即反映 ● 事前に検証できない ● 変更履歴が残らない R53 FoxにImport/Export機能をつけた ● dry runができない ● テストが手動(GUIなので) →ExportしたJSONをgitに保存する運用…
  7. 7. Roadworker bitbucket.org/winebarrel/roadworker ● 内部DSLでChefっぽ くRoute53を管理 ● 冪等性を保証 ● 設定をGitで管理でき る
  8. 8. 設定ファイル hosted_zone "winebarrel.jp." do rrset "winebarrel.jp.", "A" do ttl 300 resource_records( "127.0.0.1", "127.0.0.2" ) end rrset "winebarrel.jp.", "MX" do ttl 300 resource_records( "10 mx.winebarrel.jp" ) end end hosted_zone "info.winebarrel.jp." do rrset "for.your.info.winebarrel.jp.", "A" do dns_name "elb-dns-name.elb.amazonaws.com" end rrset "my.info.winebarrel.jp", "A" do set_identifier "Primary" failover "PRIMARY" health_check "http://192.0.43.10:80/path", :host => "example.com" ttl 456 resource_records( "127.0.0.1", "127.0.0.2" ) end end
  9. 9. DEMO www.youtube.com/watch?v=3nImLkmETDo
  10. 10. その他 GitHub/Bitbucket+Travis CI/drone.ioで DNSを管理できる
  11. 11. Bitbucket bitbucket.org/winebarrel/roadworker-example
  12. 12. drone.io drone.io/bitbucket.org/winebarrel/roadworker-example
  13. 13. Please try it out!

×