Anthos を試す

Google Cloud での Anthos サンプル デプロイ(プレビュー版)は、今すぐプレビューできる Google Cloud Marketplace ソリューションです。GKE クラスタ、サービス メッシュ、複数のマイクロサービスからなるアプリケーションを実際の Anthos ハンズオン環境にデプロイします。このチュートリアルでは、Google Cloud に Anthos をデプロイした架空の銀行を例にして、これらの機能の使い方を紹介します。関心のある Anthos の機能については、銀行の Anthos ストーリーのフォローアップ チュートリアルをご覧ください。

Anthos とそのコンポーネントの詳細については、技術概要をご覧ください。このチュートリアルは、Anthos に精通していることを前提としていませんが、Kubernetes の基本的なコンセプト(クラスタなど)には精通している必要があります。これらのコンセプトに詳しくない場合は、Kubernetes の基本Google Kubernetes Engine(GKE)のドキュメントAnthos Service Mesh 用アプリケーションの準備をご覧ください。

本番環境をインストールする準備ができたら、セットアップ セクションをご覧ください。

このチュートリアルを完了したら、アンケートにご回答ください。

導入への道のり

あなたは Bank of Anthos のプラットフォーム担当リーダーです。Bank of Anthos は、約 10 年前に 2 台のサーバーで決済処理を行う小さな会社としてスタートしました。以来、何千人もの従業員を雇用し、成長し続けるエンジニアリング組織を擁する、成功を収めた民間金融機関に成長しました。Bank of Anthos は現在、ビジネスを拡張したいと考えています。

あなたとチームは、新しいビジネス価値の創出よりもインフラストラクチャの保守に多くの時間と費用を費やしていることに気付きました。数十年にわたって既存のスタックに投資した累積的な経験を積んできましたが、それはこの銀行が拡張するに従って必要とされるグローバル デプロイの規模に対応する適切なテクノロジーでないことはわかっています。

あなたは、Anthos を導入してアプリケーションをモダナイズし、クラウドの移行に成功して拡張の目標を達成しました。

目標

このチュートリアルでは、次のタスクを通じて Anthos の主な機能について学習します。

  • クラスタ、アプリケーション、Anthos コンポーネント(Anthos Service Mesh と Anthos Config Management)を使用して Anthos 環境をデプロイする。

  • Google Cloud Console を使用して、アプリケーションで使用される Anthos クラスタ リソースを確認する。

  • Anthos Service Mesh を使用してアプリケーション サービスを監視する。

費用

Anthos のサンプル デプロイを使用すると、Anthos のサブスクリプションを利用していない限り、料金ページに記載された Google Cloud での Anthos の従量課金制が適用されます。

また、Compute Engine VM やロードバランサの費用など、Anthos のサンプル デプロイの実行中に発生した他の Google Cloud の費用もお客様の負担となります。デプロイの Google Cloud Marketplace ページで、これらすべてのリソースの月額(見積もり)を確認できます。

追加費用の発生を避けるため、チュートリアルを終了した後、またはデプロイを試した後に、クリーンアップすることをおすすめします。Anthos のサンプル デプロイは本番環境での使用を想定していないため、コンポーネントをアップグレードすることはできません。

始める前に

Google Cloud での Anthos サンプルのデプロイでは、既存のリソースなしで新しいプロジェクトを使用する必要があります。

次の追加のプロジェクト要件が適用されます。

  • ターゲット デプロイ プロジェクトとゾーンに十分な割り当て(少なくとも 7 つの vCPU、24.6 GB のメモリ、310 GB のディスク容量、1 つの VPC、2 つのファイアウォール ルール、1 つの Cloud NAT)が必要です。
  • 組織には、クリック デプロイ イメージの使用を明示的に制限するポリシーは設定されていません。

チュートリアルを始める前に:

  1. Google アカウントにログインします。

    Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。

  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    [プロジェクトの選択] ページに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Compute Engine and Service Management API を有効にします。

    API を有効にする

次の手順に沿って、プロジェクトが Anthos サンプル デプロイを実行する要件を満たしていることを確認します。

  1. 新しいプロジェクトで、上部のツールバーにある [Cloud Shell をアクティブにする] アイコン Shell をアクティブにするボタン をクリックして Cloud Shell を起動します。

    Cloud Shell は Google Cloud のインタラクティブなシェル環境であり、ウェブブラウザからプロジェクトやリソースを管理できます。

  2. ターゲット デプロイ ゾーンで Cloud Shell を構成します。次のコマンドで ZONE は置き換えます。

    gcloud config set compute/zone ZONE
    
  3. 次のコマンドを入力して、プロジェクトが必要な要件を満たしていることを確認するスクリプトを実行します。

    curl -sL https://github.com/GoogleCloudPlatform/anthos-sample-deployment/releases/latest/download/asd-prereq-checker.sh | sh -
    

    出力(例):

    Your active configuration is: [cloudshell-4100]
    Checking project my-project-id, region us-central1, zone us-central1-c
    
    PASS: User has permission to create service account with the required IAM policies.
    PASS: Org Policy will allow this deployment.
    PASS: Service Management API is enabled.
    PASS: Anthos Sample Deployment does not already exist.
    PASS: Project ID is valid, does not contain colon.
    PASS: Project has sufficient quota to support this deployment.
    

    PASS でない場合は、トラブルシューティング ガイドをご覧ください。これらのエラーを修正しないと、サンプルをデプロイできない場合があります。

デプロイされるもの

Google Cloud の Anthos サンプル デプロイは、以下のものを含むプロジェクトをプロビジョニングします。

  • Google Cloud で実行されている 1 つの GKE クラスタ: anthos-sample-cluster1

  • クラスタにインストールされている Anthos Service Meshanthos-sample-cluster1 でのサービス メッシュの管理には Anthos Service Mesh を使用します。

  • Anthos Config Management を使用して anthos-sample-cluster1 で構成とセキュリティ ポリシーを管理する方法については、フォローアップ チュートリアルの Anthos を保護するで説明します。

  • クラスタ上で実行される Bank of Anthos アプリケーション。これは、Java、Python、JavaScript などのさまざまなプログラミング言語で記述された多くのマイクロサービスを使用するウェブベースのバンキング アプリです。

  • クラスタの作成後にチュートリアル環境をすぐに開始するための自動タスクを実行する、1 つの Compute Engine インスタンス(仮想マシン): asd-jump-server

  • GKE クラスタと Compute Engine インスタンスのターゲット デプロイ リージョン内のサブネットワークを持つ VPCCloud Router 上の Cloud NAT ゲートウェイと、デプロイのコンポーネントとの間の接続に対するファイアウォール ルール。

Google Cloud で Anthos サンプル デプロイを起動する

Cloud Marketplace を使用して Google Cloud で Anthos サンプル デプロイを起動します。

  1. Google Cloud で Anthos サンプル デプロイを開きます。

    Google Cloud の Anthos サンプル デプロイに移動

  2. 使用する Google Cloud プロジェクトを選択して確認します。これは、始める前にで作成したプロジェクトです。

  3. [LAUNCH] をクリックします。ソリューションで API が有効になっている場合、デプロイの構成画面に進むまでに数分かかることがあります。

  4. [Confirm that all prerequisites have been met] チェックボックスをオンにして、前提条件スクリプトを正常に実行していることを確認します。

  5. (省略可)デプロイの構成画面で、選択したデプロイ名、ゾーン、サービス アカウントを指定します。ただし、初めてデプロイする場合は、新しいサービス アカウントの作成など、提供されているデフォルト値をすべて使用することをおすすめします。

  6. [Deploy] をクリックします。体験版のデプロイには 15 分程度かかることがありますので、待ち時間を気にしないでください。

デプロイの進行中に、Cloud Console は Deployment Manager ビューに変わります。サンプルがデプロイされたら、デプロイ全体を確認できます。1 つの GKE クラスタ(anthos-sample-cluster1)と 1 つの Compute Engine インスタンス(asd-jump-server)を含めて、有効なすべてのリソースのリストが表示されます。

デプロイエラーが発生した場合は、トラブルシューティング ガイドをご覧ください。

Anthos ダッシュボードの使用

Anthos では、クラスタ、サービス、ワークロードなど、すべてのアプリケーション リソースの概要が表示されます。これにより、リソースの概要を一目で確認できます。また、必要に応じて詳細レベルまでドリルダウンできます。デプロイの最上位のダッシュボードを表示するには、Google Cloud Console でプロジェクトの Anthos ダッシュボードに移動します。

Anthos ダッシュボードに移動

以下のように表示されます。

  • [サービス メッシュ] セクションで、9 つのサービスがあることがわかります(ただし、状態を確認するには操作が必要です)。詳細については、チュートリアルの後半で説明します。

  • [クラスタのステータス] セクションで、正常な GKE クラスタが 1 つであることがわかります。

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

Anthos クラスタのリソースを調べる

Anthos の [クラスタ] ページには、Google Cloud 外のクラスタを含めて、Anthos に登録されたプロジェクトのすべてのクラスタが表示されます。Google Kubernetes Engine の [クラスタ] ページを使用して、プロジェクト内のすべてのクラスタを表示することもできます。Anthos の [クラスタ] ページでクラスタとノードの詳細を確認する必要がある場合、GKE ページをドリルダウンできます。

このセクションでは、Bank of Anthos の GKE リソースについて詳しく説明します。

クラスタ管理

  1. Google Cloud Console で、Anthos の [クラスタ] ページに移動します。

    [クラスタ] ページに移動

  2. anthos-sample-cluster1 クラスタをクリックすると、右側のペインにタイプマスター バージョンロケーションなどの基本情報が表示されます。このクラスタでどの Anthos 機能が有効になっているかは、[クラスタの機能] セクションで確認できます。

  3. このクラスタの詳細を表示するには、GKE の [詳細] をクリックします。Google Kubernetes Engine コンソールでクラスタのページが開き、クラスタの現在のすべての設定が表示されます。

  4. Google Kubernetes Engine コンソールで [ノード] タブをクリックして、クラスタ内のすべてのワーカーマシンを表示します。さらにドリルダウンすると、各ノードで実行中のワークロード Pod と、そのノードのリソースの概要(CPU、メモリ、ストレージ)を確認できます。

GKE クラスタとノードの詳細については、GKE のドキュメントをご覧ください。

クラスタ ワークロード

Google Kubernetes Engine コンソールの [ワークロード] ビューには、すべての GKE クラスタで実行されているワークロード(Pod)の集計ビューが表示されます。

GKE クラスタと名前空間のワークロードが表示されます。たとえば、boa 名前空間のワークロードが anthos-sample-cluster1 で実行されています。

Services と Ingress

[Services と Ingress] ビューには、プロジェクトの Service リソースと Ingress リソースが表示されます。Service では一連の Pod がエンドポイントでネットワーク サービスとして公開され、Ingress ではクラスタ内の Service への外部アクセスが管理されます。ただし、Bank of Anthos では銀行へのトラフィックに通常の Kubernetes Ingress ではなく、Istio Ingress ゲートウェイ サービスを使用しています。この場合、Anthos Service Mesh メッシュで、受信トラフィックへの複雑なトラフィック ルーティングを追加できます。このチュートリアルの後半では、サービス メッシュのオブザーバビリティ機能を使用する場合の動作について説明します。

  1. Google Kubernetes Engine コンソールで、[Services と Ingress] ページに移動します。

    [Services と Ingress] ページに移動

  2. Bank of Anthos Ingress ゲートウェイを見つけるには、使用可能なサービスのリストを下にスクロールして、istio-ingressgateway という名前のサービスを探します。

  3. istio-ingressgateway の行の最後にある下矢印をクリックすると、すべての外部エンドポイントを含むサービスの詳細が表示されます。Ingress ゲートウェイでは、アプリケーション サービス メッシュへの受信トラフィックが管理されます。この場合、その詳細情報を使用して銀行のウェブ フロントエンドにアクセスできます。

  4. ポート 80 を使用する istio-ingressgateway 外部エンドポイントをクリックします。これで、Bank of Anthos ウェブ インターフェースを使用できるようになりました。

サービスの監視

Anthos のサービス管理とオブザーバビリティは、Anthos Service Mesh によって提供されます。Anthos Service Mesh は Istio を利用するツールセットで、信頼性の高いサービス メッシュのモニタリングと管理に役立ちます。Anthos Service Mesh の詳細と、マイクロサービスの管理方法については、Anthos Service Mesh のドキュメントをご覧ください。コンテナでのマイクロサービスの使用や実行できる内容で不明な点がある場合は、Anthos Service Mesh 用のアプリケーションの準備をご覧ください。

この例では、サンプル デプロイのクラスタでマイクロサービス ベースの Bank of Anthos サンプル アプリケーションを実行しています。アプリケーションには、クラスタに対する少量の負荷をシミュレートする loadgenerator ユーティリティが含まれているため、ダッシュボードで指標とトラフィックを確認できます。

このセクションでは、Anthos Service Mesh のページを使用して、このアプリケーションのサービスとトラフィックを確認します。

サービス テーブルビューを確認する

  1. Anthos Service Mesh のページに移動します。

    Anthos Service Mesh のページに移動

  2. デフォルトでは、このページにテーブルビューが表示されます。このビューには、システム サービスを含めて、すべてのプロジェクトのマイクロサービスのリストが表示されます。Bank of Anthos サービスのみをフィルタするには、ページの左上にある [名前空間] プルダウンから [boa] を選択します。

テーブルの各行は、Bank of Anthos アプリケーションを構成するサービスの 1 つです。たとえば、frontend サービスでは、アプリケーションのウェブ ユーザー インターフェースをレンダリングし、userservice サービスではユーザー アカウントと認証を管理します。

各サービスの一覧には、そのサービスの最新の指標(エラー率や主要なレイテンシなど)が表示されます。これらの指標は、Anthos でデプロイされたサービスに対してすぐに収集されます。これらの統計情報を表示するためにアプリケーション コードを記述する必要はありません。

このビューからドリルダウンすると、各サービスの詳細が表示されます。たとえば、transactionhistory サービスの詳細を確認するには、次のようにします。

  1. サービスリストの [transactionhistory] をクリックします。サービスの詳細ページに、このサービスで利用可能なすべてのテレメトリーが表示されます。

  2. [transactionhistory] ページの [ナビゲーション] メニューで、[連携サービス] を選択します。サービスに対する受信接続と送信接続の両方を確認できます。開錠された鍵アイコンは、このポートで相互 TLS(mTLS)を使用して暗号化されていないトラフィックが確認されたことを示します。この仕組みについて詳しくは、Anthos を保護するチュートリアルをご覧ください。

Anthos Service Mesh の接続サービスビューのスクリーンショット

サービス トポロジビューを確認する

テーブルビュー以外にも Anthos でサービスをモニタリングする方法があります。トポロジビューでは、サービスとのやり取りを中心に確認できます。

  1. まだ行っていない場合は、ページ上部の戻る矢印をクリックして、サービスの詳細ビューからテーブルビューに戻ります。

  2. ページの右上にある [トポロジ] をクリックして、テーブルビューからワークロード / サービス グラフの表示に切り替えます。凡例からわかるように、グラフにはアプリケーションの Anthos Service Mesh サービスと実装している GKE ワークロードの両方が表示されます。

    Anthos Service Mesh のトポロジビューのスクリーンショット

これで、トポロジグラフを探索できるようになりました。Anthos Service Mesh では、相互に通信しているサービスを自動的に監視し、サービス間の接続の詳細が自動的に表示されます。

  • 項目にマウスポインタを合わせると、各サービスからの送信 QPS などの詳細情報が表示されます。

  • ノードをマウスでドラッグすると、グラフの特定部分が見やすくなります。

  • さらにサービスの詳細を確認するには、サービスノードをクリックします。

  • ワークロード ノードの上にポインタを置いて [展開] をクリックすると、このワークロードで現在実行しているインスタンス数などの詳細情報が表示されます。

Anthos の詳細を調べる

このチュートリアルでは多くの Anthos 機能を紹介してきましたが、このデプロイを使用して Anthos で行うことはまだ多数あります。次のセクションでクリーンアップ手順を行う前に、フォローアップ チュートリアルのいずれかにアクセスして Anthos のハンズオン タスクを試すか、Google Cloud 自体で Anthos サンプル デプロイの探索を続行してください。

その他のチュートリアルを試す:

クリーンアップ

Anthos サンプル デプロイの探索が完了したら、Google Cloud で作成したリソースをクリーンアップして、今後料金が発生しないようにすることができます。以降のセクションでは、リソースを削除または無効にする方法を説明します。

  • オプション 1。プロジェクトを削除できます。これはおすすめの方法です。ただし、プロジェクトを保持する場合は、オプション 2 を使用してデプロイを削除できます。

  • オプション 2。(試験運用版)既存の空のプロジェクトで作業している場合は、このチュートリアルの手順をすべて元に戻して、Deployment を削除することから始めることをおすすめします。

  • オプション 3。(試験運用版)Google Cloud に精通しているか、クラスタに既存のリソースがある場合は、このチュートリアルで作成したリソースを手動でクリーンアップすることをおすすめします。

プロジェクトを削除する(オプション 1)

  1. Cloud Console で [リソースの管理] ページに移動します。

    [リソースの管理] に移動

  2. プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
  3. ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

デプロイを削除する(オプション 2)

このアプローチでは、Deployment Manager を使用して作成内容を元に戻します。デプロイでエラーが発生した場合でも、この方法で元に戻すことができます。

  1. Cloud Console の [ナビゲーション] メニューで、[Deployment Manager] をクリックします。

  2. デプロイを選択し、[削除] をクリックします。

  3. もう一度 [削除] をクリックして確定します。

  4. デプロイでエラーが発生した場合でも、選択して削除できます。

  5. [削除] をクリックしても削除されない場合は、最後の手段として、削除するがリソースは保持する方法を試します。Deployment Manager でリソースを削除できない場合は、これらのリソースをメモして、後で手動で削除する必要があります。

  6. Deployment Manager で削除を完了するまで待ちます。

  7. (一時的な手順)[ナビゲーション] メニューで、[ネットワーク サービス] > [負荷分散] をクリックし、anthos-sample-cluster1 クラスタによって作成された転送ルールを削除します。

  8. (省略可)https://source.cloud.google.com/<project_id> に移動します。名前に config-repo が含まれているリポジトリが存在する場合は、それを削除します。

  9. (省略可)デプロイ時に作成したサービス アカウントとそのすべての IAM ロールを削除します。

手動でクリーンアップを行う(オプション 3)

このアプローチでは、Google Cloud Console からリソースを手動で削除します。

  1. Cloud Console の [ナビゲーション] メニューで、[Kubernetes Engine] をクリックします。

  2. クラスタを選択して [削除] をクリックし、もう一度 [削除] をクリックして確定します。

  3. Cloud Console のナビゲーション メニューで、[Compute Engine] をクリックします。

  4. 踏み台サーバーを選択して、[削除] をクリックし、もう一度 [削除] をクリックして確定します。

  5. オプション 2 のステップ 7 と 8 を行います。

手動クリーンアップ後に再デプロイを計画している場合は、始める前にセクションの説明に従って、すべての要件が満たされていることを確認します。

次のステップ

アンケートに答える

このチュートリアルでの作業が終了したら、アンケートにご回答ください。チュートリアルで発生した問題についてお聞かせください。フィードバック送信のためのアンケートにご協力いただき、感謝します。

ありがとうございます。

Anthos チーム