【デブサミ2014】13-B-2 レポート 「グリーにおけるChef導入事例~既存の資産を活かし新しい技術を導入する~」

CodeZine / 2014年3月7日 14時0分

 私事になりますが筆者は現在、仕事でAWSインフラ環境構築も行っており、その際にChefを利用しています。社内の多くのメンバーがChef使いとなっている今日この頃ですが、当エントリで紹介するこのセッションは『対既存インフラ環境』『スムーズな移行』『大規模環境におけるレガシー脱却』という非常に興味深いテーマについて語られるという事で選択・聴講させていただきました。2013年4月に新卒入社(社会人1年目!)、グリー株式会社 荒井氏による講演内容のレポートです。

グリー株式会社 荒井 良太氏


■Chef導入の背景

 荒井氏はChefの概要説明の後、導入における『よくある風景』について説明しました。「たいてい、サーバが欲しい際には運用担当者に『サーバをx台ください』と申請、そして担当者が『秘伝のタレ』の如く手順書を元にコマンドを実行、提供するという流れ。これは荒井の周りだけでなく、世間一般的にも『よくある風景』でしょう。このフローは非効率であり、自動化したいところです」と荒井氏は説きます。Chefによって自動化することで処理の効率化を図り、自動で処理を行うことで手動実行の際の人為的ミスもなくなり安定運用が見込めます。デリバリーのスピードも格段に上がることもあり、Chef導入を決断するに至りました。

■導入以前の状況

 荒井氏の直面する環境下では、すでにあるインフラにChefを導入する必要性がありました。Debianを利用しており、パッケージで変更管理も行っている状態。設定ファイルのボリュームも結構なサイズになっており、初見ですべてを把握するのは難しい状況となっていました。Chefを導入するうえでサーバ管理システムをそのまま使いたいという要望があったのですが、それが導入の障壁にもなっていたのです。運用スクリプトが既存サーバ管理システムに依存しており、また運用手順もサーバ管理システムに依存している状況だったため、サーバ管理システムを使えるようにしておかないと運用スクリプトも使えなくなる状況になってしまいます。

 そこで荒井氏は導入時の方針を考えました。『新規のサーバをChefで構築していく』『既存サーバ管理システムを利用する』『既存のツールやスクリプトが動く状態で移行する』。これらの要点を踏まえ、導入を行ったそうです。

■導入

 導入に際しては、選択肢としてChef SoloとChef Serverの両方がありましたが、Chef Soloの場合は管理上煩雑になってしまう面があったためChef Serverを選択。しかしChef Serverに関しても、構築後にSPOF(単一障害点)となってしまうなどの問題が発生したために、結局はChef Soloを使うことになったそうです。ただやはりChef Soloを採用するにしても"数の問題"は立ちはだかる壁となったままです。そこでchef soloとサーバ管理システムを連携させつつ、管理情報を集約できるものとして『Chef Bridge』というものを新たに構成し、使用することにしました。Bridgeに対応してノード側に導入するものとした”GREE Chef Client”も併せた構成図は以下です。







CodeZine

トピックスRSS

ランキング