Google Cloud Platformに戻る

Anthos

Anthosとは

Anthos は、Google Cloud Platform (GCP) が提供するハイブリッドおよびマルチクラウドアプリケーションプラットフォームです。Kubernetesをベースにしており、オンプレミス環境、Google Cloud、その他のパブリッククラウド(AWS、Azure など)にわたって一貫したアプリケーション管理を実現します。Anthosを使用することで、企業はアプリケーションをどこで実行するかに関係なく、一貫した方法で開発、セキュア化、管理することができます。

Anthosの主な特徴

Anthosのアーキテクチャ

Anthosは以下の主要コンポーネントで構成されています:

コンポーネント 説明
GKE (Google Kubernetes Engine) Google Cloud上で実行されるマネージドKubernetesサービス
GKE on-prem オンプレミス環境で実行されるGKE互換のKubernetesプラットフォーム
Anthos Clusters on AWS/Azure AWSやAzure上で実行されるGKE互換のKubernetesクラスタ
Anthos Config Management 複数のクラスタにわたるポリシーと構成の一元管理
Anthos Service Mesh Istioベースのサービスメッシュによるマイクロサービス管理
Cloud Run for Anthos Anthosクラスタ上でサーバーレスワークロードを実行するためのプラットフォーム
Anthos Identity Service クラスタへのアクセスを管理するための認証サービス
Connect すべてのクラスタをGoogle Cloudに接続し、一元管理するためのサービス

Anthos と従来のハイブリッドクラウドソリューションの違い

Anthosと従来のハイブリッドクラウドソリューションには以下のような違いがあります:

Anthosの導入方法

Anthosは、様々な環境に導入することができます。以下に主な導入方法を示します:

Google Cloud上でのAnthos

Google Cloud上では、GKEを使用してAnthosを導入します:

gcloud container clusters create my-gke-cluster \
    --zone=asia-northeast1-a \
    --enable-ip-alias \
    --release-channel=regular \
    --workload-pool=my-project.svc.id.goog

オンプレミス環境でのAnthos

オンプレミス環境では、GKE on-premを使用してAnthosを導入します。これには以下のステップが含まれます:

  1. ハードウェア要件の確認(vSphere、ベアメタル、またはNutanix環境)
  2. 管理ワークステーションの設定
  3. Anthosクラスタオペレータのインストール
  4. クラスタ構成ファイルの作成
  5. クラスタのデプロイ
  6. Google Cloudとの接続設定

AWS上でのAnthos

AWS上では、Anthos Clusters on AWSを使用してAnthosを導入します:

gcloud container aws clusters create my-aws-cluster \
    --aws-region=us-west-2 \
    --cluster-version=1.21.5-gke.2800 \
    --fleet-project=my-project-id \
    --vpc-id=vpc-0123456789abcdef0 \
    --subnet-ids=subnet-0123456789abcdef0,subnet-0123456789abcdef1 \
    --iam-instance-profile=my-instance-profile

Azure上でのAnthos

Azure上では、Anthos Clusters on Azureを使用してAnthosを導入します:

gcloud container azure clusters create my-azure-cluster \
    --location=eastus \
    --client=my-client-id \
    --fleet-project=my-project-id \
    --resource-group=my-resource-group \
    --vnet-name=my-vnet \
    --cluster-version=1.21.5-gke.2800

Anthos Config Management

Anthos Config Management(ACM)は、複数のクラスタにわたるポリシーと構成を一元管理するためのツールです。GitOpsアプローチを採用しており、Gitリポジトリを「信頼できる唯一の情報源」として使用します。

ACMの主な機能

ACMの設定例

# ACMのインストール
gcloud beta container fleet config-management enable

# ACMの構成
# 以下の内容をconfig-management.yamlファイルに保存
# apiVersion: configmanagement.gke.io/v1
# kind: ConfigManagement
# metadata:
#   name: config-management
# spec:
#   clusterName: my-cluster
#   git:
#     syncRepo: https://github.com/my-org/my-config-repo
#     syncBranch: main
#     secretType: ssh
#     policyDir: "."

# クラスタへの適用
gcloud beta container fleet config-management apply \
    --membership=my-cluster \
    --config=config-management.yaml

Anthos Service Mesh

Anthos Service Mesh(ASM)は、Istioをベースにしたサービスメッシュで、マイクロサービス間の通信を管理します。トラフィック管理、セキュリティ、可観測性などの機能を提供します。

ASMの主な機能

ASMのインストール例

# asmcliのダウンロード
curl -LO https://storage.googleapis.com/csm-artifacts/asm/asmcli

# ASMのインストール
chmod +x asmcli
./asmcli install \
    --project_id=my-project \
    --cluster_name=my-cluster \
    --cluster_location=asia-northeast1-a \
    --fleet_id=my-project \
    --output_dir=./asm-output \
    --enable_all

サービスメッシュの構成例

# 仮想サービスの定義
# 以下の内容をvirtual-service.yamlファイルに保存
# apiVersion: networking.istio.io/v1alpha3
# kind: VirtualService
# metadata:
#   name: my-service
# spec:
#   hosts:
#   - my-service
#   http:
#   - route:
#     - destination:
#         host: my-service
#         subset: v1
#       weight: 90
#     - destination:
#         host: my-service
#         subset: v2
#       weight: 10

# 適用
kubectl apply -f virtual-service.yaml

Cloud Run for Anthos

Cloud Run for Anthosは、Anthosクラスタ上でサーバーレスワークロードを実行するためのプラットフォームです。Knativeをベースにしており、コンテナ化されたアプリケーションをイベント駆動型で実行できます。

Cloud Run for Anthosの主な特徴

Cloud Run for Anthosのインストール

gcloud container clusters update my-cluster \
    --zone=asia-northeast1-a \
    --update-addons=CloudRun=ENABLED

サービスのデプロイ例

# 以下の内容をservice.yamlファイルに保存
# apiVersion: serving.knative.dev/v1
# kind: Service
# metadata:
#   name: hello
#   namespace: default
# spec:
#   template:
#     spec:
#       containers:
#       - image: gcr.io/knative-samples/helloworld-go
#         env:
#         - name: TARGET
#           value: "Anthos"

# 適用
kubectl apply -f service.yaml

Anthosのセキュリティ

Anthosは、複数の層でセキュリティを提供します:

主なセキュリティ機能

Binary Authorizationの設定例

# Binary Authorizationの有効化
gcloud container clusters update my-cluster \
    --zone=asia-northeast1-a \
    --enable-binauthz

# ポリシーの設定
# 以下の内容をbinauthz-policy.yamlファイルに保存
# admissionWhitelistPatterns:
# - namePattern: gcr.io/google-containers/*
# - namePattern: gcr.io/google-samples/*
# defaultAdmissionRule:
#   evaluationMode: REQUIRE_ATTESTATION
#   enforcementMode: ENFORCED_BLOCK_AND_AUDIT_LOG
#   requireAttestationsBy:
#   - projects/my-project/attestors/my-attestor

# ポリシーのインポート
gcloud container binauthz policy import binauthz-policy.yaml

Anthosのモニタリングと可観測性

Anthosは、Google Cloud Monitoringおよびロギングと統合されており、クラスタとアプリケーションの健全性を監視できます:

主なモニタリング機能

モニタリングの設定例

# Cloud Monitoringの有効化
gcloud container clusters update my-cluster \
    --zone=asia-northeast1-a \
    --enable-stackdriver-kubernetes

# Prometheusメトリクスの収集設定
# 以下の内容をpod-monitoring.yamlファイルに保存
# apiVersion: monitoring.googleapis.com/v1
# kind: PodMonitoring
# metadata:
#   name: my-app
#   namespace: default
# spec:
#   selector:
#     matchLabels:
#       app: my-app
#   endpoints:
#   - port: metrics
#     interval: 30s

# 適用
kubectl apply -f pod-monitoring.yaml

Anthosのユースケース

Anthosは以下のようなユースケースに適しています:

Anthosとの統合サービス

Anthosは他のGoogle Cloudサービスと統合して、より強力なソリューションを構築できます:

サービス 統合の利点
Google Kubernetes Engine Google Cloud上でのマネージドKubernetesクラスタの提供
Cloud Build CI/CDパイプラインの自動化とコンテナイメージのビルド
Artifact Registry コンテナイメージの安全な保存と管理
Cloud Monitoring クラスタとアプリケーションの監視
Cloud Logging 集中型ロギングとログ分析
Secret Manager 機密情報の安全な管理
Cloud SQL マネージドデータベースサービスとの統合

Anthosの導入事例

多くの企業がAnthosを採用して、ハイブリッドおよびマルチクラウド戦略を実現しています:

金融サービス業界

小売業界

製造業界

Anthosのベストプラクティス

クラスタ設計のポイント

まとめ

Anthos は、Google Cloud Platformが提供するハイブリッドおよびマルチクラウドアプリケーションプラットフォームです。Kubernetesをベースにしており、オンプレミス環境、Google Cloud、その他のパブリッククラウドにわたって一貫したアプリケーション管理を実現します。

Anthosの主な利点は以下の通りです:

Anthosを効果的に活用するには、適切なクラスタ設計、GitOpsの採用、セキュリティの多層化、包括的なモニタリング戦略が重要です。また、段階的な導入アプローチを取ることで、リスクを最小限に抑えながらハイブリッドおよびマルチクラウド戦略を実現することができます。