

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

# AWS App Runner での の使用 AWS Toolkit for Visual Studio Code
<a name="using-apprunner"></a>

[AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/what-is-apprunner.html) は、ソースコードまたはコンテナイメージから AWS クラウド内のスケーラブルで安全なウェブアプリケーションに直接デプロイするための、高速でシンプルで費用対効果の高い方法を提供します。これを使用すると、新しいテクノロジーを学習したり、使用するコンピューティングサービスを決定したり、 AWS リソースをプロビジョニングして設定する方法を知っている必要はありません。

を使用して AWS App Runner 、*ソースイメージ*または*ソースコード*に基づいてサービスを作成および管理できます。ソースイメージを使用する場合は、イメージリポジトリに保存されているパブリックまたはプライベートコンテナイメージを選択できます。App Runner は以下のイメージリポジトリプロバイダーをサポートしています。
+ Amazon Elastic Container Registry (Amazon ECR): AWS アカウントにプライベートイメージを保存します。
+ Amazon Elastic Container Registry Public (Amazon ECR Public): パブリックに読み取り可能なイメージを保存します。

 ソースコードオプションを選択した場合、サポートされているリポジトリプロバイダーによって管理されているソースコードリポジトリからデプロイできます。現在、App Runner でソースコードリポジトリプロバイダーとしてサポートされているのは、[GitHub](https://github.com/) です。

## 前提条件
<a name="apprunner-prereqs"></a>

を使用して App Runner を操作するには、以下 AWS Toolkit for Visual Studio Code が必要です。
+  AWS アカウント
+  AWS Toolkit for Visual Studio Code その機能のバージョン AWS App Runner

 これらのコア要件に加えて、関連するすべての IAM ユーザーが App Runner サービスを操作するアクセス許可を持っている必要があります。また、コンテナイメージの URI や GitHub リポジトリへの接続など、サービスソースに関する特定の情報を取得する必要があります。この情報は、App Runner サービスを作成するときに必要です。

### App Runner の IAM アクセス許可の設定
<a name="app-runner-permissions"></a>

App Runner に必要なアクセス許可を付与する最も簡単な方法は、既存の AWS 管理ポリシーを関連する AWS Identity and Access Management (IAM) エンティティ、特にユーザーまたはグループにアタッチすることです。App Runner には、IAM ユーザーにアタッチできる 2 つのマネージドポリシーが用意されています。
+ `AWSAppRunnerFullAccess`: ユーザーがすべての App Runner アクションを実行できるようにします。
+ `AWSAppRunnerReadOnlyAccess`: App Runner リソースの詳細をリストおよび表示できます。

また、サービスソースとして Amazon Elastic Container Registry (Amazon ECR) からプライベートリポジトリを選択した場合は、App Runner サービス用に次のアクセスロールを作成する必要があります。
+ `AWSAppRunnerServicePolicyForECRAccess`: アプリランナーは、アカウント内の Amazon Elastic Container Registry (Amazon ECR) イメージにアクセスできるようにします。

VS Codeの**コマンドパレット**でサービスインスタンスを設定するときに、このロールを自動的に作成できます。

**注記**  
**AWSServiceRoleForAppRunner** サービスにリンクされたロールにより AWS App Runner 、 は次のタスクを完了できます。  
Amazon CloudWatch Logs Logs ロググループにログをプッシュします。
Amazon CloudWatch Events ルールを作成して、Amazon Elastic Container Registry (Amazon ECR) イメージプッシュを購読します。
サービスにリンクされたロールを手動で作成する必要はありません。 AWS App Runner で、 AWS マネジメントコンソール または によって呼び出される API オペレーションを使用して を作成すると AWS Toolkit for Visual Studio Code、 はこのサービスにリンクされたロールを自動的に AWS App Runner 作成します。

詳細については、AWS App Runner デベロッパーガイドの「[App Runner の Identity and Access Management](https://docs.aws.amazon.com/apprunner/latest/dg/security-iam.html)」を参照してください。

### App Runner のサービスソースの取得
<a name="app-runner-sources"></a>

 AWS App Runner を使用して、ソースイメージまたはソースコードからサービスをデプロイできます。

------
#### [ Source image ]

ソースイメージからデプロイする場合は、プライベートまたはパブリックイメージレジストリからその AWS イメージのリポジトリへのリンクを取得できます。
+ Amazon ECR プライベートレジストリ: Amazon ECR コンソール ([https://console.aws.amazon.com/ecr/repositories](https://console.aws.amazon.com/ecr/repositories)) を使用するプライベートリポジトリの URI をコピーします。
+ Amazon ECR パブリックレジストリ: Amazon ECR Public Gallery ([https://gallery.ecr.aws/](https://gallery.ecr.aws)) を使用するパブリックリポジトリの URI をコピーします。

**注記**  
プライベート Amazon ECR リポジトリの URI を Toolkit for VS Code の **AWS Explorer** から直接取得するには、次の手順を実行します。  
**AWS Explorer** を開き、**ECR** ノードを展開して、その AWS リージョンのリポジトリのリストを表示します。
リポジトリを右クリックし、**[Copy Repository URI]** (リポジトリ URI をコピー) を選択して、リンクをクリップボードにコピーします。

イメージリポジトリの URI は、VS Code の **コマンドパレット** でサービスインスタンスを設定するときに指定します。

詳細については、「*AWS App Runner デベロッパーガイド*」の「[ソースイメージに基づいた App Runner サービス](https://docs.aws.amazon.com/apprunner/latest/dg/service-source-image.html)」を参照してください。

------
#### [ Source code ]

ソースコードを AWS App Runner サービスにデプロイするには、そのコードを、サポートされているリポジトリプロバイダーによって管理されている Git リポジトリに保存する必要があります。App Runner でソースコードリポジトリプロバイダーとしてサポートされているのは、[GitHub](https://github.com/) です。

GitHub リポジトリの設定については、GitHub の[入門ガイドドキュメント](https://docs.github.com/en/github/getting-started-with-github)を参照してください。

GitHub リポジトリから App Runner サービスにソースコードをデプロイする場合、App Runner は GitHub への接続を確立します。リポジトリがプライベートである (つまり GitHub でパブリックにアクセスできない) 場合は、App Runner に接続の詳細情報を指定する必要があります。

**重要**  
GitHub 接続を作成するには、App Runner コンソール ([https://console.aws.amazon.com/apprunner](https://console.aws.amazon.com/apprunner)) を使用して、GitHub から AWSへリンクする接続を作成する必要があります。VS Code の**コマンドパレット**を使用してサービスインスタンスを設定する場合は、[**GitHub connections**] (GitHub 接続) ページで使用可能な接続を選択します。  
詳細については、「*AWS App Runner デベロッパーガイド*」の「[App Runner 接続の管理](https://docs.aws.amazon.com/apprunner/latest/dg/manage-connections.html)」を参照してください。

App Runner サービスインスタンスは、コードの構築と実行を許可するマネージドランタイムを提供します。 AWS App Runner は現在、次のランタイムをサポートしています。
+ Python マネージドランタイム 
+ Node.js マネージランタイム

サービス設定の一環として、App Runner サービスがサービスをビルドして開始する方法に関する情報を指定します。この情報は、**[Command Palette]** (コマンドパレット) を使用して入力するか、YAML 形式の [App Runner 設定ファイル](https://docs.aws.amazon.com/apprunner/latest/dg/config-file.html)を指定します。このファイルの値は、App Runner にサービスを構築して開始し、ランタイムコンテキストを提供する方法を指示します。これには、関連するネットワーク設定と環境変数が含まれます。 設定ファイルの名前は `apprunner.yaml` です。設定ファイルは、アプリケーションのリポジトリのルートディレクトリに自動的に追加されます。

 

------

## 料金
<a name="app-runner-pricing"></a>

アプリケーションが使用するコンピューティングリソースとメモリリソースに対して課金されます。また、デプロイを自動化する場合は、1 か月間のすべての自動デプロイを提供する各アプリケーションに対して設定された月額料金も支払います。ソースコードからデプロイする場合は、App Runner がソースコードからコンテナをビルドするのにかかる時間に対して、ビルド料金を追加で支払います。

詳細については、[AWS App Runner の料金](https://aws.amazon.com/apprunner/pricing/)を参照してください。

**Topics**
+ [前提条件](#apprunner-prereqs)
+ [料金](#app-runner-pricing)
+ [App Runner サービスの作成](creating-service-apprunner.md)
+ [App Runner サービスの管理](managing-service-apprunner.md)

# App Runner サービスの作成
<a name="creating-service-apprunner"></a>

Toolkit for VS Code で App Runner サービスを作成するには、**AWS Explorer** および VS Code の **コマンドパレット** を使用します。特定の AWS リージョンでサービスを作成することを選択すると、 **コマンドパレット**によって提供される番号付きステップによって、アプリケーションが実行されるサービスインスタンスを設定するプロセスが案内されます。

App Runner サービスを作成する前に、[前提条件](using-apprunner.md#apprunner-prereqs) を満たしてください。これには、関連する IAM 権限の提供と、デプロイする特定のソースリポジトリの確認が含まれます。<a name="create-service"></a>

# App Runner サービスを作成するには
<a name="create-service"></a>

1. Explorer がまだ開いていない場合は AWS 、開きます。

1. **App Runner** ノードを右クリックして、**[Create Service]** (サービスの作成) を選択します。

   **コマンドパレット** ディスプレイ。

1. **[Select a source code location type]** (ソースコードの場所タイプを選択する) では、**[ECR]** または **[Repository]** (リポジトリ) を選択します。

   **[ECR]** を選択した場合は、Amazon Elastic Container Registry が管理するリポジトリ内のコンテナイメージを指定します。**[Repository]** (リポジトリ) を選択した場合は、サポートされているリポジトリプロバイダーが管理するソースコードリポジトリを指定します。現在、App Runner でソースコードリポジトリプロバイダーとしてサポートされているのは、[GitHub](https://github.com/) です。

## ECR からのデプロイ
<a name="deploying-from-ECR"></a>

1. **[Select or enter an image repository]** (イメージリポジトリを選択または入力する) では、Amazon ECR プライベートレジストリまたは Amazon ECR Public Gallery によって管理されるイメージリポジトリの URL を選択または入力します。
**注記**  
Amazon ECR Public Gallery からリポジトリを指定する場合は、App Runner が ECR パブリックリポジトリ内のイメージの自動デプロイをサポートしていないため、自動デプロイがオフになっていることを確認してください。  
自動デプロイはデフォルトでオフになっています。この場合、**コマンドパレット**ヘッダーのアイコンには斜線が表示されます。自動デプロイをオンにすると、このオプションには追加料金がかかることを示すメッセージが表示されます。

1. **コマンドパレット**のステップに **No tags found (タグが見つかりません)** と報告された場合は、タグ付けされたコンテナイメージを含むリポジトリを選択するステップに戻る必要があります。

1. Amazon ECR プライベートレジストリを使用する場合は、ECR アクセスロール (**[AppRunnerECRAccessRole]**) が必要です。このロールによって、App Runner はアカウント内の Amazon Elastic Container Registry (Amazon ECR) イメージにアクセスできます。**コマンドパレット**ヘッダーの「\$1」アイコンを選択して、このロールを自動的に作成します。(イメージが一般公開されている Amazon ECR Public にイメージが保存されている場合は、アクセスロールは必要ありません)。

1. **[Port]** (ポート) には、サービスが使用する IP ポートを入力します (例: ポート `8000`)。

1. **[Configure environment variables]** (環境変数の設定) では、サービスインスタンスの動作のカスタマイズに使用する環境変数を記述したファイルを指定できます。このステップはスキップすることもできます。

1. **[Name your service]** (サービスの名前) では、一意の名前 (スペースは使用できません) を入力し、Enter を押します。

1. **[Select instance configuration]** (インスタンス設定の選択) では、サービスインスタンスの CPU ユニット数とメモリ (GB) を選択します。

   サービスの作成時に、そのステータスは [Creating] (作成中) から [Running] (実行中) に変わります。

1.  サービスの実行が開始されたら、サービスを右クリックし、**[Copy Service URL]** (サービス URL のコピー) を選択します。

1. デプロイ済みのアプリケーションにアクセスするには、コピーした URL をウェブブラウザのアドレスバーに貼り付けます。

## リモートリポジトリからのデプロイ
<a name="deploying-from-repository"></a>

1.  **「接続を選択する**」で、GitHub をリンクする接続を選択します AWS。選択可能な接続は、App Runner コンソールの **[GitHub connections]** (GitHub 接続) ページに表示されます。

1.  **[Select a remote GitHub repository]** (リモート GitHub リポジトリの選択) では、リモートリポジトリの URL を選択または入力します。

    Visual Studio Code のソース管理管理 (SCM) で既に構成されているリモートリポジトリを選択できます。リストにない場合は、リポジトリへのリンクを貼り付けることもできます。

1. **[Select a branch]** (ブランチの選択) では、デプロイするソースコードの Git ブランチを選択します。

1. **[Choose configuration source]** (設定ソースの選択) では、ランタイム設定の定義方法を指定します。

   **[Use configuration file]** (設定ファイルを使用) を選択すると、サービスインスタンスは `apprunner.yaml` 設定ファイルで定義された設定を使用します。このファイルは、アプリケーションのリポジトリのルートディレクトリにあります。

   **[Configure all settings here]** (ここですべて設定する) を選択した場合は、**[コマンドペイン]**を使用して、以下の項目を指定します。
   + **[Runtime]** (ランタイム): **[Python 3]** または **[Nodejs 12]** を選択します。
   + **[Build command]** (ビルドコマンド): サービスインスタンスのランタイム環境でアプリケーションをビルドするコマンドを入力します。
   + **[Start command]** (開始コマンド): サービスインスタンスのランタイム環境でアプリケーションを開始するコマンドを入力します。

1. **[Port]** (ポート) には、サービスが使用する IP ポートを入力します (例: ポート `8000`)。

1. **[Configure environment variables]** (環境変数の設定) では、サービスインスタンスの動作のカスタマイズに使用する環境変数を記述したファイルを指定できます。このステップはスキップすることもできます。

1. **[Name your service]** (サービスの名前) では、一意の名前 (スペースは使用できません) を入力し、Enter を押します。

1. **[Select instance configuration]** (インスタンス設定の選択) では、サービスインスタンスの CPU ユニット数とメモリ (GB) を選択します。

   サービスの作成時に、そのステータスは [Creating] (作成中) から [Running] (実行中) に変わります。

1. サービスの実行が開始されたら、サービスを右クリックし、**[Copy Service URL]** (サービス URL のコピー) を選択します。

1. デプロイ済みのアプリケーションにアクセスするには、コピーした URL をウェブブラウザのアドレスバーに貼り付けます。

**注記**  
App Runner サービスの作成に失敗すると、Explorer でのサービスのステータス表示が **[Create failed]** (作成に失敗しました) になります。トラブルシューティングのヒントについては、*App Runner デベロッパーガイド* の「[サービスの作成に失敗した場合](https://docs.aws.amazon.com/apprunner/latest/dg/manage-create.html#manage-create.failure)」を参照してください。

# App Runner サービスの管理
<a name="managing-service-apprunner"></a>

App Runner サービスを作成したら、 AWS Explorer ペインを使用して以下のアクティビティを実行して管理できます。
+ [App Runner サービスの一時停止と再開](#pause-resume-apprunner)
+ [App Runner サービスの展開](#deploying-apprunner)
+ [App Runner のログストリームの表示](#viewing-logs-apprunner)
+ [App Runner サービスの削除](#deleting-apprunner)

## App Runner サービスの一時停止と再開
<a name="pause-resume-apprunner"></a>

ウェブアプリケーションを一時的に無効にしてコードの実行を停止する必要がある場合は、 AWS App Runner サービスを一時停止できます。App Runner は、サービスのコンピューティング容量をゼロに削減します。アプリケーションを再度実行する準備ができたら、App Runner サービスを再開します。App Runner は、新しいコンピューティングキャパシティをプロビジョニングし、アプリケーションをデプロイして、アプリケーションを実行します。

**重要**  
App Runner が稼働しているときにのみ課金されます。したがって、コストを管理するために、必要に応じてアプリケーションを一時停止および再開できます。これは、開発およびテストシナリオで特に役立ちます。<a name="pause-app-runner"></a>

## App Runner サービスを一時停止するには
<a name="pause-app-runner"></a>

1. Explorer がまだ開いていない場合は AWS 、開きます。

1. **[App Runner]** を展開して、サービスのリストを表示します。

1. サービスを右クリックし、**[Pause]** (一時停止) を選択します。

1. 表示されるダイアログボックスで、**[Confirm]** (確認) を選択します。

   サービスが一時停止している間に、サービスのステータスは **[Running]** (実行中) から **[Pausing]** (一時停止中) に変わり、その後 **[Paused]** (一時停止) に変わります。<a name="pause-app-runner"></a>

## App Runner サービスを再開するには
<a name="pause-app-runner"></a>

1. Explorer がまだ開いていない場合は AWS 、開きます。

1. **[App Runner]** を展開して、サービスのリストを表示します。

1. サービスを右クリックし、**[Resume]** (再開) を選択します。

   サービスが再開している間に、サービスのステータスは **[Resuming]** (再開中) から **[Running]** (実行中) に変わります。

## App Runner サービスの展開
<a name="deploying-apprunner"></a>

サービスの手動デプロイオプションを選択した場合は、サービスへの各デプロイを明示的に開始する必要があります。<a name="deploy-app-runner"></a>

1. Explorer がまだ開いていない場合は AWS 、開きます。

1. **[App Runner]** を展開して、サービスのリストを表示します。

1. サービスを右クリックし、**[Start Deployment]** (デプロイの開始) を選択します。

1. アプリケーションがデプロイされている間に、サービスのステータスは [**[Deploying]** (デプロイ中) から **[Running]** (実行中) に変わります。

1. アプリケーションが正常にデプロイされたことを確認するには、同じサービスを右クリックし、**[Copy Service URL]** (サービス URL のコピー) を選択します。

1. デプロイされたウェブアプリケーションにアクセスするには、コピーした URL をウェブブラウザのアドレスバーに貼り付けます。

## App Runner のログストリームの表示
<a name="viewing-logs-apprunner"></a>

CloudWatch Logs を使用して、App Runner などのサービスのログストリームをモニタリング、保存、およびアクセスできます。ログストリームは、同じソースを共有する一連のログイベントです。<a name="view-logs-apprunner"></a>

1. **App Runner** を展開して、サービスインスタンスのリストを表示します。

1. 特定のサービスインスタンスを展開して、ロググループのリストを表示します。ロググループは、保持、監視、アクセス制御について同じ設定を共有するログストリームのグループです。

1. ロググループを右クリックし、**[View Log Streams]** (ログストリームの表示) を選択します。

1. **コマンドパレット** から、グループからログストリームを選択します。

   VS Code エディタには、ストリームを構成するログイベントのリストが表示されます。古いイベントまたは新しいイベントをエディタにロードするかを選択できます。

## App Runner サービスの削除
<a name="deleting-apprunner"></a>

**重要**  
App Runner サービスを削除すると、そのサービスは完全に削除され、保存されたデータは削除されます。サービスを再作成する必要がある場合は、App Runner がソースを再度取得し、コードリポジトリの場合はビルドする必要があります。ウェブアプリケーションは、新しい App Runner ドメインを取得します。<a name="delete-app-runner"></a>

1. Explorer がまだ開いていない場合は AWS 、開きます。

1. **[App Runner]** を展開して、サービスのリストを表示します。

1. サービスを右クリックし、**[Delete Service]** (サービスの削除) を選択します。

1. **コマンドパレット** で、*[削除]* を入力し、**[入力]** を押して確認します。

   削除されるサービスのステータスには、**[Deleting]** (削除中) が表示され、その後このサービスはリストから削除されます。