フォルダ内のアプリケーションの管理

このドキュメントでは、 Cloud de Confiance by S3NSで App Hub アプリケーションを構築、運用、管理するためにアプリ対応フォルダを設定する方法について説明します。App Hub アプリケーションの設定と管理を行うユーザーを対象としています。

概要

Cloud de Confiance by S3NS は、リソースのデプロイと管理にアプリケーション中心のアプローチを提供します。個々のインフラストラクチャ コンポーネントに焦点を当てるのではなく、アプリケーション全体を管理できます。この アプリケーション中心のモデルとそのリソース構成の詳細については、 アプリケーション中心の Google Cloudをご覧ください。

アプリケーション中心のエクスペリエンスの中核となるのは、App Hub アプリケーションです。アプリケーションとは、特定のビジネス機能を提供するために連携するリソースの論理グループです。これらのリソースには次のものがあります。

  • サービス: ロードバランサの転送ルールなど、クライアントに機能を公開するネットワークまたは API インターフェース 。
  • ワークロード: 個別のビジネス機能を実行する バイナリ デプロイを実行するコンピューティング リソース。 マネージド インスタンス グループ(MIG)や Google Kubernetes Engine(GKE)のデプロイなど。

アプリ対応フォルダとは

アプリ対応フォルダとは、 リソース階層内のフォルダで、アプリケーション管理用に特別に構成されたものです。 Cloud de Confiance by S3NS このフォルダ は、アプリケーションのアプリケーション管理境界 として機能し、アプリケーションのメタデータと構成を保存するための 管理プロジェクトが含まれています。フォルダ内の 1 つ以上のプロジェクトで、App Hub アプリケーションを設計、構成、テスト、 検証、デプロイできます。

アプリ対応フォルダを使用すると、次のようにアプリケーション管理を効率化できます。

  • コンポーネントの整理: App Hub 内で定義された関連するサービスとワークロードを 1 つのアプリケーションにグループ化します。
  • 一元的なモニタリングと管理: さまざまなプロジェクトやプロダクトにまたがる個々のコンポーネントを追跡するのではなく、フォルダレベルでアプリケーション全体の健全性とパフォーマンスをモニタリングして管理できます。
  • 管理の簡素化: フォルダをアプリ対応として指定すると、 フォルダレベルの境界が作成され、アプリケーションの作成と 管理が簡素化されます。
  • アプリケーション中心のビューの提供: 個々のリソースからアプリケーション自体に焦点を移し、パフォーマンスの全体像を提供します。

フォルダレベルの境界と、アプリケーション管理境界の プロジェクトとフォルダの比較については、 アプリケーション設定モデルを選択するをご覧ください。

管理プロジェクトの概要

管理プロジェクトは、 Cloud de Confiance アプリ対応フォルダ内のプロジェクトで、 すべてのアプリケーション中心のメタデータの中央リポジトリとして機能します。各フォルダに含めることができる管理プロジェクトは 1 つのみです。管理プロジェクトは、アプリケーション ライブラリと API のためのインフラストラクチャとして機能します。これには、課金、割り当て、アクセス制御が含まれます。 これらの API の詳細については、 管理プロジェクトで API を有効にするをご覧ください。

管理プロジェクトには、次のものを含む完全なアプリケーション モデルが保持されます。

  • App Hub データ: アプリケーションの論理モデル。サービスやワークロードとの関係、オーナーや重要度などのメタデータが含まれます。
  • App Design Center データ: テンプレート、カタログ、スペースなど、新しいアプリケーションの設計とデプロイに使用されるリソース。

管理プロジェクトは、アプリ対応フォルダのリソース階層内でリソースを見つけるのにも役立ちます。管理プロジェクトが削除されると、このアプリケーション モデルデータはすべて完全に失われます。GKE クラスタやロードバランサなどの基盤となるインフラストラクチャはそのまま残りますが、App Hub 内の論理グループは完全に削除されます。

アプリケーション管理用にフォルダを構成する

アプリケーション管理は、新しいフォルダと既存のフォルダの両方で有効にできます。新しく作成した専用フォルダ内でアプリケーション管理をテストすることをおすすめします。これにより、既存の重要なフォルダに適用する前に安全にテストできます。

アプリ対応フォルダ内では、承認されたユーザーが、そのフォルダ内の任意のプロジェクトのワークロードとサービスをアプリケーションに直接集約できます。

次の構造のリソース階層を考えてみましょう。

フォルダ F1 には次の 3 つのアイテムが含まれています。

  • プロジェクト P10 と P11
  • フォルダ F2

フォルダ F2 には次の 2 つのアイテムが含まれています。

  • プロジェクト P20 と P21

フォルダ F1 でアプリケーション管理を有効にすると、複数のフォルダレベルのリソースを含むアプリケーションを作成できます。たとえば、アプリケーションにはプロジェクト P10 と P20 のリソースを含めることができます。

フォルダレベルにまたがるプロジェクト P10 と P20 を含むアプリケーション

フォルダ F2 でのみアプリケーション管理を有効にすると、プロジェクト P10 はアプリケーションの作成に使用できません。プロジェクト P10 でアプリケーションを作成するには、プロジェクト P10 をフォルダ F2 に移動します。

プロジェクト P10 と P20 を含むアプリケーション。ただし、P10 はフォルダ F2 に移動しています

アプリケーション管理戦略を計画する際には、組織構造、チームの責任、リソースを考慮してください。チームとリソースの構成方法は、アプリ対応フォルダの使用方法に直接影響します。

必要なロール

アプリケーションのライフサイクルで特定された責任に基づいて、アプリケーション管理プロセスのさまざまな側面を構成するには、さまざまなロールが必要になります。

アプリ対応フォルダを構成するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

アプリケーション管理を有効にする

アプリケーション管理を使用すると、個々のインフラストラクチャ コンポーネントからアプリケーション全体に焦点を移すことができます。

フォルダでアプリケーション管理を有効にすると、フォルダはアプリ対応フォルダと呼ばれ、次のようになります。

  • プロジェクトが フォルダ内の管理プロジェクトとして定義されます。
  • システムは、管理プロジェクトで必要な API を有効にします。
  • 管理プロジェクトには、有効な API、課金、割り当て、アクセス制御など、アプリケーション データが保存されます。

フォルダでアプリケーション管理を有効にするには、次の操作を行います。

コンソール

  1. アプリ対応フォルダとして構成する フォルダを選択または作成します。 Cloud de Confiance by S3NS 新しいフォルダを作成するには、 フォルダを作成するをご覧ください。

  2. コンソールで、[リソースの管理] ページを開きます。 Cloud de Confiance

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

  3. プロジェクトとフォルダのリストから、構成するフォルダを見つけます。

    フォルダに アプリ対応フォルダ アイコンが表示されている場合、アプリケーション管理はすでに有効になっています。

  4. フォルダの行で、 [Actions] メニューを開き、 [Settings] をクリックします。

    フォルダでアプリケーション管理が有効になっていない場合、[アプリケーション管理] 設定には [有効になっていません ] と表示されます。

  5. [アプリケーション管理を有効にする] で [プロジェクトを作成] をクリックします。

    [管理プロジェクトを作成して必要な API を有効にする] パネルが開きます。

  6. 必要な API のリストを確認します。これらの API は、アプリケーションのライフサイクルを管理します。関連する費用が発生する API の場合は、API 名をクリックして料金の詳細を確認してください。

  7. アプリケーション管理を有効にするには、[プロジェクトを作成して API を有効にする] をクリックします。

    フォルダに管理プロジェクトが作成されます。

  8. 管理プロジェクトのプロジェクト名と ID をメモします。これらの値を使用してアクセス権を付与します。

    または、管理プロジェクト ID を取得するには、次の Google Cloud CLI コマンドを使用します。

    gcloud resource-manager folders describe FOLDER_ID
        --format="value(managementProject.split('/').slice(-1))"
    

    FOLDER_ID は、アプリ対応フォルダの ID に置き換えます。

    詳細については、 プロジェクト名、番号、ID を確認するをご覧ください。

gcloud

  1. コンソールで Cloud Shell をアクティブにします。 Cloud de Confiance

    Cloud Shell をアクティブにする

    コンソールの下部に Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。 Cloud de Confiance Cloud Shell はシェル環境です 。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています 。セッションが初期化されるまで数秒かかることがあります。

  2. 最新バージョンの Google Cloud CLI がインストールされていることを確認します。

    gcloud components update
    
  3. 特定のフォルダでアプリケーション管理を有効にするには、gcloud resource-manager capabilities update コマンドを --enable フラグとともに使用します。

    gcloud resource-manager capabilities update folders/FOLDER_ID/capabilities/app-management \
       --enable
    

    FOLDER_ID は、フォルダの ID に置き換えます。

    このコマンドは、 指定したフォルダでアプリケーション管理機能を有効にし、そのフォルダ内に管理プロジェクトとして機能する新しい Cloud de Confiance by S3NS プロジェクト を自動的にプロビジョニングします。

  4. 必要に応じて、管理プロジェクトで推奨 APIを有効にするには、プロジェクトでサービスを有効にするの手順に沿って操作します。 Cloud de Confiance by S3NS

Terraform

Terraform を使用してフォルダでアプリケーション管理を有効にするには、 リソースを使用します。 例:google_resource_manager_capability

resource "google_folder" "folder" {
  display_name     = "my-folder"
  parent           = "organizations/123456789"
  deletion_protection = false
}
resource "time_sleep" "wait_60s" {
  depends_on = [google_folder.folder]
  create_duration = "60s"
}
resource "google_resource_manager_capability" "capability" {
  value            = true
  parent           = "${google_folder.folder.name}"
  capability_name  = "app-management"
  depends_on = [time_sleep.wait_60s]
}

このコマンドは、指定した フォルダでアプリケーション管理機能を有効にし、その フォルダ内に管理プロジェクトとして機能する新しい Cloud de Confiance プロジェクトを自動的にプロビジョニングします。管理プロジェクトで 推奨 API のリストを有効にするには、 プロジェクトで API サービスを有効にする Cloud de Confiance by S3NS の手順に沿って操作します

管理プロジェクトを作成して必要な API を有効にしたら、App Hub を使用してアプリケーション内の既存のサービスとワークロードをグループ化できます。ただし、他のアプリケーション中心の Google Cloud プロダクトの高度な機能を利用するには、 請求先アカウントを管理プロジェクトにリンクし、 アプリケーション中心のロールをユーザーに付与することを 強くおすすめします。これらの操作 により、ユーザーはアプリケーションのデプロイ プロセスと オペレーションのさまざまな側面を管理できます。これには、さまざまなロールが必要になる場合があります

省略可: 請求先アカウントを管理プロジェクトにリンクする

アプリケーション中心の Google Cloud の高度な機能を使用するには、有効な請求先アカウントを管理プロジェクトにリンクする必要があります。たとえば、リンクされた請求先アカウントは、次の操作に役立ちます。

  • App Hub のリソース割り当てを超えるワークロードを管理する。
  • App Design Center を使用してテンプレートを作成し、アプリケーションをデプロイする。

アプリケーション管理と 有効な API に関連する潜在的な費用の概要については、費用の概要をご覧ください。

有効な請求先アカウントを管理プロジェクトにリンクする手順は次のとおりです。

コンソール

  1. アプリケーション管理に使用する請求先アカウントが存在することを確認します。請求先アカウントを作成するには、 新しいセルフサービスの Cloud 請求先アカウントを作成するをご覧ください。

  2. コンソールで [**お支払い**] ページを開きます。 Cloud de Confiance

    [お支払い] に移動

  3. [マイ プロジェクト] タブで、管理プロジェクトを見つけます。

  4. プロジェクトの行で、 [アクション] メニューを開き、 [お支払い情報を変更] を選択して、Cloud 請求先アカウントを選択します。

プロジェクトの課金を有効にする方法については、 プロジェクトの課金を有効にするをご覧ください。

gcloud

gcloud billing projects link PROJECT_ID \
    --billing-account ACCOUNT_ID

次のように置き換えます。

  • PROJECT_ID: 管理プロジェクトの ID。
  • ACCOUNT_ID: 請求先アカウントの ID。 請求先アカウント ID の形式は 0X0X0X-0X0X0X-0X0X0X です。

管理プロジェクトで自動的に有効になる API に加えて、推奨 API を有効にしてアプリケーションの作成をサポートできます。 推奨 API を確認して、その メリットと関連費用を把握してください。

アプリケーション中心のロールをユーザーに付与する

アプリケーションのライフサイクルにおける責任に応じて、ユーザーにアクセス権を付与できます。さまざまなレベルの アプリケーション アクセス権を付与する方法については、 アプリケーションに権限を付与するをご覧ください。

次の表に、プロジェクト レベルまたはフォルダレベルでさまざまなアプリケーション中心のユーザー責任を付与するための一般的なガイドラインと推奨される IAM ロールを示します。この表には、App Hub と App Design Center でアプリケーションを管理するためのロールと、Cloud Hub でデータを表示するためのロールが含まれています。

これらのロールとその他のプロダクト固有のロールの詳細については、それぞれのドキュメントをご覧ください。

ユーザーの責任 IAM ロール ロールを付与する場所
プラットフォーム管理者

管理プロジェクトの管理者タスクを実行します。

プロジェクト IAM 管理者(roles/resourcemanager.projectIamAdmin 管理プロジェクト
プラットフォーム エンジニア

App Hub と App Design Center の管理者タスクを実行します。

  • App Hub 管理者(roles/apphub.admin
  • App Design Center 管理者(roles/designcenter.admin
管理プロジェクト
アプリケーション デベロッパー

アプリケーションを開発します。

  • App Hub 編集者(roles/apphub.editor
  • App Design Center ユーザー(roles/designcenter.user
管理プロジェクト
SRE、オペレーター、Cloud Hub ユーザー

Cloud Hub でアプリケーション レベルとプロジェクト レベルのデータを表示します。

Cloud Hub オペレーター(roles/cloudhub.operator アプリ対応フォルダ

オブザーバビリティ スコープを構成する

オブザーバビリティ スコープは、 Cloud de Confiance コンソール でテレメトリー データを検索して表示する場所を決定します。各 Cloud de Confiance プロジェクトには、デフォルトのログスコープとトレース スコープを識別する 単一のオブザーバビリティ スコープがあります。 指標データの場合、プロジェクトの指標スコープによって、どこで Cloud de Confiance コンソールがデータを検索するかが決まります。

アプリケーションのすべてのテレメトリー データを表示または分析するには、管理プロジェクトのオブザーバビリティ スコープと指標スコープを構成します。これらのスコープを構成すると、データが複数のプロジェクトに保存されている場合でも、Cloud Hub などのサービスでアプリケーションのログデータ、指標データ、トレースデータを検索して表示できます。

このセクションでは、必要な構成について説明します。詳細な手順については、 アプリケーション モニタリングを設定するをご覧ください。次の表に、必要な構成スコープを示します。

スコープ コンポーネント 構成シナリオ 主な操作と考慮事項
ログスコープ 集約シンクを使用して、組織内のすべてのログを中央のログバケットに転送します。
  1. バケットに保存されているアプリケーション ログのみを含むログビューを作成します。
  2. ログビューを含めるように、管理プロジェクトのデフォルトのログスコープを構成します。
組織レベルの集約シンクがなく、アプリ対応フォルダにネストされたフォルダがない。
  1. アプリケーション ログを管理プロジェクトの _Default ログバケットに転送するように集約シンクを構成します。
  2. _Default という名前のログスコープがデフォルトのログスコープであることを確認します。
集約シンクを使用しない。 管理プロジェクトのデフォルトのログスコープを構成して、アプリケーションのログデータの保存場所を一覧表示します。
指標スコープ 表示する指標データを保存するすべてのプロジェクトを含むアプリ対応フォルダを構成しました。 Google Cloud Observability は、アプリ対応フォルダ内のプロジェクトのリストを指標のスコープ内のプロジェクトのリストと同期しようとします。

アプリ対応フォルダ内のプロジェクト数が指標スコープの割り当てを超えない限り、アプリ対応フォルダでプロジェクトを追加または削除すると、Google Cloud Observability は指標のスコープ内のプロジェクトのリストを最新の状態に保つことができます。
トレース スコープ 複数のプロジェクトにまたがるアプリケーションのトレースデータをモニタリングする。
  1. アプリケーションのトレースデータを保存するプロジェクトを一覧表示するカスタム トレース スコープを管理プロジェクトに作成します。
  2. カスタム トレース スコープをデフォルトのトレース スコープとして設定します。

アプリケーション管理を無効化

フォルダをアプリ対応フォルダとして使用しない場合は、次の手順でアプリケーション管理を無効にします。 Cloud de Confiance

  1. リーエンによってアプリ対応フォルダ内の管理プロジェクトがプロジェクトの削除から保護されている場合は、リーエンを削除する必要があります。詳細については、 リーエンによるプロジェクトの保護をご覧ください。

  2. アプリケーション管理を無効にする Cloud de Confiance by S3NS フォルダを選択します。

  3. コンソールで、[リソースの管理] ページを開きます。 Cloud de Confiance

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

  4. プロジェクトとフォルダのリストで、アプリ対応フォルダを見つけます。

  5. フォルダの行で、 [アクション] メニュー を開き、[設定] をクリックします。

    アプリ対応フォルダ アイコンが付いているフォルダは、アプリケーション管理用に構成されています。

  6. [ Disable] をクリックして、 フォルダのアプリケーション管理を無効にします。

  7. 確認ダイアログで、[無効にする] フィールドに「Disable」と入力します。

  8. アプリケーション管理を無効にする準備ができたら、[無効にする] をクリックします。

フォルダ内の管理プロジェクトが削除されます。API やアクセス制御など、アプリケーション モデル全体も削除されます。

次のステップ