ossフル活用でinfrastructure as codeやってみた

Post on 13-Apr-2017

282 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OSS フル活用でInfrastructure as Code

やってみた

自己紹介• 新居田 晃史(にいだ あきふみ)

• 所属– JB アドバンスト・テクノロジー株式会社– 先進技術研究所

• 日本最速 IT エンジニア(自称)

– フルマラソン 2:29:56

• 好きな AWS サービス

• re:Invent2016 参加

Twitter @nid777Facebook Akifumi Niida

AmazonRoute 53

インフラ構築の現状

The 手作業

環境再現への道のりは遠い

やってみたい!

社内で新しく作るサービスに携わることに

目的

1.変更履歴をコードに残す

2.運用の負荷を減らす

3.緊急時に全てを再構築できる

やってみた

AWSインフラ

OS

MW

APPL

CONFIG

AMI

Packer と Ansible は相性が良い

"provisioners": [{ "type": "ansible", "playbook_file": "../ansible/container.yml", "ansible_env_vars": ["ANSIBLE_HOST_KEY_CHECKING=False", "ANSIBLE_SCP_IF_SSH=True"] }]

AMI の運用

• マイクロサービス毎に AMI を作成• サービス名 _ 日付時刻で名前付け• AMI 作成時に古いものを削除• AMI 何回も作るの大変??– packer がやってくれるので便利

• Terraform で launch config を変更

1. 本番環境を自動作成2. 本番環境をコピーして、

なんか色々やってテスト環境を自動作成

3. テスト実施4. テスト環境を自動削除

自動化あるある

> terraform destroy

本番環境の設定が残ったまま

全消しをふまえて

現在の構成(ざっくり)

/terraform本番

ステージング

テスト

.tfstate

.tfstate

.tfstate

結果

→ok→ok→ok

1.変更履歴をコードに残す

2.運用の負荷を減らす

3.緊急時に全てを再構築できる

インフラをコード化して楽をしよう

top related