AKS 用のセキュリティで保護された DevOps

Kubernetes Service
Monitor
Pipelines
ポリシー
GitHub

ソリューションのアイデア

さらなる情報、実装の詳細、価格ガイダンス、コード例を追加してこの記事を拡張することをお望みの場合は、GitHub のフィードバックでご連絡ください。

DevOps と Kubernetes を併用すると、より効果的です。 セキュリティで保護された DevOps を Kubernetes と共に Azure に実装することにより、速度とセキュリティのバランスを取ることができ、大規模なコードをより迅速に配信できます。 動的なポリシー制御を持つ CI/CD を使用して開発プロセスの周囲にガードレールを配置し、その後、継続的に監視してフィードバック ループを高速化します。 Azure Pipelines を使用すると、Azure Policy で重要なポリシーを確実に適用しながら迅速に配信できます。 Azure により、ビルドとリリースのパイプラインのリアルタイムでの監視が提供され、コンプライアンスの監査と再構成を容易に適用できます。

アーキテクチャ

アーキテクチャ図 このアーキテクチャの SVG をダウンロードしてください。

データ フロー

  1. 開発者が、同じ Kubernetes クラスターでアプリケーションのさまざまな部分をまとめて迅速に反復、テスト、デバッグします。
  2. コードが GitHub リポジトリにマージされた後、自動化されたビルドとテストが Azure Pipelines によって実行されます。
  3. コード変更のたびにリリース パイプラインによって事前定義されたデプロイ戦略が自動的に実行されます。
  4. Kubernetes クラスターは、アプリのリソースと構成の望ましい状態が定義されている Helm チャート などのツールを使用することでプロビジョニングされます。
  5. Azure Container Registry にコンテナー イメージがプッシュされます。
  6. クラスター オペレーターは、AKS クラスターへのデプロイを管理するために、Azure Policy でポリシーを定義します。
  7. Azure Policy により、パイプラインからの要求が AKS コントロール プレーン レベルで監査されます。
  8. アプリのテレメトリ、コンテナーの正常性の監視、リアルタイムのログ分析が、Azure Monitor を使用して取得されます。
  9. 分析情報は問題の対応に使用され、次のスプリント計画に取り込まれます。

Components

  • GitHub Enterprise はソース コードをホストしており、開発者は組織内やオープンソース コミュニティ内で共同作業を行うことができます。 GitHub Enterprise は、記述したコードやオープンソースの依存関係に内在する脆弱性を特定する高度なセキュリティ機能を提供します
  • Azure Pipelines は、アプリケーションを自動的にビルドしてリリースするために、継続的インテグレーションと継続的デリバリーのジョブを提供するサービスです。
  • Azure Container Registry は Docker コンテナー イメージをホストします。 このサービスには、Azure Security Center との統合によるコンテナー イメージのスキャンが含まれます。
  • Azure Kubernetes Service は、インフラストラクチャの可用性とセキュリティを確保するために、Azure によって完全に管理される Kubernetes クラスターを提供します。
  • Azure Policy では、ポリシーの作成、割り当て、管理を行うことができます。 これらのポリシーは、リソースにさまざまなルールと効果を適用して、それらのリソースが会社の標準とサービス レベル アグリーメントに準拠した状態に保たれるようにします。 Azure Kubernetes Service とも統合されます。
  • Azure Monitor を使用すると、アプリケーションやインフラストラクチャの可用性とパフォーマンスに関する分析情報が得られます。 また、ソリューションの正常性を監視し、異常なアクティビティを早期に発見するためのシグナルにアクセスすることもできます。

次のステップ

次の関連するアーキテクチャを参照してください。