このページの本文へ

前へ 1 2 次へ

満漢全席を食らえ!JAWS DAYS 2019レポート 第9回

Fintech企業として高いレベルのセキュリティと運用をAWS上で実現

Kubernetesに移行中のfreee、セキュリティとモニタリングを語る

2019年04月16日 10時00分更新

文● 高橋睦美

  • この記事をはてなブックマークに追加
  • 本文印刷

意外と手軽? 「Elastic Stack」を活用し、Kubenetesクラスタの監視を実現

 続けて、同じくfreeeでSREに携わる河村篤志さんが、どのようにKubenetesクラスターのモニタリングを行なっているかを紹介した。

freeeでSREに携わる河村篤志さん

 河村さんは、ご存知の方も多いであろうO'Reillyジャパンの「入門・監視」を引き合いに出し、監視とは「あるシステムやそのシステムのコンポーネントの振る舞いや出力を観察し、チェックし続ける行為である」と定義。その目的として、予防・保守や異常検知、今後の改善指標といった事柄が挙げられると説明した。

 正しい監視を行なうには、データを収集するための基盤とそれを格納するストレージ、可視化・分析のための基盤と問題をエンジニアに通知するアラートといったコンポーネントが必要だ。それも、何でもかんでもアラートを出すのではなく、ビジネスロジックや継続性に直結したメトリックを取捨選択し、トリアージする必要があるし、運用・人件費を含んだコストも適正でなくてはならない。

 何より、「今使っているシステムが、未来永劫フィットするかというと疑問が残る。そのとき、そのときのシステムに合う形に監視も改善していく必要があり、それに適したアーキテクチャでなくてはならない」と、これからの監視に必要な要素を説明した。

 では、Kubenetesの監視には何が必要だろうか。Kubenetesの環境ではクラスターそのものに加え、それを構成する「ノード」があり、その中で大量の「ポッド」が動いている。ポッドとしてデプロイされるアプリも多岐に渡っており「それらについて個別に設定を加えていくのは現実的ではない。freeeの場合もKubenetesで動いているポッド数は100を超えており、それらに個別に設定するのは無理」だと判断したそうだ。

 こうした要件を踏まえた上で、freeeでは「Elastic Stack」を活用してKubenetesクラスターを監視している。

 これまたご存じの方も多いだろうが、Elastic Stackは、データストアとなる「Elasticsearch」を中心としたログ収集・メトリクス監視のためのオープンソースソフトウェア群で、可視化を行なう「Kibana」やデータを収集する「Logstash」や「Beats」が含まれている。

 freeeでは、データコレクターにBeats、具体的には、ログ収集を行なう「Filebeat」とメトリック収集のための「Metricbeat」を活用し、各Kubenetesクラスターにデプロイして必要なデータを収集し、ログ収集基盤のAmazon Kinesisに送信しているそうだ。Kinesisからはさらに、永続的な保存用のS3と、デバッグや直近データに対する解析のためのElasticsearch Serviceにログストリームを送信している。Elasticsearch Serviceに含まれないアラート機能については、Yelpの「ElastAlert」を使っている。

全体の構成図

 FilebeatにしてもMetricbeatにしても、軽量で、しかもHelmコマンドで手軽に導入できる、というのが河村さんの実感だそう。Kubenetesクラスターのメタデータも一通り取得できるため、個別のアプリごとにタグを付与したりすることなく、「どのポッドがどうなっているか」をさっと把握できるという。

 「まずよかったのは、導入がけっこう楽なこと。Helmコマンドを使い慣れていれば苦もなく導入できる。また、共通のバックエンドとしてElasticserachとKibanaを使っているため、ログを送ってしまえばあとはよしなにやってくれるというラクさもある」(河村さん)。さらにluceneを用いてビジュアライズや柔軟なアラーティングを実現しているという。

 ダッシュボードの作成が大変だったり、ElastAlertの設定難易度が高かったり、たまにバグを踏んだりと、まだ微妙な部分もなくはない。だが、「EasticStackを使った監視システムのいいところは、導入が簡単で、モジュール単位で作られているので差し替えがしやすいこと」と河村さん。今後のシステムの変化に応じて監視の仕組みも変えていく可能性はあるが、それに適したアーキテクチャと言えそうだ。さらに、「将来的には、SRE以外のメンバーもルールや監視の追加を行なえる仕組み作りもやっていきたい」という。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事