`network` Map
`network` セクションは VPC 内の AWS リソースに接続するための設定です。
network.`connect` Bool or Map
Service に対し [Service Connect](../developing/svc-to-svc-communication.ja.md#service-connect) を有効にします。Service 間のトラフィックを負荷分散し、より弾力的にします。デフォルトは `false` です。
Map として利用すると、Service で利用するエイリアスを指定出来ます。エイリアスは Environment 内でユニークである必要があります。
network.connect.`alias` String
Service Connect 経由で公開する Service のカスタム DNS 名です。デフォルトは Service 名です。
network.`vpc` Map
タスクを配置するサブネットとアタッチされるセキュリティグループの設定です。
network.vpc.`placement` String or Map
String として利用する場合、`public` あるいは `private` のどちらかを指定します。デフォルトではタスクはパブリックサブネットに配置されます。
!!! info
Copilot が生成した VPC を利用して `private` サブネットにタスクを配置する場合、Copilot は Environment にインターネット接続用の NAT ゲートウェイを作成します。(価格は[こちら](https://aws.amazon.com/vpc/pricing/)。)あるいは `copilot env init` コマンドで既存の VPC をインポートして利用することや、分離されたワークロード用に VPC エンドポイントが構成された VPC を構成ができます。詳細は、[custom environment resources](../developing/custom-environment-resources.ja.md)を確認してください。
Map として利用する場合、 Copilot が ECS タスクを起動するサブネットを指定します。例:
```yaml
network:
vpc:
placement:
subnets: ["SubnetID1", "SubnetID2"]
```
network.vpc.placement.`subnets` Array of Strings or Map
String のリストとする場合、Copilot が ECS タスクを起動するサブネット ID を指定します。
Map の場合、サブネットをフィルタリングするための名前と値のペアを指定します。フィルタは `AND` で結合され、各フィルタの値は `OR` で結合されることに注意してください。例えば、タグセット `org: bi` と `type: public` を持つサブネットと、タグセット `org: bi` と `type: private` を持つサブネットの両方は、以下の方法でマッチングされることになります。
```yaml
network:
vpc:
placement:
subnets:
from_tags:
org: bi
type:
- public
- private
```
network.vpc.placement.subnets`from_tags` Map of String and String or Array of Strings
Copilot が ECS タスクを起動するサブネットをフィルタリングするためのタグセット。
network.vpc.`security_groups` Array of Strings or Map
タスクに関連する追加のセキュリティグループ ID。
```yaml
network:
vpc:
security_groups: [sg-0001, sg-0002]
```
Copilot にはセキュリティグループが含まれており、Environment 内のコンテナ同士が通信できるようになっています。デフォルトのセキュリティグループを無効にするには、`Map` 形式で以下のように指定します。
```yaml
network:
vpc:
security_groups:
deny_default: true
groups: [sg-0001, sg-0002]
```
network.vpc.security_groups.`from_cfn` String
[CloudFormation スタックエクスポート](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html)の名称。
network.vpc.security_groups.`deny_default` Boolean
Environment 内のすべての Service からの侵入を許可するデフォルトのセキュリティグループを無効化します。
network.vpc.security_groups.`groups` Array of Strings
タスクに関連する追加のセキュリティグループ ID。
network.vpc.security_groups.groups`from_cfn` String
[CloudFormation スタックエクスポート](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html)の名称。