App Runner への新しいアプリケーションバージョンのデプロイ - AWS App Runner

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

App Runner への新しいアプリケーションバージョンのデプロイ

サービスを作成するときは AWS App Runner、コンテナイメージまたはソースリポジトリなどのアプリケーションソースを設定します。App Runner は、サービスを実行するためのリソースをプロビジョニングし、そのリソースにアプリケーションをデプロイします。

このトピックでは、新しいバージョンが利用可能になったときにアプリケーションソースを App Runner サービスに再デプロイする方法について説明します。これは、イメージリポジトリの新しいイメージバージョンでも、コードリポジトリの新しいコミットでもかまいません。App Runner には、自動手動の 2 つの方法でサービスにデプロイできます。

デプロイ方法

App Runner には、アプリケーションのデプロイの開始方法を制御するための以下の方法が用意されています。

自動デプロイ

サービスの継続的な統合とデプロイ (CI/CD) 動作が必要な場合は、自動デプロイを使用します。App Runner は、イメージまたはコードリポジトリの変更をモニタリングします。

イメージリポジトリ – 新しいイメージバージョンをイメージリポジトリにプッシュしたり、コードリポジトリに新しいコミットをプッシュしたりするたびに、App Runner はユーザー側でそれ以上のアクションを行わずに、自動的にそれをサービスにデプロイします。

コードリポジトリソースディレクトリに変更を加えるコードリポジトリに新しいコミットをプッシュするたびに、App Runner はリポジトリ全体をデプロイします。ソースディレクトリの変更のみが自動デプロイをトリガーするため、ソースディレクトリの場所が自動デプロイの範囲にどのように影響するかを理解することが重要です。

  • 最上位ディレクトリ (リポジトリルート) – サービスの作成時にソースディレクトリに設定されたデフォルト値です。ソースディレクトリがこの値に設定されている場合、リポジトリ全体がソースディレクトリ内にあることを意味します。したがって、ソースリポジトリにプッシュするすべてのコミットは、この場合はデプロイをトリガーします。

  • リポジトリルートではないディレクトリパス (デフォルト以外)ソースディレクトリ内でプッシュされた変更のみが自動デプロイをトリガーするため、ソースディレクトリにないリポジトリにプッシュされた変更は自動デプロイをトリガーしません。したがって、手動デプロイを使用して、ソースディレクトリの外部にプッシュする変更をデプロイする必要があります。

注記

App Runner は、Amazon ECR Public イメージ、およびサービスが存在するアカウントとは異なる AWS アカウントに属する Amazon ECR リポジトリ内のイメージの自動デプロイをサポートしていません。

手動デプロイ

サービスへの各デプロイを明示的に開始する場合は、手動デプロイを使用します。サービス用に設定したリポジトリにデプロイする新しいバージョンがある場合は、デプロイを開始します。詳細については、「手動デプロイ」を参照してください。

注記

手動デプロイを実行すると、App Runner は完全なリポジトリからソースをデプロイします。

サービスのデプロイ方法は、次の方法で設定できます。

  • コンソール – 作成している新しいサービスまたは既存のサービスについては、ソースとデプロイ設定ページのデプロイ設定セクションで、手動または自動を選択します。

    App Runner デプロイ方法の設定
  • API または AWS CLICreateService または UpdateService アクションの呼び出しで、手動デプロイFalseの場合は SourceConfiguration パラメータAutoDeploymentsEnabledのメンバーを に設定し、自動デプロイTrueの場合は に設定します。

自動デプロイと手動デプロイの比較

自動デプロイと手動デプロイの両方で同じ結果が得られます。どちらの方法でもリポジトリ全体をデプロイします。

2 つの方法の違いは、トリガーメカニズムです。

  • 手動デプロイは、コンソールからのデプロイ、 の呼び出し AWS CLI、または App Runner API の呼び出しによってトリガーされます。以下の手動デプロイセクションでは、これらの手順について説明します。

  • 自動デプロイは、ソースディレクトリの内容内の変更によってトリガーされます。

手動デプロイ

手動デプロイでは、サービスへの各デプロイを明示的に開始する必要があります。新しいバージョンのアプリケーションイメージまたはコードをデプロイする準備ができたら、以下のセクションを参照して、 コンソールと API を使用してデプロイを実行する方法を学習できます。

注記

手動デプロイを実行すると、App Runner は完全なリポジトリからソースをデプロイします。

次のいずれかの方法を使用して、アプリケーションのバージョンをデプロイします。

App Runner console
App Runner コンソールを使用してデプロイするには
  1. App Runner コンソールを開き、リージョンリストで を選択します AWS リージョン。

  2. ナビゲーションペインで、サービスを選択し、App Runner サービスを選択します。

    コンソールには、サービスダッシュボードにサービスの概要が表示されます。

    アクティビティリストを表示する App Runner サービスダッシュボードページ
  3. [デプロイ] を選択します。

    結果: 新しいバージョンのデプロイが開始されます。サービスダッシュボードページで、サービスのステータス進行中のオペレーションに変わります。

  4. デプロイが終了するのを待ちます。サービスダッシュボードページで、サービスのステータス実行中に戻ります。

  5. デプロイが成功したことを確認するには、サービスダッシュボードページで、デフォルトのドメイン値を選択します。これはサービスのウェブサイトの URL です。ウェブアプリケーションを検査または操作し、バージョンの変更を確認します。

    注記

    App Runner アプリケーションのセキュリティを強化するために、*.awsapprunner.com ドメインはパブリックサフィックスリスト (PSL) に登録されています。セキュリティを強化するために、App Runner アプリケーションのデフォルトドメイン名に機密 Cookie を設定する必要がある場合は、__Host-プレフィックス付きの Cookie を使用することをお勧めします。このプラクティスは、クロスサイトリクエストフォージェリ (CSRF) 攻撃からドメインを防ぐ際に役立ちます。詳細については、Mozilla 開発者ネットワークの「Set-Cookie」ページを参照してください。

App Runner API or AWS CLI

App Runner API または を使用してデプロイするには AWS CLI、StartDeployment API アクションを呼び出します。渡す唯一のパラメータは、サービス ARN です。サービスの作成時にアプリケーションソースの場所を既に設定していると、App Runner は新しいバージョンを見つけることができます。呼び出しが成功したレスポンスを返すと、デプロイが開始されます。