

AWS App Runner は新規顧客に公開されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[AWS App Runner  可用性の変更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)」を参照してください。

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

# ソースイメージに基づく App Runner サービス
<a name="service-source-image"></a>

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

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

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

**注記**  
コンテナイメージを提供する場合、これらのイメージを定期的に更新してパッチを適用する責任があります。App Runner がインフラストラクチャを管理する間は、提供されたコンテナイメージのセキュリティとup-to-dateステータスを確認する必要があります。詳細については、[AWS App Runner ドキュメント](security-shared-responsibility.md#security-shared-responsibility.patch-images)を参照してください。

## イメージリポジトリプロバイダー
<a name="service-source-image.providers"></a>

App Runner は以下のイメージリポジトリプロバイダーをサポートしています。
+ **Amazon Elastic Container Registry (Amazon ECR)** – プライベートなイメージを に保存します AWS アカウント。
+ **Amazon Elastic Container Registry Public (Amazon ECR Public)** – パブリックに読み取り可能なイメージを保存します。

**Topics**
+ [*AWS アカウントの* Amazon ECR に保存されているイメージの使用](#service-source-image.providers.ecr)
+ [*別の AWS アカウントの* Amazon ECR に保存されているイメージの使用](#service-source-image.providers.ecr-cross)
+ [Amazon ECR Public に保存されているイメージの使用](#service-source-image.providers.ecrpublic)

### *AWS アカウントの* Amazon ECR に保存されているイメージの使用
<a name="service-source-image.providers.ecr"></a>

[Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/) はイメージをリポジトリに保存します。プライベートリポジトリとパブリックリポジトリがあります。プライベートリポジトリから 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](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API アクションを使用して、サービスの作成時にアクセスロールを指定します。

App Runner サービスの作成については、「」を参照してください[App Runner サービスの作成](manage-create.md)。

### *別の AWS アカウントの* Amazon ECR に保存されているイメージの使用
<a name="service-source-image.providers.ecr-cross"></a>

App Runner サービスを作成するときは、サービスが存在するアカウント以外の AWS アカウントに属する Amazon ECR リポジトリに保存されているイメージを使用できます。クロスアカウントイメージを使用する場合は、前のセクションで示したものに加えて、同じアカウントイメージに関する考慮事項がいくつかあります。
+ クロスアカウントリポジトリには、ポリシーがアタッチされている必要があります。リポジトリポリシーは、アクセスロールにリポジトリ内のイメージを読み取るアクセス許可を付与します。この目的には、次のポリシーを使用します。`Princiapal` 要素のロールを、アクセスロールの Amazon リソースネーム (ARN) に置き換えます。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Principal": {"AWS": "arn:aws:iam::123456789012:role/MyApplicationRole"},
        "Action": [
          "ecr:BatchGetImage",
          "ecr:DescribeImages",
          "ecr:GetDownloadUrlForLayer"
          ],
          "Resource": "arn:aws:ecr:{{us-east-1}}:{{111122223333}}:repository/*"
      }
    ]
  }
  ```

------

  リポジトリポリシーを Amazon ECR リポジトリにアタッチする方法については、「Amazon *Elastic Container Registry ユーザーガイド*」の[「リポジトリポリシーステートメントの設定](https://docs.aws.amazon.com/AmazonECR/latest/userguide/set-repository-policy.html)」を参照してください。
+ App Runner は、サービスが存在するアカウントとは異なるアカウントの Amazon ECR イメージの自動デプロイをサポートしていません。

### Amazon ECR Public に保存されているイメージの使用
<a name="service-source-image.providers.ecrpublic"></a>

[Amazon ECR Public](https://docs.aws.amazon.com/AmazonECR/latest/public/) は、パブリックに読み取り可能なイメージを保存します。App Runner サービスのコンテキストで注意すべき Amazon ECR と Amazon ECR Public の主な違いは次のとおりです。
+ Amazon ECR Public イメージはパブリックに読み取り可能です。Amazon ECR Public イメージに基づいてサービスを作成するときに、アクセスロールを提供する必要はありません。リポジトリにアタッチされたポリシーは必要ありません。
+ App Runner は、Amazon ECR Public イメージの自動 (継続的な) デプロイをサポートしていません。

#### Amazon ECR Public から直接サービスを起動する
<a name="service-source-image.providers.ecrpublic.direct"></a>

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

![Launch with App Runner ボタンのあるコンテナイメージページを示す Amazon ECR Public Gallery](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/images/ecr-gallery-image-launch.png)


**App Runner サービスとしてギャラリーイメージを起動するには**

1. イメージのギャラリーページで、**App Runner で起動**を選択します。

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

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

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

1. 必要に応じて、その他の設定の詳細を変更します。

1. **次**へを選択し、設定を確認してから、**作成とデプロイ**を選択します。

## イメージの例
<a name="service-source-image.example"></a>

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