`'Environment'` Manifest で利用可能なすべてのプロパティのリストです。 Copilot Environment の詳細については、[Environment](../concepts/environments.ja.md) のコンセプトページを参照してください。 ???+ note "Environment のサンプル Manifest" === "Basic" ```yaml name: prod type: Environment observability: container_insights: true ``` === "Imported VPC" ```yaml name: imported type: Environment network: vpc: id: 'vpc-12345' subnets: public: - id: 'subnet-11111' - id: 'subnet-22222' private: - id: 'subnet-33333' - id: 'subnet-44444' ``` === "Configured VPC" ```yaml name: qa type: Environment network: vpc: cidr: '10.0.0.0/16' subnets: public: - cidr: '10.0.0.0/24' az: 'us-east-2a' - cidr: '10.0.1.0/24' az: 'us-east-2b' private: - cidr: '10.0.3.0/24' az: 'us-east-2a' - cidr: '10.0.4.0/24' az: 'us-east-2b' ``` === "With public certificates" ```yaml name: prod-pdx type: Environment http: public: # 既存の証明書をパブリックロードバランサーに適用します certificates: - arn:aws:acm:${AWS_REGION}:${AWS_ACCOUNT_ID}:certificate/13245665-cv8f-adf3-j7gd-adf876af95 ``` === "Private" ```yaml name: onprem type: Environment network: vpc: id: 'vpc-12345' subnets: private: - id: 'subnet-11111' - id: 'subnet-22222' - id: 'subnet-33333' - id: 'subnet-44444' http: private: # 既存の証明書をプライベートロードバランサーに適用します。 certificates: - arn:aws:acm:${AWS_REGION}:${AWS_ACCOUNT_ID}:certificate/13245665-cv8f-adf3-j7gd-adf876af95 subnets: ['subnet-11111', 'subnet-22222'] ``` === "Content delivery network" ```yaml name: cloudfront type: Environment cdn: true http: public: ingress: cdn: true ``` `name` String Environment の名前。
`type` String `'Environment'` に設定されている必要があります。
`network` Map network セクションには、既存の VPC をインポートするためのパラメータ、または Copilot で生成された VPC を設定するためのパラメータが含まれています。 network.`vpc` Map vpc セクションには、CIDR 設定やサブネットの設定を行うためのパラメータが含まれています。 network.vpc.`id` String The ID of the VPC to import. This field is mutually exclusive with `cidr`. インポートする VPC の ID。このフィールドは `cidr` とは排他的です。 network.vpc.`cidr` String Copilot が生成した VPC と関連付ける IPv4 CIDR ブロック。このフィールドは `id` とは排他的です。 network.vpc.`subnets` Map VPC にパブリックサブネットとプライベートサブネットを設定します。 例えば、既存の VPC をインポートする場合は、以下のようにします。 ```yaml network: vpc: id: 'vpc-12345' subnets: public: - id: 'subnet-11111' - id: 'subnet-22222' ``` または、Copilot で生成された VPC を構成する場合は、以下のようにします。 ```yaml network: vpc: cidr: '10.0.0.0/16' subnets: public: - cidr: '10.0.0.0/24' az: 'us-east-2a' - cidr: '10.0.1.0/24' az: 'us-east-2b' ``` network.vpc.subnets.`public` Array of Subnets パブリックサブネットに関する設定のリスト。 network.vpc.subnets.`private` Array of Subnets プライベートサブネットに関する設定のリスト。 network.vpc.subnets..`id` String インポートするサブネットの ID。このフィールドは、`cidr` および `az` とは排他的です。 network.vpc.subnets..`cidr` String サブネットに割り当てられた IPv4 CIDR ブロック。このフィールドは `id` とは排他的です。 network.vpc.subnets..`az` String サブネットに割り当てられた可用性ゾーン名です。`az` フィールドはオプションです。デフォルトでは、Availability Zone はアルファベット順に割り当てられます。このフィールドは、`id` とは排他的です。 network.vpc.`security_group` Map Environment のセキュリティグループに関するルール。 ```yaml network: vpc: security_group: ingress: - ip_protocol: tcp ports: 80 cidr: 0.0.0.0/0 ``` network.vpc.security_group.`ingress` Array of Security Group Rules Environment のインバウンドセキュリティグループに関するルールのリスト。 network.vpc.security-group.`egress` Array of Security Group Rules Environment のアウトバウンドセキュリティグループに関するルールのリスト。 network.vpc.security_group..`ip_protocol` String IP プロトコルの名前または番号。 network.vpc.security_group..`ports` String or Integer セキュリティグループルールのポート範囲またはポート番号。 ```yaml ports: 0-65535 ``` または ```yaml ports: 80 ``` network.vpc.security_group..`cidr` String IPv4 アドレスの範囲を CIDR 形式で指定します。 network.vpc.`flow_logs` Boolean or Map 'true' と指定すると、Copilot は VPC フローログを有効にして、 Environment VPC に出入りする IP トラフィックの情報を取得します。 デフォルトの VPC フローログの保持期間は 14 日(2 週間)です。 ```yaml network: vpc: flow_logs: on ``` 保持期間をカスタマイズできます。 ```yaml network: vpc: flow_logs: retention: 30 ``` network.vpc.flow_logs.`retention` String ログイベントを保持する日数です。指定可能な値については、[こちらのページ](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html#cfn-logs-loggroup-retentionindays) を確認してください。
`cdn` Boolean or Map The cdn section contains parameters related to integrating your service with a CloudFront distribution. To enable the CloudFront distribution, specify `cdn: true`. cdn セクションには、CloudFront のディストリビューションと Service の統合に関連するパラメータが含まれています。CloudFront ディストリビューションを有効にするには、`cdn: true` と指定します。 cdn.`certificate` String CloudFront ディストリビューションで HTTPS トラフィックを有効にするための証明書。 CloudFront は、インポートした証明書が `us-east-1` リージョンにあることが必須です。 設定例: ```yaml cdn: certificate: "arn:aws:acm:us-east-1:1234567890:certificate/e5a6e114-b022-45b1-9339-38fbfd6db3e2" ``` cdn.`static_assets` Map 任意項目。CloudFront の静的アセットに関する設定。 cdn.static_assets.`alias` String 静的アセットに使用する追加の HTTPS ドメインエイリアス。 cdn.static_assets.`location` String S3 バケットの DNS ドメイン名。(例: `EXAMPLE-BUCKET.s3.us-west-2.amazonaws.com`) cdn.static_assets.`path` String S3 バケットに転送するリクエストを指定するパスパターン。(例: `static/*`) cdn.`terminate_tls` Boolean CloudFront での TLS ターミネーションを有効化します。
`http` Map http セクションには、[Load Balanced Web Service](./lb-web-service.ja.md) が共有するパブリックロードバランサーと、[Backend Service](./backend-service.ja.md) が共有する内部ロードバランサーを設定するためのパラメーターが含まれています。 http.`public` Map パブリックロードバランサーに関する設定。 http.public.`certificates` Array of Strings [公開されている AWS Certificate Manager の証明書](https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/gs-acm-request-public.html) ARN のリスト。 ロードバランサーにパブリック証明書をアタッチすることで、Load Balanced Web Service をドメイン名と関連付け、HTTPS で到達することができるようになります。[`http.alias`](./lb-web-service.ja.md#http-alias) を使用してサービスを再デプロイする方法の詳細については、[Developing/Domains](../developing/domain.ja.md#%E6%97%A2%E5%AD%98%E3%81%AE%E6%9C%89%E5%8A%B9%E3%81%AA%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B) ガイドを参照してください。 http.public.`access_logs` Boolean or Map [Elastic Load Balancing のアクセスログ](https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-access-logs.html)を有効にします。 `true` を指定した場合、Copilot が S3 バケットを作成し、そこにパブリックロードバランサーがアクセスログを保存するようになります。 ```yaml http: public: access_logs: true ``` ログのプレフィックスをカスタマイズすることができます。 ```yaml http: public: access_logs: prefix: access-logs ``` また、Copilot が作成した S3 バケットを使用するのではなく、自分で作成した S3 バケットを使用することも可能です。 ```yaml http: public: access_logs: bucket_name: my-bucket prefix: access-logs ``` http.public.access_logs.`bucket_name` String アクセスログの保存先となる既存の S3 バケット名。 http.public.access_logs.`prefix` String ログオブジェクトのプレフィックス。 http.public.`ssl_policy` String 任意項目。 パブリックロードバランサーの HTTPS リスナーに対する SSL ポリシーを指定します。 http.public.`ingress` MapModified in [v1.23.0](../../blogs/release-v123.ja.md#move-misplaced-http-fields-in-environment-manifest-backward-compatible) パブリックロードバランサーの通信を制限する Ingress ルール。 http.public.`security_groups` Map パブリックロードバランサーに追加するセキュリティグループの設定。 ```yaml http: public: ingress: cdn: true ``` ???- note " "http.public.ingress" は、以前は "http.public.security_groups.ingress" でした" このフィールドは、 [v1.23.0](../../blogs/release-v123.ja.md). までは、 `http.public.security_groups.ingress` でした。 この変更は、子フィールド [`cdn`](#http-public-ingress-cdn)(当時は唯一の子フィールド)にカスケードされ、以前では、`http.public.security_groups.ingress.restrict_to.cdn` でした。 詳細については、[ブログ記事 v1.23.0](../../blogs/release-v123.ja.md#move-misplaced-http-fields-in-environment-manifest-backward-compatible) を確認してください。 http.public.ingress.`cdn` Boolean[v1.23.0](../../blogs/release-v123.ja.md#move-misplaced-http-fields-in-environment-manifest-backward-compatible) で変更されました パブリックロードバランサーの Ingress トラフィックが CloudFront ディストリビューションから来るように制限するかどうか。 http.public.ingress.`source_ips` Array of Strings パブリックロードバランサーへの Ingress トラフィックをソース IP に制限します。 ```yaml http: public: ingress: source_ips: ["192.0.2.0/24", "198.51.100.10/32"] ``` http.`private` Map 内部ロードバランサーの設定。 http.private.`certificates` Array of Strings [AWS Certificate Manager の証明書](https://docs.aws.amazon.com/ja_jp/acm/latest/userguide/gs.html) ARN のリスト。 ロードバランサーにパブリックまたはプライベート証明書をアタッチすることで、Backend Service をドメイン名と関連付け、HTTPS で到達することができます。[`http.alias`](./backend-service.ja.md#http-alias) を使用して Service を再デプロイする方法の詳細については、[Developing/Domains](../developing/domain.ja.md#%E6%97%A2%E5%AD%98%E3%81%AE%E6%9C%89%E5%8A%B9%E3%81%AA%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B) ガイドを参照してください。 http.private.`subnets` Array of Strings 内部ロードバランサーを配置するサブネット ID。 http.private`ingress` Map[v1.23.0](../../blogs/release-v123.ja.md#move-misplaced-http-fields-in-environment-manifest-backward-compatible) で変更されました 内部ロードバランサーを許可する Ingress ルール。 ```yaml http: private: ingress: vpc: true # VPC 内のトラフィックを内部ロードバランサーで受信できるようにします。 ``` ???- note " "http.private.ingress" は、以前は "http.private.security_groups.ingress" でした" このフィールドは、 [v1.23.0](../../blogs/release-v123.ja.md) までは、 `http.private.security_groups.ingress` でした。 この変更は、子フィールド [`vpc`](#http-private-ingress-vpc)(当時は唯一の子フィールド)にカスケードされ、以前では、`http.private.security_groups.ingress.from_vpc` でした。 詳細については、[ブログ記事 v1.23.0](../../blogs/release-v123.ja.md#move-misplaced-http-fields-in-environment-manifest-backward-compatible) を確認してください。 http.private.ingress.`vpc` Boolean[v1.23.0](../../blogs/release-v123.ja.md#move-misplaced-http-fields-in-environment-manifest-backward-compatible) で変更されました VPC 内から内部ロードバランサーへのトラフィックを有効にするかどうか。 http.private.`ssl_policy` String 任意項目。内部ロードバランサーの HTTPS リスナーに対する SSL ポリシーを指定します。
`observability` Map observability セクションでは、Environment にデプロイされた Service や Job に関するデータを収集する方法を設定します。 observability.`container_insights` Bool Environment の ECS クラスターで [CloudWatch の Container Insights](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) を有効にするかどうか。