Anthos の技術概要

Anthos は、クラウド環境とオンプレミス環境で一貫性のある開発と運用ができる最新のアプリケーション管理プラットフォームです。このページでは、Anthos インフラストラクチャの各レイヤの概要と、その機能を活用する方法について説明します。

次の図は、インフラストラクチャ管理からアプリケーション開発の促進まで、Anthos のコンポーネントと機能、およびそれらが環境全体でどのように Anthos の機能を提供しているかを示しています。

Anthos コンポーネントを示す図

次の表に、Google Cloud、AWS、接続された Kubernetes クラスタ、オンプレミスで現在利用可能なコンポーネントを示します。プロダクトのサブコンポーネントなど、各デプロイ オプション用の Anthos のサブスクリプションに含まれる機能の完全なリストについては、Anthos のデプロイ オプションをご覧ください。

コア Anthos コンポーネント Google Cloud オンプレミス マルチクラウド 接続クラスタ
インフラストラクチャ、コンテナ、クラスタ管理 GKE
複数クラスタ間の Ingress
Anthos clusters on VMware Anthos clusters on AWS、Azure 版 Anthos クラスタ
マルチクラスタ管理 フリート、フリート対応コンポーネント、Connect フリート、フリート対応コンポーネント、Connect フリート、フリート対応コンポーネント、Connect フリート、フリート対応コンポーネント、Connect
構成管理

Anthos の構成管理

Anthos の構成管理

Anthos の構成管理

Anthos の構成管理

移行 Migrate for Anthos and GKE Migrate for Anthos and GKE Migrate for Anthos and GKE
サービス管理

Anthos Service Mesh
Anthos Service Mesh ダッシュボード
MeshCA 認証局

Anthos Service Mesh
Grafana および Kiali ダッシュボード
Istiod 認証局

Anthos Service Mesh(AWS のみ) Anthos Service Mesh
サーバーレス Cloud Run for Anthos Cloud Run for Anthos
安全なソフトウェア サプライ チェーン Binary Authorization Binary Authorization(プレビュー)
ロギングとモニタリング システム コンポーネント用の Cloud Logging と Cloud Monitoring システム コンポーネント用の Cloud Logging と Cloud Monitoring
マーケットプレイス Cloud Marketplace の Kubernetes アプリケーション Cloud Marketplace の Kubernetes アプリケーション

コンピューティング環境

Anthos の主なコンピューティング環境では、Anthos クラスタを使用します。このクラスタは、Google Cloud、オンプレミス、マルチクラウドで使用する GKE を拡張して、アプリケーションをデプロイする環境での Kubernetes のインストールを管理します。これらのサービスがアップストリームの Kubernetes リリースをバンドルし、標準準拠の Kubernetes クラスタを作成、スケーリング、アップグレードする管理機能を提供します。Kubernetes をインストールして実行すると、アプリケーションのデプロイ、構成、アップグレード、スケーリングを管理する共通のオーケストレーション レイヤにアクセスできます。

Kubernetes には、コントロール プレーンノード コンポーネントという 2 つの主要な構成要素があります。GKE のコントロール プレーンとノード コンポーネントをホストする方法について以下で説明します。

  • Anthos on Google Cloud
    Anthos on Google Cloud では、Google Cloud がコントロール プレーンをホストします。お客様がアクセスできる唯一のコントロール プレーン コンポーネントは Kubernetes API サーバーです。GKE は、Compute Engine のインスタンスを使用して、お客様のプロジェクトのノード コンポーネントを管理します。

  • Anthos オンプレミス
    Anthos clusters on VMware では、すべてのコンポーネントがお客様のオンプレミス仮想化環境でホストされます。

  • Anthos on AWS
    Anthos clusters on AWS では、すべてのコンポーネントがお客様の AWS 環境でホストされます。

Anthos に接続されたクラスタでは、Kubernetes ディストリビューションは別のクラウド プロバイダ経由で提供されます。このデプロイ オプションでは、Anthos は Kubernetes コントロール プレーンまたはノード コンポーネントを管理しません。これらのクラスタで実行される Anthos サービスのみが管理されます。

マルチクラスタ管理

Anthos クラスタは、Connect を使用して Google Cloud フリートの一部として登録されるため、複数のクラスタを Anthos ダッシュボードでまとめて表示、管理できます。フリートおよび有効にできる機能については、フリートガイドをご覧ください。ダッシュボードの詳細については、後述の統合型ユーザー インターフェース セクションをご覧ください。

ネットワーキング環境

このセクションでは、Anthos の Kubernetes クラスタとお客様の環境のネットワークとの関係について説明します。

ロードバランサ

ロードバランサを使用すると、さまざまな Pod や環境でリクエストをワークロードに分割できます。Kubernetes では、レイヤ 4 およびレイヤ 7 ロードバランサをプロビジョニングできます。選択した環境に応じて、GKE で次の負荷分散オプションを利用できます。

複数の環境間で接続

オンプレミス、マルチクラウド、接続されたクラスタ、Google Cloud 環境は、さまざまな方法で接続できます。最も簡単な方法は、Cloud VPN を使用して環境間にサイト間 VPN を実装することです。レイテンシとスループットの要件が厳しい場合は、Dedicated InterconnectPartner Interconnect のいずれかを使用できます。相互接続タイプの選択方法について詳しくは、ネットワーク接続プロダクトを選択する方法をご覧ください。

Google サービスへの接続

Google Cloud の外部の Anthos 環境から次のサービスを利用するには、Google の API エンドポイントにアクセスできる必要があります。

環境 Anthos clusters on VMware Anthos clusters on AWS 接続クラスタ
Connect Connect Connect
Cloud Monitoring
Cloud Logging

マイクロサービス アーキテクチャのサポート

Kubernetes では、サービスはコンテナを実行する多数の Pod で構成されます。マイクロサービス アーキテクチャでは、単一のアプリケーションが多数のサービスで構成され、各サービスに複数のバージョンが同時にデプロイされることがあります。

モノリシック アプリケーションの場合、通信はモノリス内に分離された関数呼び出しで行われるため、ネットワーク関連の問題を気にする必要はありません。マイクロサービス アーキテクチャでは、サービス間通信はネットワークを介して行われます。

ネットワークは信頼性が低く、安全でない可能性があるため、サービスはネットワークの特性を認識して対処できる必要があります。たとえば、サービス A がサービス B を呼び出していて、ネットワークが停止した場合、レスポンスを受け取らなかったサービス A はどうするべきでしょうか。呼び出しを再試行するのでしょうか。再試行するのであれば、どれくらいの間隔で行えばよいでしょうか。また、呼び出しに応答しているのがサービス B であることを、サービス A はどのようにして知るのでしょうか。

これらの問題を解決するには、Anthos Service Mesh を GKE または選択した環境の接続されたクラスタにインストールします。Anthos Service Mesh は、サービス メッシュ インフラストラクチャ レイヤのオープンソース実装である Istio をベースにしています。Anthos Service Mesh は、サイドカー プロキシを使用してネットワークのセキュリティ、信頼性、可視性を強化します。Anthos Service Mesh では、これらの機能がアプリケーションのプライマリ コンテナから抽出され、同じ Pod 内の個別のコンテナとして提供される共通のプロセス外プロキシに実装されます。

Anthos Service Mesh の特長は次のとおりです。

  • HTTP(S)、gRPC、TCP トラフィック用の豊富なルーティング ルールによるトラフィックのきめ細かい制御。

  • クラスタの上り(内向き)と下り(外向き)を含む、クラスタ内のすべての HTTP トラフィックの指標、ログ、トレースの自動作成。

  • サービス アカウントに基づいた認証と認可によるセキュアなサービス間通信。

  • A/B Testing やカナリア ロールアウトなどのタスクの円滑化。

マネージド サービス メッシュ

Anthos on Google Cloud で実行されるワークロードの場合、Anthos Service Mesh はサービス メッシュ環境を管理して、Istio の特長をフル活用した多彩な機能を提供します。

  • メッシュの GKE クラスタ内のすべてのトラフィックに関して、サービスの指標とログが自動的に Google Cloud に取り込まれます。

  • 自動的に生成されたダッシュボードには、Anthos Service Mesh ダッシュボードに詳細なテレメトリーが表示されます。指標とログを深く掘り下げることができ、さまざまな属性に基づいてデータをフィルタ、スライスできます。

  • サービス同士の関係をひと目で把握: サービスの接続関係、依存関係を理解します。

  • サービス間トラフィックの保護: Anthos Service Mesh 認証局(Mesh CA)は証明書を自動的に生成してローテーションするため、Istio ポリシーを使用して相互 TLS 認証(mTLS)を簡単に有効にできます。

  • 自分のサービスだけでなく、他のサービスとの関係のコミュニケーション セキュリティの分析情報もすばやく確認できます。

  • Cloud Monitoring を使用して、サービス指標を詳しく分析し、他の Google Cloud 指標と組み合わせます。

  • サービスレベル目標(SLO)でサービスの状態を明確かつシンプルに把握し、サービスの状態についての基準の定義とそれに基づいたアラートを簡単に行えるようにします。

構成の一元管理

Anthos Config Management のアーキテクチャを示す図
Anthos Config Management のアーキテクチャ(クリックして拡大)

環境が複数になると、リソース管理と整合性の維持が複雑になります。Anthos には、クラウドとデータセンターにまたがるコンピューティング、ネットワーキング、サービス管理に対応する統合された宣言型モデルがあります。

データとしての構成は、この複雑さを管理する一般的な手法の 1 つです。つまり、ハイブリッド環境の望ましい状態をバージョン管理に保存し、再現可能な結果に直接適用できます。Anthos では、オンプレミスまたはクラウドの Anthos クラスタと統合する Anthos Config Management を使用してこれを可能にします。これにより、一元的な Git リポジトリに保存された構成の変更のデプロイとモニタリングができます。

この方法では、Namespaceラベルアノテーションなど Kubernetes の基本コンセプトを利用して、どこに配置されているかに関係なく、すべての Kubernetes クラスタに構成変更を適用する方法と場所を決定します。リポジトリが、すべての Kubernetes 構成の、バージョニングされ、安全で、制御下にある唯一の正確な情報源になります。kubectl コマンドに適用できる YAML または JSON は、すべて Anthos Config Management で管理でき、どのような Kubernetes クラスタにも適用できます。

Anthos Config Management には、Policy Controller も含まれています。これは、Kubernetes へのすべての API リクエストに対してカスタム ビジネス ロジックを適用し、同じロジックを使用してクラスタのスキャンと監査を行うことができます。一般的なセキュリティ ルールとコンプライアンス ルールは、Anthos Config Management とともにデプロイされる組み込みルールを使用して簡単に表現できます。また、オープンソース Open Policy Agent プロジェクトに基づいて、拡張可能なポリシー言語を使用して独自のルールを作成することもできます。

Anthos Config Management が Anthos 環境にもたらす利点には次のようなものがあります。

  • 制御下にある管理された唯一の正確な情報源

    • コードレビュー、検証、ロールバックのワークフローを使用できます。

    • 手動の変更で発生する、Kubernetes クラスタの同期がずれるシャドウ操作を回避できます。

    • 自動テストや自動ロールアウト用に、CI/CD パイプラインを使用できます。

  • ワンステップで全クラスタへのデプロイが可能

    • Anthos Config Management は、1 つの Git commit をすべてのクラスタにわたる複数の kubectl コマンドに変換します。

    • Git の変更を元に戻すだけでロールバックできます。復元は、自動的に全体にデプロイされます。

  • 変更適用のための豊富な継承モデル

    • Namespace を使って、すべてのクラスタ、一部のクラスタ、一部の Namespace、カスタム リソースの構成を作成できます。

    • Namespace の継承を使って、リポジトリ フォルダ構造全体で構成の継承を可能にする階層化された Namespace モデルを作成できます。

  • Policy Controller による高度なポリシーの適用と監査

    • 付属のポリシー ガードレールを使用して、環境全体にセキュリティのベスト プラクティスを適用できます。
    • 環境を継続的に監査して、ビジネス ポリシーに違反する構成を見つけます。
    • 表現力豊かなカスタム ポリシー言語を使用して固有のビジネス ロジックをエンコードし、独自のカスタムルールを定義してデプロイします。

サーバーレス

Cloud Run for Anthos は、Anthos プラットフォーム上で最新型のアプリケーションを作成するための、デベロッパーを第一に考えたエクスペリエンスを提供します。Cloud Run は基盤となるプラットフォームの複雑さを軽減し、顧客価値を短時間で簡単に創出できます。

Cloud Run は、プラットフォームに焦点を当てたり、YAML を多数作成したりするのではなく、Service の定義とデプロイのためのクリーンなデベロッパー抽象化を提供します。これにより、デベロッパーはより短い時間でより多くを達成できます。Cloud Run は、クラウドまたはオンプレミスでのサービスの実行方法を管理し、リソース使用率、水平方向のスケーリング、ネットワーキングおよび Anthos Service Mesh との統合を最適化します。また、Cloud Run は、必要に応じてゼロ インスタンスにアプリをスケールできます。

Cloud Run は、Knative オープンソース プロジェクトを通じて、長年サーバーレス プラットフォームを運用してきた Google 自身の経験をパッケージ化し、ユーザーの Anthos 環境で利用可能にします。Cloud Run を使用すると、プラットフォームを構築したり、特定のクラウドやベンダーにロックインしたりすることなく、顧客のニーズに迅速かつ集中的に対応できるようになります。

Cloud Run for Anthos は、Anthos on Google Cloud と Anthos オンプレミス デプロイのオプションで一般提供されており、マルチクラウドおよび接続されたクラスタのロードマップに含まれています。

安全なソフトウェア サプライ チェーン

「本番環境インフラストラクチャで実行されるものを信頼するにはどうすればよいか」というのが、企業のセキュリティと DevOps に携わる方々からよくいただくご質問の一つです。その問いに答えるために Binary Authorization が作成されました。これは Anthos クラスタに統合されているコンテナ セキュリティ機能で、署名され、認可されたイメージのみが環境にデプロイされることを保証するポリシーの適用のチョークポイントを提供します。

コンテナ化されたマイクロサービスにこの機能は特に役立ちます。企業はよく何百、何千ものジョブを本番環境で実行し、そうしたジョブの多くが機密性の高いデータや重要なデータにアクセスするためです。ID ベースのデプロイ制御(デプロイできるユーザーを制限する)は、自動化されたビルドとリリース インフラストラクチャで、企業のニーズに合わせてスケールできない人間の運用知識と信頼に依存します。何十ものチームでデプロイが日に何百回も行われることもあります。

Binary Authorization は、選択した CI / CD ステージと統合し、イメージの通過時に署名または「証明書」を作成することによって、組織のデプロイ要件を定型化およびコード化します。Binary Authorization は、これらの基準を満たしていないイメージがデプロイされないようにすることで、アドミッション コントローラとして機能します。署名ベースの検証に加えて、Binary Authorization ポリシーでは、名前パターンを使用した許可リストイメージもサポートしています。リポジトリ、パス、またはデプロイを許可する特定のセットのイメージを指定できます。

Binary Authorization は現在、Anthos on Google Cloud と Anthos オンプレミス(プレビュー版)でご利用いただけます。

ロギングとモニタリングの統合

アプリケーションとインフラストラクチャ コンポーネントのログにアクセスできることは、本番環境インフラストラクチャの実行と維持において不可欠です。Cloud Logging は、ログの保管と分析のための統合された場所を提供します。クラスタの内部コンポーネントによって生成されたログは、自動的に Cloud Logging に送信されます。

Anthos on Google Cloud の場合、クラスタ内で実行されるワークロードには、Pod ラベル、Pod 名、それを生成したクラスタ名などの関連するラベルで自動的に拡充されます。ラベル付けされると、高度なクエリでログを簡単に見つけることができます。

また、Anthos on Google Cloud では、Cloud Audit Logs を使用することで、アプリケーションやユーザーがコントロール コンポーネントを使用して行った操作をキャプチャして分析できます。

Kubernetes 環境の運用におけるもう 1 つの重要な要素は、システムの動作と健全性を可視化する指標を保存する機能です。Kubernetes Engine Monitoring では、デバッグ、アラート、およびインシデント後の分析で使用するためのアプリケーションの重要な指標を保存する、自動的で慣用的な統合が提供されます。Anthos on Google Cloud では、Kubernetes Engine Monitoring がデフォルトで有効になっています。

Anthos には、システム コンポーネント用の Cloud Logging と Cloud Monitoring が含まれています。

統合型ユーザー インターフェース

Google Cloud Console の Anthos ダッシュボードには、すべての Anthos リソースの設定不要な一元的な構造化ビューなど、アプリケーションを表示および管理するための安全かつ統合されたユーザー インターフェースが用意されています。ダッシュボードのランディング ページには、すべてのサービスとクラスタのランタイム ステータスの概要が表示されており、初めてのユーザーでもすぐに利用を開始できます。

Anthos ダッシュボードのスクリーンショット

クラスタ管理

組織内にある Kubernetes クラスタの数が増えると、各環境で何が実行されているのかを理解するのが難しくなります。Anthos クラスタ管理ビューは、登録されているすべてのクラスタの状態の表示や、プロジェクトの新しいクラスタの作成ができる安全なコンソールです。クラスタは、Connect で Google Cloud プロジェクト フリートに登録することで、このビューに追加します。オンプレミスと AWS の GKE クラスタは自動的に登録されます。フリートを使用すると、Google Cloud 外のクラスタを含め、クラスタとワークロードを Anthos の一部として統合した形で表示、管理できます。

サービス メッシュ ダッシュボード

Google Cloud 上の GKE で実行されるワークロードの場合、Anthos Service Mesh はサービスの健全性とパフォーマンスのオブザーバビリティを提供します。Anthos Service Mesh では、アダプタを使用して、各サービスのリクエストとレスポンスに関するデータを収集して集計します。つまり、サービス デベロッパーは、テレメトリー データを収集するためのコードをインストルメント化する、ダッシュボードやチャートを手動で設定する必要はありません。Anthos Service Mesh は、クラスタ内のすべてのトラフィックに対して、指標とログを Cloud Monitoring と Cloud Logging に自動的にアップロードします。この詳細なテレメトリーにより、運用担当者はサービスの挙動を監視でき、アプリケーションのトラブルシューティング、メンテナンス、最適化を行うのに役立ちます。

サービス メッシュ ダッシュボードのスクリーンショット

サービス メッシュ ダッシュボードでは、次のことができます。

  • メッシュ内のすべてのサービスの概要を確認し、モニタリングおける 4 つのゴールデン シグナルのうち 3 つ(レイテンシ、トラフィック、エラー)について重要なサービスレベル指標を提供します。

  • サービスのユーザーに表示されるパフォーマンスであるサービスレベル目標(SLO)の定義、確認、アラートの設定を実行します。

  • 個々のサービスの指標グラフを表示し、レスポンス コード、プロトコル、宛先 Pod、トラフィック ソースなどによるフィルタリングと分類で詳細に分析します。

  • 各サービスのエンドポイントに関する詳細情報を取得し、サービス間のトラフィックの流れかたと各通信エッジでのパフォーマンスを確認します。

  • メッシュのサービスとそれらの関係を示すサービス トポロジグラフの可視化について調べます。

構成管理

Anthos ダッシュボードの [構成管理] ビューでは、Anthos Config Management が有効になっているすべてのクラスタの構成状態を一目で確認できます。また、迅速に把握できるほか、まだ設定されていないクラスタに機能を追加できます。構成の変更を簡単に追跡し、各クラスタに適用されたブランチと commit タグを確認できます。柔軟なフィルタを使用すると、クラスタ、ブランチ、タグごとに構成のロールアウト ステータスを簡単に表示できます。

このビューから、Anthos クラスタの Anthos Config Management を更新またはインストールすることもできます。

Anthos の機能

Anthos ダッシュボードの [機能] ビューでは、登録済みクラスタのステータスの表示や Anthos 機能の管理ができます。現在、このビューからマルチクラスタ Ingress を登録済みのクラスタに直接インストールできます。他の機能を有効にする方法については、こちらのドキュメントをご覧ください。

サードパーティ アプリケーションのマーケットプレイス

Kubernetes のエコシステムは拡大し続けており、既存のクラスタ上で有効にできる豊富な機能を継続的に構築しています。Google Cloud Marketplace を使用すると、サードパーティ アプリケーションのインストールと管理が容易になり、どこで実行されるかにかかわらず、Anthos クラスタに簡単にデプロイできます。また、Anthos アプリを検索したり、フィルタリングしたりして、Anthos バッジ付きの Anthos 対応ソリューションを簡単に見つけることができます。Cloud Marketplace ソリューションは、既存の Google Cloud の請求と直接統合されています。また、ソフトウェア ベンダーによって直接サポートされます。

マーケットプレイスのソリューション カタログには、次の情報が記載されています。

  • ストレージ ソリューション
  • データベース
  • 継続的インテグレーションと継続的デリバリー ツール
  • モニタリング ソリューション
  • セキュリティとコンプライアンス ツール

利点

Anthos は、企業全体に価値を提供するために連携して機能する、個別のサービスのプラットフォームです。このセクションでは、組織内のさまざまな役割で Anthos を利用する方法と、各グループが得られる利点について説明します。

開発での Anthos

デベロッパー向けに、Anthos は Kubernetes をベースにした最先端のコンテナ管理プラットフォームを提供します。デベロッパーはこのプラットフォームを使い、既存のコンテナベースのアプリケーションとマイクロサービスベースのアーキテクチャをすばやく簡単にビルドしてデプロイできます。

主な利点は次のとおりです。

  • Anthos Config Management を使用した、Git 準拠の構成とコードの管理と CI / CD ワークフロー。

  • Anthos Service Mesh、Cloud Monitoring、Cloud Logging によるコードのコードフリー インストルメンテーション。均一なオブザーバビリティを提供します。

  • mTLS とスロットリングを使用したコードフリーのサービス保護

  • 既製のプロダクトをクラスタにすばやく簡単にドロップするための Google Cloud Marketplace のサポート。

移行における Anthos

移行のために、Anthos には Migrate for Anthos and GKE が含まれており、Anthos の Kubernetes を使用して移行をオーケストレートできます。

Migrate for Anthos and GKE を使用したコンテナへの移行のメリットについてお読みください。

運用における Anthos

運用に関して、Anthos は、テンプレートを使用する一元化された効率的なクラスタのデプロイと管理を提供します。運用チームは、会社の標準に準拠したインフラストラクチャを迅速に提供し、管理できます。

主な利点は次のとおりです。

  • コードとしての構成と Anthos Config Management を使用した、一元化された構成管理とコンプライアンス。

  • Git チェックインと Anthos Config Management を使用した、デプロイとロールバックの簡素化。

  • インフラストラクチャからアプリケーションのパフォーマンスとトポロジまで、すべてのクラスタを 1 か所で明瞭に確認。

セキュリティにおける Anthos

セキュリティに関して、Anthos はコードとしての構成という手法と一元管理を使用して、クラスタ、デプロイされたアプリケーション、構成管理ワークフローにセキュリティ標準を適用する機能を提供します。

主な利点は次のとおりです。

  • Git 準拠の構成リポジトリと Anthos Config Management を使用した、一元化され、監査可能で、セキュアなワークフロー。

  • Namespace、継承された構成、Anthos Config Management を使用した、クラスタ構成のコンプライアンス適用。

  • クラスタ内 mTLS と証明書管理を提供する、Anthos Service Mesh を使用したコードフリーで安全なマイクロサービス。Google Cloud 上の Google Kubernetes Engine で実行されるワークロードの場合、証明書は MeshCA によって提供されます。

  • Anthos Service Mesh の承認とルーティングを使用した組み込みのサービス保護。

次のステップ

Anthos を試してみる

  • Google Cloud での Anthos のサンプル デプロイは、Google Cloud の Anthos デプロイメントです。チュートリアルに沿って Anthos の機能を確認するための Google Cloud 上の Anthos デプロイです。これは、サンプル アプリケーションを使って十分にセットアップされたデプロイで、Google Cloud プロジェクトを作成するだけで使用できます。

詳細

Anthos の設定

  • Anthos の設定方法については、設定ガイドをご覧ください。