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

このドキュメントでは、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 ロールを付与するよう管理者に依頼してください。

  • アプリケーション管理を有効にする: フォルダの親リソースに対するフォルダ管理者 (roles/resourcemanager.folderAdmin)
  • API を有効にする: ターゲット フォルダに対する Service Usage 管理者 (roles/serviceusage.serviceUsageAdmin)(必要な API と推奨 API を有効にするため)
  • 請求先アカウントを管理プロジェクトにリンクします。
  • ユーザーにアプリケーション中心のロールを付与する: 管理プロジェクトに対するプロジェクト IAM 管理者 (roles/resourcemanager.projectIamAdmin)
  • オブザーバビリティ スコープを構成します。
  • Cloud Hub でアプリケーション レベルとプロジェクト レベルのデータを表示する: アプリ対応フォルダに対する Cloud Hub オペレーター (roles/cloudhub.operator)

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

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

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

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

フォルダでアプリケーション管理を有効にすると、そのフォルダはアプリ対応フォルダと呼ばれ、次の処理が行われます。

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

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

コンソール

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

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

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

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

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

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

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

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

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

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

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

    システムは、フォルダに管理プロジェクトを作成します。

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

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

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

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

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

gcloud

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

    Cloud Shell をアクティブにする

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

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

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

    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 のリストを有効にするには、 Cloud de Confiance by S3NS プロジェクトで API サービスを有効にするの手順に沿って操作します。

管理プロジェクトを作成して必要な 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 を有効にできます。Recommender 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 などのサービスは、アプリケーションのログ、指標、トレースデータが複数のプロジェクトに保存されている場合でも、それらのデータを検出して表示できます。

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

Scope コンポーネント 構成シナリオ 主なアクションと考慮事項
ログスコープ 集約シンクを使用して、組織内のすべてのログを一元化されたログバケットに転送します。
  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. [無効にする] をクリックして、フォルダのアプリケーション管理を無効にします。

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

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

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

次のステップ