

AWS App Runner は、2026 年 4 月 30 日以降、新規のお客様に公開されなくなります。App Runner を使用する場合は、その日付より前にサインアップします。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[AWS App Runner  可用性の変更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)」を参照してください。

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

# 送信トラフィックの VPC アクセスの有効化
<a name="network-vpc"></a>

デフォルトでは、 AWS App Runner アプリケーションはパブリックエンドポイントにメッセージを送信できます。これには、独自のソリューション AWS のサービス、およびその他のパブリックウェブサイトまたはウェブサービスが含まれます。アプリケーションは、[Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/) (Amazon VPC) から VPC で実行されるアプリケーションのパブリックエンドポイントにメッセージを送信することもできます。環境の起動時に VPC を設定しない場合、App Runner はパブリックであるデフォルトの VPC を使用します。

カスタム VPC で環境を起動して、送信トラフィックのネットワーク設定とセキュリティ設定をカスタマイズできます。 AWS App Runner サービスが Amazon Virtual Private Cloud (Amazon VPC) からプライベート VPC で実行されるアプリケーションにアクセスできるようにします。これを行うと、アプリケーションは に接続し、[Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/) (Amazon VPC) でホストされている他のアプリケーションにメッセージを送信できます。例としては、Amazon RDS データベース、Amazon ElastiCache、およびプライベート VPC でホストされているその他のプライベートサービスがあります。

## VPC コネクタ
<a name="network-vpc.VPC-connector"></a>

VPC Connector と呼ばれる App Runner コンソールから VPC エンドポイントを作成することで、サービスを VPC に関連付けることができます。VPC コネクタを作成するには、VPC、1 つ以上のサブネット、およびオプションで 1 つ以上のセキュリティグループを指定します。VPC Connector を設定したら、1 つ以上の App Runner サービスで使用できます。

### 1 回限りのレイテンシー
<a name="network-vpc.VPC-connector.latency"></a>

アウトバウンドトラフィック用にカスタム VPC コネクタを使用して App Runner サービスを設定すると、1 回限りの起動レイテンシーが 2～5 分になることがあります。起動プロセスは、VPC Connector が他のリソースに接続する準備ができるまで待機してから、サービスステータスを*実行中*に設定します。サービスの作成時にカスタム VPC コネクタを使用してサービスを設定することも、サービスの更新を行って後で設定することもできます。

*同じ* VPC コネクタ設定を別のサービスに再利用する場合、レイテンシーは発生しないことに注意してください。VPC コネクタの設定は、セキュリティグループとサブネットの組み合わせに基づいています。特定の VPC コネクタ設定では、レイテンシーは VPC Connector Hyperplane ENIs (エラスティックネットワークインターフェイス) の初回作成時に 1 回のみ発生します。

### カスタム VPC コネクタと AWS Hyperplane の詳細
<a name="network-vpc.VPC-connector.hyperplane"></a>

App Runner の VPC コネクタは、[Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)、[NAT Gateway](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)、[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/) などの複数の AWS リソースの背後にある内部 Amazon ネットワークシステムである AWS Hyperplane に基づいています。 AWS Hyperplane テクノロジーは、高スループットと低レイテンシーの機能に加えて、より高いレベルの共有を提供します。Hyperplane ENI は、VPC コネクタを作成してサービスに関連付けるときにサブネットに作成されます。VPC コネクタの設定はセキュリティグループとサブネットの組み合わせに基づいており、複数の App Runner サービスで同じ VPC コネクタを参照できます。その結果、基盤となる Hyperplane ENIs は App Runner サービス間で共有されます。この共有は、リクエストの負荷を処理するために必要なタスクの数をスケールアップしても実行可能であり、VPC 内の IP スペースをより効率的に活用できます。詳細については、AWS *コンテナブログ*の「[Deep Dive on AWS App Runner VPC Networking](https://aws.amazon.com/blogs/containers/deep-dive-on-aws-app-runner-vpc-networking/)」を参照してください。

## サブネット
<a name="network-vpc.subnet"></a>

各サブネットは、特定のアベイラビリティーゾーンにあります。高可用性を実現するには、少なくとも 3 つのアベイラビリティーゾーンのサブネットを選択することをお勧めします。リージョンのアベイラビリティーゾーンが 3 つ未満の場合は、サポートされているすべてのアベイラビリティーゾーンでサブネットを選択することをお勧めします。

VPC のサブネットを選択するときは、パブリックサブネットではなくプライベートサブネットを選択してください。これは、VPC コネクタを作成すると、App Runner サービスが各サブネットに Hyperplane ENI を作成するためです。各 Hyperplane ENI にはプライベート IP アドレスのみが割り当てられ、*AWSAppRunnerManaged* キーのタグが付けられます。パブリックサブネットを選択すると、App Runner サービスの実行時にエラーが発生します。ただし、インターネット上の一部のサービスや他のパブリックサービスにアクセスする必要がある場合は AWS のサービス、「」を参照してください[サブネットを選択する際の考慮事項](#network-vpc.considerations-subnet)。

### サブネットを選択する際の考慮事項
<a name="network-vpc.considerations-subnet"></a>
+ サービスを VPC に接続すると、アウトバウンドトラフィックはパブリックインターネットにアクセスできません。アプリケーションからのすべてのアウトバウンドトラフィックは、サービスが接続されている VPC を介して送信されます。VPC のすべてのネットワークルールは、アプリケーションのアウトバウンドトラフィックに適用されます。つまり、サービスはパブリックインターネットと AWS APIs にアクセスできません。アクセスを取得するには、次のいずれかを実行します。
  + [NAT ゲートウェイを介してサブネットをインターネットに接続します。](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)
  + アクセス AWS のサービス する の [VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)を設定します。サービスは、 を使用して Amazon VPC 内にとどまります AWS PrivateLink。
+ の一部のアベイラビリティーゾーンは、App Runner サービスで使用できるサブネットをサポート AWS リージョン していません。これらのアベイラビリティーゾーンでサブネットを選択すると、サービスの作成または更新に失敗します。このような状況では、App Runner はサポートされていないサブネットとアベイラビリティーゾーンを示す詳細なエラーメッセージを提供します。これが発生した場合は、サポートされていないサブネットをリクエストから削除してトラブルシューティングを行い、もう一度試してください。
+ 選択したサブネットはすべて、IPv4 またはデュアルスタックのいずれかの同じ IP アドレスタイプである必要があります。

## セキュリティグループ
<a name="network-vpc.security-group"></a>

オプションで、指定したサブネット AWS で App Runner がアクセスするために使用するセキュリティグループを指定できます。セキュリティグループを指定しない場合、App Runner は VPC のデフォルトのセキュリティグループを使用します。デフォルトのセキュリティグループでは、すべてのアウトバウンドトラフィックを許可します。

セキュリティグループを追加すると、VPC コネクタにセキュリティレイヤーが追加され、ネットワークトラフィックをより詳細に制御できます。VPC Connector は、アプリケーションからのアウトバウンド通信にのみ使用されます。アウトバウンドルールを使用して、目的の送信先エンドポイントへの通信を許可します。また、送信先リソースに関連付けられているセキュリティグループに適切なインバウンドルールがあることを確認する必要があります。それ以外の場合、これらのリソースは VPC Connector セキュリティグループからのトラフィックを受け入れることができません。

**注記**  
サービスを VPC に関連付けると、次のトラフィックは影響を受けません。  
**インバウンドトラフィック** – アプリケーションが受信する受信メッセージは、関連付けられた VPC の影響を受けません。メッセージは、サービスに関連付けられているパブリックドメイン名を介してルーティングされ、VPC とやり取りしません。
**App Runner トラフィック** – App Runner は、ソースコードとイメージのプル、ログのプッシュ、シークレットの取得など、ユーザーに代わっていくつかのアクションを管理します。これらのアクションが生成するトラフィックは、VPC 経由でルーティングされません。

と Amazon VPC AWS App Runner の統合方法の詳細については、[AWS 「App Runner VPC Networking](https://aws.amazon.com/blogs/containers/deep-dive-on-aws-app-runner-vpc-networking/)」を参照してください。

## VPC アクセスの管理
<a name="network-vpc.manage"></a>

**注記**  
サービスのアウトバウンドトラフィック VPC コネクタを作成すると、次のサービス起動プロセスで 1 回限りのレイテンシーが発生します。この設定は、新しいサービスの作成時または作成後にサービスの更新で設定できます。詳細については、このガイド[1 回限りのレイテンシー](#network-vpc.VPC-connector.latency)の*「Networking with App Runner*」の章の「」を参照してください。

次のいずれかの方法を使用して、App Runner サービスの VPC アクセスを管理します。

------
#### [ App Runner console ]

App Runner コンソールを使用して[サービスを作成する](manage-create.md)場合、または[後でその設定を更新する](manage-configure.md)場合は、送信トラフィックの設定を選択できます。コンソールページの**ネットワーク**設定セクションを探します。**送信ネットワークトラフィック**の場合は、以下から を選択します。
+ **パブリックアクセス**: サービスを他の のパブリックエンドポイントに関連付けるには AWS のサービス。
+ **カスタム VPC**: サービスを Amazon VPC の VPC に関連付けるには。アプリケーションは に接続し、Amazon VPC でホストされている他のアプリケーションにメッセージを送信できます。

**カスタム VPC を有効にするには**

1. [App Runner コンソール](https://console.aws.amazon.com/apprunner)を開き、**リージョン**リストで を選択します AWS リージョン。

1.  ******「サービスの設定」の「ネットワーク**」セクションに移動します。  
![\[ネットワークオプションを示す App Runner コンソール設定ページ\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/images/network-vpc-config-network.png)

1. **送信ネットワークトラフィック**の**カスタム VPC** を選択します。

1. ナビゲーションペインで、**VPC コネクタ**を選択します。

   VPC コネクタを作成した場合、コンソールにはアカウント内の VPC コネクタのリストが表示されます。既存の VPC コネクタを選択し、**次へ** を選択して設定を確認できます。次に、最後のステップに進みます。または、次のステップを使用して新しい VPC コネクタを追加することもできます。

1. **新規追加** を選択して、サービスの新しい VPC コネクタを作成します。

   次に、**新しい VPC コネクタの追加**ダイアログボックスが開きます。  
![\[新しい VPC コネクタの追加ダイアログを表示する App Runner コンソール\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/images/network-vpc-add-new.png)

1. VPC コネクタの名前を入力し、使用可能なリストから必要な VPC を選択します。

1. **Subnets** では、App Runner サービスにアクセスする予定のアベイラビリティーゾーンごとに 1 つのサブネットを選択します。可用性を高めるには、3 つのサブネットを選択します。または、サブネットが 3 つ未満の場合は、使用可能なすべてのサブネットを選択します。
**注記**  
VPC コネクタに*プライベート*サブネットを割り当ててください。VPC コネクタにパブリックサブネットを割り当てると、更新中にサービスが自動的に作成またはロールバックされません。
送信トラフィックがデュアルスタックの場合は、選択したすべてのサブネットが VPC コンソールでデュアルスタック用に設定されていることを確認します。

1. (オプション) **セキュリティグループ**で、エンドポイントネットワークインターフェイスに関連付けるセキュリティグループを選択します。

1. (オプション) タグを追加するには、[**新しいタグを追加**] を選択し、そのタグのキーと値を入力してください。

1. **[Add]** (追加) を選択します。

   作成した VPC コネクタの詳細は**、VPC コネクタ**の下に表示されます。

1. **Next** を選択して設定を確認し、**Create and deploy** を選択します。

   App Runner は VPC コネクタリソースを作成し、それをサービスに関連付けます。サービスが正常に作成されると、コンソールにサービスダッシュボードが表示され、新しい**サービスの概要**が表示されます。

------
#### [ App Runner API or AWS CLI ]

[CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) App Runner API アクションを呼び出すときは、 `NetworkConfiguration`パラメータ`EgressConfiguration`のメンバーを使用して、サービスの VPC コネクタリソースを指定します。

次の App Runner API アクションを使用して、VPC Connector リソースを管理します。
+ [CreateVpcConnector](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateVpcConnector.html) – 新しい VPC コネクタを作成します。
+ [ListVpcConnectors](https://docs.aws.amazon.com/apprunner/latest/api/API_ListVpcConnectors.html) – に関連付けられている VPC コネクタのリストを返します AWS アカウント。リストには詳細な説明が含まれています。
+ [DescribeVpcConnector](https://docs.aws.amazon.com/apprunner/latest/api/API_DescribeVpcConnector.html) – VPC コネクタの完全な説明を返します。
+ [DeleteVpcConnector](https://docs.aws.amazon.com/apprunner/latest/api/API_DeleteVpcConnector.html) – VPC コネクタを削除します。の VPC コネクタクォータに達した場合は AWS アカウント、不要な VPC コネクタを削除する必要がある場合があります。

VPC へのアウトバウンドアクセス権を持つアプリケーションを App Runner にデプロイするには、まず VPC Connector を作成する必要があります。これを行うには、アプリケーションに関連付ける 1 つ以上のサブネットとセキュリティグループを指定します。その後、次の例に示すように、CLI を使用して **Create** または **UpdateService** で VPC Connector を参照できます。

```
            cat > vpc-connector.json <<EOF
{
"VpcConnectorName": "my-vpc-connector",
"Subnets": [
"subnet-a",
"subnet-b",
"subnet-c"
],
"SecurityGroups": [
"sg-1",
"sg-2"
]
}
EOF

aws apprunner create-vpc-connector \
--cli-input-json file:///vpc-connector.json

cat > service.json <<EOF

{
"ServiceName": "my-vpc-connected-service",
"SourceConfiguration": {
"ImageRepository": {
"ImageIdentifier": "<ecr-image-identifier> ",
"ImageConfiguration": {
"Port": "8000"
},
"ImageRepositoryType": "ECR"
}
},
"NetworkConfiguration": {
"EgressConfiguration": {
"EgressType": "VPC",
"VpcConnectorArn": "arn:aws:apprunner:..../my-vpc-connector"
}
}
}
EOF

aws apprunner create-service \
--cli-input-json file:///service.js
```

------