ソースイメージに基づく App Runner サービス - AWS App Runner

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

ソースイメージに基づく App Runner サービス

を使用して AWS App Runner 、ソースコードとソースイメージの 2 つの根本的に異なるタイプのサービスソースに基づいてサービスを作成および管理できます。ソースタイプに関係なく、App Runner はサービスの起動、実行、スケーリング、負荷分散を処理します。App Runner の CI/CD 機能を使用して、ソースイメージまたはコードの変更を追跡できます。App Runner は、変更を検出すると、自動的に (ソースコード用) をビルドし、新しいバージョンを App Runner サービスにデプロイします。

この章では、ソースイメージに基づく のサービスについて説明します。ソースコードに基づくサービスの詳細については、「」を参照してくださいソースコードに基づく App Runner サービス

ソースイメージは、イメージリポジトリに保存されているパブリックまたはプライベートコンテナイメージです。App Runner をイメージにポイントすると、このイメージに基づいてコンテナを実行するサービスが開始されます。ビルドステージは必要ありません。むしろ、 ready-to-deploy イメージを提供します。

イメージリポジトリプロバイダー

App Runner は以下のイメージリポジトリプロバイダーをサポートしています。

  • Amazon Elastic Container Registry (Amazon ECR) – プライベートなイメージを に保存します AWS アカウント。

  • Amazon Elastic Container Registry Public (Amazon ECR Public) – パブリックに読み取り可能なイメージを保存します。

AWS アカウントの Amazon ECR に保存されているイメージの使用

Amazon ECR はイメージをリポジトリに保存します。プライベートリポジトリとパブリックリポジトリがあります。プライベートリポジトリから App Runner サービスにイメージをデプロイするには、App Runner に Amazon ECR からイメージを読み取るアクセス許可が必要です。App Runner にそのアクセス許可を付与するには、App Runner にアクセスロール を提供する必要があります。これは、必要な Amazon ECR アクション許可を持つ AWS Identity and Access Management (IAM) ロールです。App Runner コンソールを使用してサービスを作成する場合、アカウント内の既存のロールを選択できます。または、IAM コンソールを使用して新しいカスタムロールを作成することもできます。または、App Runner コンソールで マネージドポリシーに基づいてロールを作成することもできます。

App Runner API または を使用する場合は AWS CLI、2 ステップのプロセスを完了します。まず、IAM コンソールを使用してアクセスロールを作成します。App Runner が提供する管理ポリシーを使用するか、独自のカスタムアクセス許可を入力できます。次に、 CreateService API アクションを使用して、サービスの作成時にアクセスロールを指定します。

App Runner サービスの作成については、「」を参照してくださいApp Runner サービスの作成

別の AWS アカウントの Amazon ECR に保存されているイメージの使用

App Runner サービスを作成するときは、サービスが存在するアカウント以外の AWS アカウントに属する Amazon ECR リポジトリに保存されているイメージを使用できます。クロスアカウントイメージを使用する際には、前のセクションで説明したものに加えて、同じアカウントイメージに関する考慮事項がいくつかあります。

  • クロスアカウントリポジトリには、ポリシーがアタッチされている必要があります。リポジトリポリシーは、リポジトリ内のイメージを読み取るアクセス許可をアクセスロールに提供します。この目的には、次のポリシーを使用します。をアクセスロールの Amazon リソースネーム (ARN) access-role-arnに置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "access-role-arn" }, "Action": [ "ecr:BatchGetImage", "ecr:DescribeImages", "ecr:GetDownloadUrlForLayer" ] } ] }

    リポジトリポリシーを Amazon ECR リポジトリにアタッチする方法については、「Amazon Elastic Container Registry ユーザーガイド」の「リポジトリポリシーステートメントの設定」を参照してください。

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

Amazon ECR Public に保存されているイメージの使用

Amazon ECR Public は、パブリックに読み取り可能なイメージを保存します。App Runner サービスのコンテキストで注意すべき Amazon ECR と Amazon ECR Public の主な違いは次のとおりです。

  • Amazon ECR Public イメージはパブリックに読み取り可能です。Amazon ECR Public イメージに基づいてサービスを作成するときに、アクセスロールを提供する必要はありません。リポジトリにアタッチされたポリシーは必要ありません。

  • App Runner は、Amazon ECR Public イメージの自動 (継続的な) デプロイをサポートしていません。

Amazon ECR Public から直接サービスを起動する

App Runner で実行されているウェブサービスとして、Amazon ECR Public Gallery でホストされている互換性のあるウェブアプリケーションのコンテナイメージを直接起動できます。ギャラリーを参照するときは、ギャラリーページで Launch with App Runner を探してイメージを探します。このオプションを使用するイメージは App Runner と互換性があります。ギャラリーの詳細については、「Amazon ECR Public ユーザーガイド」の「Amazon ECR Public Gallery の使用」を参照してください。

Amazon ECR Public Gallery に、Launch with App Runner ボタンを含むコンテナイメージページが表示される
App Runner サービスとしてギャラリーイメージを起動するには
  1. イメージのギャラリーページで、App Runner で起動 を選択します。

    結果: App Runner コンソールが新しいブラウザタブで開きます。コンソールにはサービスの作成ウィザードが表示され、必要な新しいサービスの詳細のほとんどが事前に入力されています。

  2. コンソールに表示されるリージョン以外の AWS リージョンでサービスを作成する場合は、コンソールヘッダーに表示されるリージョンを選択します。次に、別のリージョンを選択します。

  3. ポート には、イメージアプリケーションがリッスンするポート番号を入力します。通常、イメージのギャラリーページにあります。

  4. オプションで、その他の設定の詳細を変更します。

  5. へ を選択し、設定を確認し、 の作成とデプロイ を選択します。

イメージの例

App Runner チームは、hello-app-runnerサンプルイメージを Amazon ECR Public Gallery に保持します。この例を使用して、イメージベースの App Runner サービスの作成を開始できます。詳細については、「」を参照してくださいhello-app-runner