インフラ

「DevOpsを支える今話題のHashiCorpツール群について」参加メモ

hashicorp

参加してきのでメモを共有します。

Contents

概要

https://hashicorp.connpass.com/event/98386/   
以下引用。

複世界中の様々な企業様にご利用いただいている HashiCorpツールの解説とともに、各社ユーザーさまに有効な活用法や、他社製品の組合せ利用の面白いユースケースなどをお話いただきます。

内容 講師
HashiCorpについてご紹介とツール解説 HashiCorp Japan 森 英悟さん
DeNA AIインフラでのTerraform活用について(仮) 株式会社ディー・エヌ・エー 松木 秀憲さん
コンテナ基盤を支えるHashiCorpソフトウェア GMOペパボ株式会社 小田 知央さん
ApplibotのDevOpsを支えるTerraform/Packer(仮) 株式会社アプリボット 西村 遊さん
tfnotify 株式会社メルカリ b4b4r07さん
dwangoでのHashiCorp OSS活用について(仮) 株式会社ドワンゴ 鈴木 栄伍さん

HashiCoprpについてご紹介とツール解説

Vagrant

VMのラッパーツール。HashiCorpツールで一番有名かも

Packer

マシンイメージを簡単に作成できるツール(クラウド、VM、コンテナ)

Terraform

オーケストレーションツール
マルチクラウドで利用可能

Vault

アイデンティティベースのセキュリティツール

Nomad

K8sのリソースマネージャー
Dockerだけでなく、VMやシェル・バッチなどへ実行も高速で可能。

Consul

インフラ上のサービス設定とサービスディスカバリのためのツール

DeNA AIインフラでのTerraform活用について(仮)

スライド

AIインフラの課題

  • AWS、GCP環境をすばやく用意しなければならない
    • マルチクラウド対応のTeraformでプロビジョニング
    • OS以下は、Teraform。OS設定はItamaeで構成管理している。

Packerによる解決(案)

  • AIインフラではdockerを使用している。
  • PackerでGCP,AWSで使えるdockerイメージを作成する。

コンテナ基盤を支えるHashiCorpソフトウェア

スライド

独自のコンテナ基盤

  • k8s,dockerは使用していない
  • 独自開発のツールを使用している
    • Oohori オーケストレーター
    • FastContainer アーキテクチャ
    • Haconiwa コンテナランタイム

ロリポップマネージドクラウド

  • GMOペパボでは、コンテナベースのpaasを提供している
  • コンテナ管理をGMOペポパがやってくれる

https://mc.lolipop.jp/

Terraform

  • 可能な限りmoduleを再利用できるように,細かくmoduleを区切っている

Consul

  • メイン用途はサービスディスカバリ(監視)で使用している
  • 名前解決にConsul DNSとUnboudを使用

Vault

  • PKIとTransitシークレットを利用
  • 発行した秘密情報はChefで配布

まとめ

  • ドキュメント熟読すべし
  • 各HashiCorpソフトウェアを併用すると便利

ApplibotのDevOpsを支えるTerraform/Packer(仮)

スライド

Imageの作成

  • ランデック、Ansible、Packerを使用
  • packerでコマンド一発でイメージ作成

負荷試験

  • 最終的に本番と同様の環境を用意する
  • before: スクリプトでゴリゴリ書いていた→秘伝のタレ化
  • after: Terraformで作成
    • 既にあるリソースはTerraform import
    • 拡張、縮小をvarsファイルで切り替え可能
  • slack hubot Terraformを連携することで、アプリチームに権限委譲が可能に

新規サービスの環境構築

  • アカウントの初期設定(rootの封印,cloudtrail等)をTerraformで自動化

tfnotify

スライド

tfonitifyとは

  • go製のcliツール
  • Terraformの実行結果をパースして、任意の通知先に通知

必要になった理由

  • マイクロサービス化のため、インフラのコードも各マイクロサービスチームでレビューマージしたい。しかし、プラットフォームチームでもレビューされたいケースもある

dwangoでのHashiCorp OSS活用について(仮)

dwangoのインフラ

  • vm,aws,ベアメタル

Terraformでのci

- 構成要素
– github:e,Jekins,Terraform,tfenv
– prが出る→pr_test環境→サンドボックス環境→merge

Terraformでのcd

  • ciが通ったらdevにデプロイしたい。しかし、手動で行いたくない
  • jekinsとTerraformで自動化

感想

Terraform,Packerを導入している企業が多い印象。

資料にTerraformのディレクトリ構成を公開していて、悩みがちな部分なので参考になった。

関連記事

[Terraform]Cloud9ではじめるTerraform入門 AWS上にVPCを作ってみるこんにちは、ちゃりお(@chari7311)です! Terraformはじめました。 Terraform実行環境の構築から、AWS上...
terraform module
[Terraform]moduleを使ってVPCを作成してみる moduleを使用するメリット今回は、VPCをmoduleを使ってtfファイルを分割してみます。 「Cloud9ではじめるTerraform入門 AWS上にVPCを...