- 本多 一行
- twitter: @hakobera
- DevOps エンジニア@Quipper,Ltd
- ◯ Vagrant
- △ Packer
- × Serf
- × Consul
- ◯ Terraform
- ◯ Atlas
- × Vault
- Ansible Playbook のローカル検証用
- 少し前では単体テストでも使ってたけど、先週 Docker に移行した
- 検証中
- コスト削減のため AWS のスポットインスタンスを使いたいので、Ansible でプロビジョニング済みAMIを作成するために使いたい
- CloudInit (userdata) で頑張れば、使わなくてもいいのではないか?と悩み中
- 使ってません
- 何が便利なのか、今日勉強できれば・・・
- インスタンスの洗い替えのタイミングで導入
- CircleCI から自動で適用している
- tfstate ファイルは Atlas で管理(CircleCI から push)
- 現状、tfstate ファイルの管理にのみ使っている
- Github 連携も試してみたけど、CircleCI から適用した方が便利なので使ってない
- 適用が手作業になるので、面倒くさい
- 最近、実は tfstate を S3 で管理するようにすれば、使わなくても良いのではないかという思いを抱きつつある。
- Route53: Roadworker (Private DNS zone は除く)
- IAM: MIAM
こまめに変更するものは codenize tool にしている。 AWS management console でちょこっと変えても、export できるので便利。
- CircleCI で timeout 時間を伸ばすの忘れて、apply が timeout
- RDS を新規に作る時は気をつけよう
- tfstate がズレて、再度 apply するのが大変 (tfstate の手修正 orz)
- IAM role 付け替えて apply したら、インスタンス破棄
- AWS の制限とかちゃんと把握しておきましょう
- リポジトリ/ファイルの分割の単位
- Private DNS問題
- 現状、Auto Scaling Group がないので Private IP は固定して運用しているが、動的になった場合、DNS の管理が Terraform でできなくなる
- そこで Consul?
- 一部移行できていないものがあるので Terraforming 使ってみようと思っている
- Hashicorp ツール便利
- Terraform はすごい勢いて変更が入るので、watch しておいた方が良さげ。他人の issue を眺めていると、同じ失敗をしないで済む。
- いつかコミットしてみたい(主に Terraform)