Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2020年7月31日にEric Carterが投稿したブログ(https://sysdig.com/blog/amazon-eks-monitoring-and-security-with-sysdig/)を元に日本語に翻訳・再構成した内容となっております。
Amazon Elastic Kubernetes Service (Amazon EKS) - 以前はElastic Container Service for Kubernetesとして知られていましたが、AWS上でマネージドサービスとしてKubernetesを提供しています。EKSを利用することで、Kubernetesを利用したコンテナ化されたアプリケーションのデプロイ、管理、スケーリングが容易になります。Sysdig MonitorとSysdig Secureを搭載したSysdig Secure DevOps Platformは、単一のエージェントと統一されたプラットフォームからAmazon EKSの監視とセキュリティを提供します。Sysdigは、AWSの顧客がより多くの情報を確認し、より多くのセキュリティを確保し、デプロイされたマイクロサービスのトラブルシューティングにかかる時間を短縮することで、クラウドアプリケーションの提供をより迅速に行うことができます。
SysdigがAmazon EKS - そしてあらゆるKubernetes環境の監視と安全性確保に効果的な理由は、コンテナとオーケストレーションの統合へのアプローチにあります。
要するに、これらの技術は、パイプラインやクラスタのどこにセキュリティやパフォーマンスの問題があり、どのような注意が必要なのかをピンポイントで特定するのに役立ちます。ネームスペース、デプロイメント、ポッドなど、Kubernetesの論理リソースごとに情報を可視化してセグメント化する機能により、どのサービスがどこに影響を受けているかを正確に把握することができます。
Amazon EKS環境には、インフラストラクチャー、コンテナ、マイクロサービスによって公開されている何千ものラベルとタグが含まれています。Sysdigはこれらのラベルとタグを自動的に収集し、メトリクスをグループ化してセグメント化することができます。そのため、EKSの状況を把握するための「スライス&ダイス」が簡単にできます。これには物理的(EC2インスタンスなど)と論理的(Kubernetesノード、ポッドなど)の詳細が含まれており、リッチでパワフルな方法でサービスを見ることができます。
Amazon EKSの監視とセキュリティでは、あらゆるレベルでの洞察を提供するための詳細なビューを即座に確認できることを意味します。これには、トップレベルのダッシュボードから個々のメトリクスやセキュリティ・イベントのビューまで、プロセス・レベルに至るまでのすべてのビューが含まれています。そのため、ポッドのクラッシュと再起動のループやデータの流出イベントなど、何かが起こったときに、詳細を掘り下げることができます。つまり、Sysdigは、干し草の山の中の針を素早く見つけ、問題を解決するのに役立ちます。
Amazon EKSでSysdigを使い始めるのはシンプルで簡単です。Dockerコンテナとして提供され、DaemonSetとしてデプロイされた軽量なコンテナエージェントのインストールで、準備は完了です。具体的には、Kubernetesと一緒にDaemonSetをインストールすることで、すべてのノードがSysdigでPodを実行することを保証します。ノードがクラスターに追加されると自動的に監視およびセキュリティエージェントが追加され、管理オーバーヘッドが大幅に削減されます。さらに、ノードに障害が発生した場合、ワークロードが他の場所でスピンアップするため、Sysdigエージェントも監視とセキュリティの可用性を確保します。ここではその方法をご紹介します。
環境にサービスをデプロイする際、コンテナアクティビティの主要なソースとして、Sysdigはカーネルレベルでシステムコールを監視します。導入後は、AWSインスタンス、コンテナ、EKSから詳細な情報を自動的に収集します。その結果、以下のようなリアルタイムの監視とセキュリティを得ることができます。
Sysdigでは、Amazon EKS環境を探索、表示、分析するための多くの方法を提供しています。
SysdigのSpotlightでは、EKS環境で発見された状況の概要を簡単に知ることができます。これには、実行中(または実行していない)のアプリケーション統合や、実行中のエージェントのステータスが含まれます。Spotlightの仕事は、健全な環境を維持し、EKS上のサービスの状態を一目で確認できるようにすることです。
Sysdigでは、Amazon EKS環境を探索して、どのレベルで何が起きているかを確認することができます。ホストやコンテナを見ることもできますし、Kubernetesのグループ化を適用して、AWSリージョン > クラスタ > ネームスペース > デプロイ > ポッド > コンテナのように環境を掘り下げていくこともできます。これにより、インフラ全体からコンテナレベルまで、CPU、ディスク、メモリ、ネットワークなどのメトリクスをHTOPのように見ることができます。色分けされているので、何が異常なのかがわかり、潜在的な問題を迅速に発見することができます。ここから、エクスプローラツリーで選択したものによって自動的にスコープされたダッシュボードやメトリックビューをドリルで確認することができます。
Sysdigは自動的にトポロジーマップを作成し、サービス、コンテナ、プロセスがどのように通信しているか、レスポンスタイムやレイテンシーを確認したり、ネットワークトラフィックを確認したり、CPU使用率を確認したりするのに使用できます。リージョン、アベイラビリティゾーン、クラスタごとにEKSリソースを自動的に表示し、ドリルダウンして詳細を確認することができます。
ダッシュボードでは、kube-state-metrics でポッドの健全性を、Golden Signals で Kubernetes サービスの健全性を確認することができます。これらのダッシュボード (およびその他) は、「デフォルトのテンプレート」として含まれています。ただし、自分にとって最も重要な EKS のメトリクスや情報については、独自のカスタムビューを作成することもできます。
アダプティブアラートは、イベントが発生した際にメールやPagerDuty、Slackなどで自動的に通知してくれます。 例えば、CPU使用率が90%を超えたなどのしきい値を超えたメトリクスに対してアラートを設定することができます。さらに、設定したセキュリティポリシーに反する違反が発生した場合にも通知を受けることができます。Kubernetes ノードのディスク切れ?デプロイメントが劣化していますか?ポッドがクラッシュしていませんか?誰かがコンテナ内で不正なプログラムを実行していませんか?すぐにアラートが表示されます。
セキュリティチームは、直近1時間や直近1週間などのイベントのサマリーを取得し、EKS導入におけるポリシー違反を掘り下げることができます。例えば、機密ファイル(ユーザー/パスワード/認証情報を含むファイルなど)を読もうとする試みがあった場合、問題を特定し、ブロックし、さらに調査することができます。
最後に、SysdigはシステムキャプチャーでセキュリティフォレンジックとKubernetesのトラブルシューティングを簡素化します。キャプチャーにより、システムコールと環境データを分析し、統合されたオープンソースのSysdig Inspectを使用して、アラートやイベントの詳細を関連付けることができます。コンテナが死亡または消滅しても、Sysdigを使用すれば、トラブルシューティングに必要な情報を得ることができます。
Sysdigでは、機能豊富なKubernetes - そして今ではAmazon EKSのサポートを提供するために多くのリソースの投資を行っています。要約すると、私たちの目標は、お客様が成功するために必要なインテリジェンスを提供することです。完全にAWSクラウドで運用している場合でも、オンプレミスでAWS Outpostsを使用している場合でも、Sysdigは重要なパフォーマンス、健全性、セキュリティのインサイトを提供することで、迅速に結果を出すことができます。
全体として、Sysdigのソリューションは、Amazon EKS上で実行するコンテナ化されたサービスの信頼性、安全性、最高のパフォーマンスを確保するための作業を簡素化します。世界の大企業がDocker、Kubernetes、Amazon、Sysdig Monitor、Sysdig Secureを使って何をしているのかを知りたい方は、「6 Real-World Kubernetes Use Cases」をお読みください。また、関連リソースもチェックしてみてください。