アプリケーションのデプロイ

テンプレートからアプリケーションの下書きを作成したら、アプリケーションをデプロイできます。App Design Center を使用してアプリケーションをデプロイすると、アプリケーションは App Hub に自動的に登録されます。デプロイ プロセスでは、次のことができます。

  • Terraform がインフラストラクチャに加える予定の変更をプレビューします。
  • アプリケーションに必要な Google Cloud リソース API を有効にします。
  • デプロイに関する問題を調査します。
  • テレメトリー データを使用してリソースのパフォーマンスを分析します。
  • テンプレートの改訂版を特定してアプリケーションに適用します。

このドキュメントでは、テンプレート リビジョンをアプリケーションにデプロイ、管理、適用する方法について説明します。

始める前に

アプリ対応フォルダまたは管理プロジェクトに、次のいずれかのロールが必要です。

  • アプリケーション管理者(roles/designcenter.applicationAdmin
  • アプリケーション オペレーター(roles/designcenter.applicationOperator

サービス アカウントを使用してアプリケーションをデプロイするには、次のいずれかが必要です。

  • アプリケーションと基盤となるリソースのデプロイ用に構成した独自のサービス アカウント。詳細については、サービス アカウントにロールを付与するをご覧ください。
  • アプリ対応フォルダに対するプロジェクト IAM 管理者roles/resourcemanager.projectIamAdmin)ロール。このロールを使用すると、デプロイ中に新しいサービス アカウントを作成できます。

アプリケーションのデプロイ

サービス アカウントのオプションを選択して、アプリケーションをデプロイします。アプリケーションをデプロイすると、 Google Cloud リソースが作成され、これらのリソースに関連する料金が発生し始めます。

デザイン キャンバス

  1. ナビゲーション メニューで [アプリケーション] をクリックします。

    [アプリケーション] に移動

  2. 表で、[アプリケーション名] をクリックします。

  3. [アプリケーションの詳細] ページで、詳細を確認し、[編集] をクリックして変更します。

  4. [デプロイ] をクリックします。

  5. 次のいずれかのサービス アカウントを選択して、アプリケーションをデプロイします。

    • サービス アカウントを選択する: [サービス アカウント] フィールドに、既存のサービス アカウントの名前を入力します。サービス アカウントを構成するには、サービス アカウントにロールを付与するをご覧ください。

    • 新しいサービス アカウントを作成する: サービス アカウントに必要なデプロイ ロールを割り当てるために使用されるプロジェクト IAM 管理者roles/resourcemanager.projectIamAdmin)ロールが必要です。

  6. [続行] をクリックします。

  7. Terraform がインフラストラクチャに加える予定の変更をプレビューするには、次の操作を行います。

    1. [プレビュー] をクリックします。

    2. 変更内容を確認し、[コピーして閉じる] をクリックします。プレビューがクリップボードにコピーされます。

    3. プレビューを保存するには、任意のドキュメントに貼り付けて保存します。

  8. [Review APIs] 領域で、アプリケーションに必要な API のリストを確認します。API はデプロイ時に自動的に有効になります。

  9. [デプロイ] をクリックします。デプロイが完了すると、アプリケーションの詳細とデプロイ ステータスが表示されます。

  10. デプロイに問題がある場合は、次の操作を行います。

    1. [アプリケーションの詳細] パネルで、[デプロイ] をクリックします。

    2. エラー メッセージを確認します。

    3. [ログを表示] をクリックして、ビルドの詳細情報を表示します。

  11. デプロイされたアプリケーションを管理するには、アプリケーションの詳細を表示するをご覧ください。

gcloud CLI

  1. デプロイする前に、アプリケーションをプレビューして Terraform コードを表示します。このオペレーションは、完了するまでに数分かかることがあります。次のいずれかを行います。

    • サービス アカウントを自動的に作成するには、次のコマンドを使用します。

      gcloud design-center spaces applications preview APPLICATION \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --create-sa \
      --service-account=SERVICE_ACCOUNT
      
    • 独自のサービス アカウントを使用するには、次のコマンドを使用します。

      gcloud design-center spaces applications preview APPLICATION \
      --project=PROJECT \
      --location=LOCATION \
      --space=SPACE \
      --service-account=SERVICE_ACCOUNT
      

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

    • APPLICATION: アプリケーション ID。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: アプリケーション リージョン。
    • SPACE: スペース ID。
    • SERVICE_ACCOUNT: 次のいずれかを行います。
      • 新しいサービス アカウントを作成するには、サービス アカウントの名前を指定します。
      • 独自のサービス アカウントを使用するには、projects/PROJECT/serviceAccounts/EMAIL_ADDRESS 形式で完全なリソース名を指定します。

    詳細については、gcloud design-center spaces applications preview をご覧ください。

  2. アプリケーションを非同期でデプロイし、完全なオペレーション名をコピーします。次のいずれかを行います。

    • サービス アカウントを自動的に作成するには、次のコマンドを使用します。

       gcloud design-center spaces applications deploy APPLICATION \
       --project=PROJECT \
       --location=LOCATION \
       --space=SPACE \
       --create-sa \
       --service-account=SERVICE_ACCOUNT \
       --async
      
    • 独自のサービス アカウントを使用するには、次のコマンドを使用します。

       gcloud design-center spaces applications deploy APPLICATION \
       --project=PROJECT \
       --location=LOCATION \
       --space=SPACE \
       --service-account=SERVICE_ACCOUNT \
       --async
      

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

    • APPLICATION: アプリケーション ID。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: アプリケーション リージョン。
    • SPACE: スペース ID。
    • SERVICE_ACCOUNT: 次のいずれかを行います。
      • 新しいサービス アカウントを作成するには、サービス アカウントの名前を指定します。
      • 独自のサービス アカウントを使用するには、projects/PROJECT/serviceAccounts/EMAIL_ADDRESS 形式で完全なリソース名を指定します。

    詳細については、gcloud design-center spaces applications deploy をご覧ください。

  3. デプロイが完了するまで数分かかります。デプロイのステータスを追跡します。

    gcloud design-center operations describe OPERATION\
    --project=PROJECT \
    --location=LOCATION
    

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

    • OPERATION: deploy コマンドの出力からコピーしたオペレーションの完全な名前(projects/PROJECT/locations/LOCATION/operations/operation-<var>OPERATION_ID</var> 形式)。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: アプリケーション リージョン。

    詳細については、gcloud design-center operations describe をご覧ください。

アプリケーションの詳細を表示する

アプリケーションのデプロイが完了したら、関連情報を確認できます。たとえば、次のような情報を確認できます。

  • 最終更新日時、改訂日、リージョンなどの詳細。
  • サービス URI などの出力。
  • デプロイのステータス、エラー情報、ログへのリンク。

アプリケーションの詳細を表示する手順は次のとおりです。

デザイン キャンバス

  1. ナビゲーション メニューで [アプリケーション] をクリックします。

    [アプリケーション] に移動

  2. 表で、[アプリケーション名] をクリックします。[アプリケーションの詳細] パネルには、次の情報が表示されます。

    • App Hub でアプリを表示: App Hub でアプリケーションを調査します。デプロイされたリソースを表示し、テレメトリー データを調べて、問題を診断してパフォーマンスを分析できます。詳細については、App Hub アプリケーションをモニタリングするをご覧ください。

    • アプリの詳細: 最終更新日、ソース テンプレート、リージョン、サービス アカウントなどの情報を表示します。

    • 出力: アプリケーションのフロントエンドまたはバックエンドの操作に使用できるサービス URI を特定します。

    • デプロイ: デプロイのステータス、デプロイエラー、ログへのリンクを調べて、エラーをトラブルシューティングします。

gcloud CLI

gcloud design-center spaces applications describe APPLICATION \
--project=PROJECT \
--location=LOCATION \
--space=SPACE

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

  • APPLICATION: アプリケーション ID。
  • PROJECT: 管理プロジェクト ID。
  • LOCATION: アプリケーション リージョン。
  • SPACE: スペース ID。

詳細については、gcloud design-center spaces applications describe をご覧ください。

デプロイされたアプリケーションを変更する

デプロイされたアプリケーションを変更する場合は、次のいずれかを行って、アプリケーションを再デプロイするときに変更が保持されるようにします。

テンプレート リビジョンを適用する

アプリケーションが App Design Center を使用して以前にデプロイされ、管理者がテンプレート リビジョンを共有している場合は、テンプレートの変更をアプリケーションに適用できます。アプリケーションを更新すると、アプリケーション リビジョンが作成されます。変更または追加されたコンポーネントを、改訂されたテンプレートに構成できます。

Cloud Hub を使用して、アプリケーションで使用可能なテンプレート リビジョンを表示できます。詳細については、デプロイを表示するをご覧ください。

テンプレートの変更をアプリケーションに適用する手順は次のとおりです。

デザイン キャンバス

  1. ナビゲーション メニューで [テンプレート] をクリックします。

    [テンプレート] に移動

  2. 適用するリビジョンを含むテンプレート ID をクリックします。

  3. [アプリを構成する] リストから、更新するアプリケーションを選択します。

  4. アプリケーションの詳細を編集し、[保存] をクリックします。

  5. デザイン キャンバスで各コンポーネントをクリックし、コンポーネント構成を変更します。

  6. [デプロイ] をクリックします。デプロイの手順については、アプリケーションをデプロイするをご覧ください。

gcloud CLI

  1. 最新リビジョンのアプリケーション テンプレート リビジョン URI を特定します。

     gcloud design-center spaces application-templates describe APPLICATION_TEMPLATE \
     --project=PROJECT \
     --location=LOCATION \
     --space=SPACE \
     --format='yaml(name,latestRevision)'
    

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

    • APPLICATION_TEMPLATE: アプリケーションのベースとなるアプリケーション テンプレート ID。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: アプリケーション テンプレートのリージョン。
    • SPACE: スペース ID。

    詳細については、gcloud design-center spaces application-templates describe をご覧ください。

  2. latestRevision の出力をコピーします。

  3. アプリケーション テンプレート リビジョンを使用するようにアプリケーションを更新します。

     gcloud design-center spaces applications update APPLICATION \
     --project=PROJECT \
     --location=LOCATION \
     --space=SPACE \
     --source-application-template-revision=SOURCE_APPLICATION_TEMPLATE_REVISION
    

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

    • APPLICATION: アプリケーション ID。
    • PROJECT: 管理プロジェクト ID。
    • LOCATION: アプリケーション リージョン。
    • SPACE: スペース ID。
    • SOURCE_APPLICATION_TEMPLATE_REVISION: アプリケーション テンプレートの URI。例: projects/PROJECT/locations/LOCATION/spaces/SPACE/applicationTemplates/APPLICATION_TEMPLATE/revisions/REVISION

    詳細については、gcloud design-center spaces applications update をご覧ください。

  4. アプリケーションで新しいコンポーネントまたは更新されたコンポーネントを構成するには、コンポーネントと接続を構成するをご覧ください。

  5. アプリケーションをデプロイするときは、--replace フラグを使用します。デプロイ手順については、アプリケーションをデプロイするをご覧ください。