DevOpsを支える今話題のHashiCorpツール群についてに登壇してきました

こんにちは。シスオペチームの西村です。

先日9/11にHashiCorp Japan様主催のイベントで登壇させていただきました。

https://hashicorp.connpass.com/event/98386/

自身としてもVagrantを使い始めてから数えて4年以上お世話になっている、

HashiCorp様のイベントで発表させていただき、とても光栄に思います。

これからも1ユーザーとして使い続けていければと思います。

発表についての若干の補足と当日の様子について書かせていただきます。

発表についての補足

資料

applibotのDevOpsを支える terraform/packer

Case 01. Image作成

Packerの利用方法については以前てっくぼっとに書かせていいただいたのがほぼ全てです。

https://blog.applibot.co.jp/2018/05/11/how-to-build-aws-ami-in-applibot/

GCP Image,Docker Imageについてはまだ書けていないですが、どちらも実際に使用しております。

記事中で次回は〜と書いたままとなっているので、近いうちに改めて書かせていただきます。

Case 02. 負荷試験環境構築

terraformを社内で使い始めた1例目です。

弊社では負荷試験を行う機会は結構多く、ゲーム内での大きいイベントの前には各チームで行なっています。

ここでの環境構築でterraformはまさにうってつけでした。

構築の順番やネットワークの疎通設定も全てコード管理ができるため、可視化ができ、実行方法もシンプルなので、chatopsな入出力がピッタリはまりました。

Case 03. 新規環境構築

現在のアプリボットでのterraformの使用方法になります。

今の所下記構成に落ち着いています。

フォルダ構成、ファイルの分け方

$ tree
.
├── 00_base
│   ├── CloudTrail.tf
│   ├── Route53.tf
│   ├── S3.tf
│   ├── IAM.tf
│   ├── output.tf
│   ├── provider.tf
│   ├── remote_state.tf
│   ├── s3_tfstate.tf
│   ├── terraform.tfvars
│   ├── tfstate_localbk.sh
│   └── var.tf
├── 01_common
│   ├── Network.tf
│   ├── output.tf
│   ├── provider.tf
│   ├── remote_state.tf
│   ├── s3_tfstate.tf
│   ├── terraform.tfvars
│   ├── tfstate_localbk.sh
│   └── var.tf
├── 02_dev
│   ├── Network.tf
│   ├── output.tf
│   ├── provider.tf
│   ├── remote_state.tf
│   ├── s3_tfstate.tf
│   ├── terraform.tfvars
│   ├── tfstate_localbk.sh
│   └── var.tf
├── 99_modules
│   └── Network
│       └── 01-VPC.tf
└── README.md
  • 環境毎にフォルダ(tfstate)分け
    • 00_base : 環境依存のないサービス
      • CroudTrail,Route53,IAM等
    • 01_common : 環境共通で使用するリソース
      • dev/stg/prdなどからVPC PeeringするNetwork
      • 環境毎のNetworkを跨ぐ必要がある場合はこのNetworkを使う
    • 02_dev ~ 0x_環境名
      • 環境毎
  • tfファイルはサービス毎に1ファイル
  • tfstateはS3に置く

発表でもお話したのですが、workspaceによる環境の分けを試していたところを、(一旦)断念してしまいました。

dev環境は最小のサーバ、stg環境は最小の構成、というように分けている場合、

構築するサーバの種類も台数も環境毎に同じというわけにはいかず、

同じサービスの構築であっても、開発環境(dev/stg)は制限をかけないといけない等、

各環境で設定項目が同じになる、というのはなかなか難しかったからです。

この辺りの構成については各社思うところがあるようで、基本的には似た形になっているのかと思いました。

当日の様子

生ハムを直接切り出すという今までに見たことない勉強会でしたw

HashiCorpケーキもあり視覚的にも楽しめました。

発表の際は緊張していましたが、自己紹介で二児の父であること告げた時に拍手をいただいたおかげでだいぶほぐれました。

HashiCorpユーザーに悪い人はいないですね。

懇親会では実際に使用している上での悩みや、経験をそれぞれ持っていることをお話しでき、大変勉強になりました。

実際に他社で使用している方とお話しできる機会ができるのも、こういったイベントならではなので、定期的に参加だけでもさせていただきたいと思いました。

まとめ

今回お話をいただいて、他の発表者を見た時に場違いなのではないか(知名度的に・・・)、

と考えてしまいましたが、少ない運用人数で活用できている事例として需要はあるかと思い参加させていただきました。

資料公開後も多数の反応をいただき、改めてHashiCorp様の力を感じています。

これをきっかけに会社としても知ってもらえると嬉しいです。

引き続き当ブログからも使用事例を発信できればと思います。

素晴らしい会を開催していただいたHashiCorp Japan様、DeNA様ありがとうございました!

Applibotでのサーバイメージ作成 – Packer+Ansible -(AWS AMI編)

こんにちは。

インフラチームです。

弊社ではAWS/GCPを使用しており、それぞれのサーバ構築/環境設定はAnsibleで行なっています。

環境の設定の更新を行う場合、AWSであればAMI、GCPであればマシンイメージを更新しておく必要があります。

続きを読む “Applibotでのサーバイメージ作成 – Packer+Ansible -(AWS AMI編)”

ApplibotのBlue-Green Deployment(AWS編)

こんにちは。インフラエンジニアの西村です。

弊社の運用タイトルでは主にAmazon Web Service(以下AWS)を使用していますが、

Google Cloud Platform(以下GCP)も今後利用すべく検証を重ねています。

今回は各VM(AWS:EC2,GCP:GCE)を使用した、Blue-Green Deploymentの実装について、2回に分けて書かせていただきます。

続きを読む “ApplibotのBlue-Green Deployment(AWS編)”