ユーザー事例

Sunrun

Sunrun

コンテナ化されたマイクロサービスベースのインフラストラクチャにランタイムセキュリティと監視ツールを実装することは、非常に大きな課題です。
今回は、Sunrun社のソフトウェアアーキテクトであるJohn Hovell氏と、同社プリンシパルDevOpsエンジニアAndy Vansickle-Ward氏から、彼らがいかにしてそれを実現したのかをインタビューしました。

Sunrun社について

Sunrun社は米国最大の住宅用太陽光発電専門会社です。
同社では、住宅所有者が自宅やライフスタイルに最適な太陽光発電を簡単かつ迅速に利用できるよう支援しています。
同社には、技術革新と専門知識の融合の歴史があります。
2007年に「サービスとしてのソーラー」モデルを考案したSunrun社は、高品質のソーラーシステムの設計と運用に17年以上の経験を持ち、クリーンな太陽エネルギーを一般的かつ主流のものとし、米国の誰もが利用できるようにしました。
販売モデルは、電話、ウェブ、小売店、認証パートナーのネットワークを通じて消費者に届ける形です。
同社はこれまでに46億ドル以上の太陽光発電システムを導入してきた実績があり、全米で10万人以上の顧客を抱え、急速に成長しています。

Sunrun社のシステム環境はどのようなものでしょうか?

「私たちのチームは、カスタムビジネスアプリケーションの配信を担当しています。
これらのアプリは、お客様やパートナーの目に触れるものなので、収益に直結します。
そのため、信頼性が高く、非常に高いパフォーマンスが求められます。
当社のシステムでは、現在数十台のVMと数百のコンテナが稼働していますが、それらをわずか3人のエンジニアで管理しています。
当社のアプリケーションは、標準的なものをベースに構築されていますが、サービス指向のアプローチをとっていることが特徴です。
そして、WEBベースのカスタマーポータルとモバイルアプリの両方を構築するフロントエンドチームがおり、バックエンドのアプリケーションとコンポーネントにはJavaを使用しています。
これらはすべてAWS上で開発・運用がされていて、一貫性を持たせるために、可能な限りすべてをAmazon上で実行するようにしています。
Amazonはとても優れていて、費用対効果が高く、信頼性が高いからです。
AWS Lambdaも使用しており、コンテナはECSでオーケストレーションされています。」

ECSを使っているのですね。なぜその選択に至ったかについて教えてください。

「私たちが最初にコンテナを導入したのは数年前のことです。
当時、いくつかの選択肢があるなかで、特にKubernetesとECSに注目していました。
Kubernetesはとても強力なプラットフォームだとわかっていましたが、我々にとって必要以上に複雑なものにも思えました。
私たちはDevOpsエンジニアの小さなチームであったため、Kubernetes習得にかかるコスト、チューニング、管理のために時間を投資したとしても、それがあまり報われるとは思えませんでした。
一方、ECSは私たちの考え方に最もマッチしていました。
使いやすく、すぐに始められ、必要なコア機能をすべて備えている、という点です。
また、すべてEC2の上で実行されていたので、セットアップする上での投資額を正確に把握することができました。」

これらのシステム環境を、どのように可視化されたのでしょうか?

これはコンテナ化に踏み出す際に直面した、最初の課題の一つでした。
従来型のツールを使用してもホストの状態を把握することはできましたが、コンテナを実行するようになってからは、それでは不十分だと気付いたのです。
私たちは、コンテナを理解し、必要なデータをコンテナ間でつなぎ合わせて、サービスのパフォーマンスを完全に把握できるものが必要だと考えました。
そこで私たちは、コンテナをサポートできる新たなツールを探すことにしました。
いくつかのツールがありましたが、私たちが試した中では、Sysdigが最良だと判断しました。
その良い例がSysdig Monitorの持つ「グルーピング」機能です。
これは自動的にECSの稼働を把握し、タスクやサービスなど、正確なメタデータを引き出してくれました。
Sysdigを導入して以来、サービスを構成するすべてのコンテナのデータを自動的に集計し、コンテナがどれだけ頻繁に行き来していても、そのデータは自動的に集計されるようになりました。
そして、ダッシュボードを構築し、アラートを実装し、サービスを中心にした形ですべてのデータを調査することができるようになりました。
さらに良かった点は、これらすべての基礎となるエージェントは、ほとんどサービス稼働に影響を及ぼさないことでした。
各ホストに追加のコンテナをデプロイするたびに、Sysdigはコンテナ内でどのようなアプリケーションが実行されているかも含め、何もかもを自動的に把握してくれました。
これは本当に便利でした。
ECSがコンテナを移動したり、再定義したりする必要があるときに、手動で設定をしなくても、Sysdigが自動的にどのようなアプリケーションメトリクスを取得すべきかを知っているからです。

セキュリティについては、どのようなリスク管理をしているのでしょうか?

当社には優れたセキュリティチームがあり、以前から彼らが強力なセキュリティ対策を施しておりました。
しかし、モニタリングと同様、コンテナに移行することで、さらにインテリジェントなランタイムセキュリティの仕組みを導入しなければならないことがわかりました。
私たちは、システムに異常な動作が発見された場合にアラートを発し、そこからアクションを起こす仕組みを実装しなければならないと考えました。
しかし、当社のシステムはここ1年ほどでコンテナセキュリティ関し様々なアプローチで進化を遂げてきましたが、いくつかのあることに気がついたのです。

また、パフォーマンス情報であれイベントであれ、あるいはシステムの潜在的な問題を示す可能性のあるデータであれ、環境に関するすべてのデータについて、統一的な視点でフォーカスしたものはありませんでした。
その時、Sysdig社のソリューション・プラットフォームが、セキュリティにまで拡張されてきていることを知りました。
私たちは、既存でSysdigが取得しているパフォーマンス関連のデータに加えて、「サービス観点」でのセキュリティ管理にも、大きな可視性を提供してくれる可能性を期待し、実際に試してみることにしました。

Sysdig Monitor単体から、Sysdig SecureとMonitorを包括する「Sysdig Platform」を利用するようになった経緯を教えていただけますか?

まずはじめにお伝えしたいであり、なおかつ私たちにとってとても重要だったのは、すでにデプロイ済みであったSysdigエージェントに対し、何かしら追加のインストルメンテーションが必要とされなかったことです。
既存エージェントの設定ファイルでフラグを立てるだけで、セキュリティ用のUIに簡単にアクセスできるようになりました。
これは非常にシンプルなだけでなく、リソース使用量の面でも重要なことでした。
ホストごとに1つのエージェントさえあればいいのです。
複数のエージェントが不要なことで、ホストあたりのリソースコストを5~10%削減することができました。
これは非常に大きな成果でした。

Sysdig Secure を使用するようになって、かつてなく快適な環境を手に入れました。

Sysdig MonitorとSecureの間でUIが共有されているため、アプリケーションの状況をリアルタイムで把握することができました。
さらに重要なのは、Sysdigが物理的なインフラストラクチャや論理的なECSメタデータによってセキュリティポリシーやイベントをグループ化する機能を持っていたことです。
これはまさに私たちが求めていたもので、セキュリティポリシーを管理するためのサービス指向の方法です。
問題が発生した場合、影響を受けるサービスをすぐさま理解でき、コンテナがどこに分散していても、UIを使用してそのコンテナセットのデータをスコープしてフィルタリングすることができます。
ポリシー自体の変更も非常に簡単です。
その他のセキュリティ製品と同様に、私たちは気になる部分に合わせてポリシーを修正するため事前に多少の時間を費やす必要はありましたが、Sysdigの学習コストはとても低いものでした。
助かったのは、データベースがアウトバウンド接続を開いたときや、ユーザーがコンテナ内でシェルを起動したときなど、Sysdigには強力なポリシーがあらかじめ多く用意されていたことです。
あらゆる製品のなかで、パフォーマンス監視とセキュリティを一元管理でき、かつ、それを低リソースかつ最もコスト効率の良い方法で行うことができるたのは、Sysdigをおいてほかにありませんでした。

今後の取り組みについて教えてください。

これから活用していきたい機能の一つが、Sysdig Capturesです。
これは、何かしらのアラートがトリガーされたとき、またはセキュリティポリシーにおける違反を検知したとき、システムコールのスナップショットを取得する機能です。
私たちにとってこの機能は、異常を分析して問題の原因を突き止めるための非常に強力な方法だと考えています。
Sysdigは取得したキャプチャーを解析するための新しいインターフェイスをリリースしており、私たちは今後、チームでこの機能をフル活用できるようワークフローを調整していきたいと思っています。

カテゴリー

ご質問・お問い合わせはこちら

top