Environment
'Environment'
Manifest で利用可能なすべてのプロパティのリストです。
Copilot Environment の詳細については、Environment のコンセプトページを参照してください。
Environment のサンプル Manifest
name: prod
type: Environment
observability:
container_insights: true
name: imported
type: Environment
network:
vpc:
id: 'vpc-12345'
subnets:
public:
- id: 'subnet-11111'
- id: 'subnet-22222'
private:
- id: 'subnet-33333'
- id: 'subnet-44444'
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'
name: prod-pdx
type: Environment
http:
public: # 既存の証明書をパブリックロードバランサーに適用します
certificates:
- arn:aws:acm:${AWS_REGION}:${AWS_ACCOUNT_ID}:certificate/13245665-cv8f-adf3-j7gd-adf876af95
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']
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 をインポートする場合は、以下のようにします。
network:
vpc:
id: 'vpc-12345'
subnets:
public:
- id: 'subnet-11111'
- id: 'subnet-22222'
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.<type>.id
String
インポートするサブネットの ID。このフィールドは、cidr
および az
とは排他的です。
network.vpc.subnets.<type>.cidr
String
サブネットに割り当てられた IPv4 CIDR ブロック。このフィールドは id
とは排他的です。
network.vpc.subnets.<type>.az
String
サブネットに割り当てられた可用性ゾーン名です。az
フィールドはオプションです。デフォルトでは、Availability Zone はアルファベット順に割り当てられます。このフィールドは、id
とは排他的です。
network.vpc.security_group
Map
Environment のセキュリティグループに関するルール。
network:
vpc:
security_group:
ingress:
- ip_protocol: tcp
ports: 80
cidr: 0.0.0.0/0
ingress
Array of Security Group Rules Environment のインバウンドセキュリティグループに関するルールのリスト。
network.vpc.security_group.egress
Array of Security Group Rules
Environment のアウトバウンドセキュリティグループに関するルールのリスト。
network.vpc.security_group.<type>.ip_protocol
String
IP プロトコルの名前または番号。
network.vpc.security_group.<type>.ports
String or Integer
セキュリティグループルールのポート範囲またはポート番号。
ports: 0-65535
または
ports: 80
network.vpc.security_group.<type>.cidr
String
IPv4 アドレスの範囲を CIDR 形式で指定します。
network.vpc.flow_logs
Boolean or Map
'true' と指定すると、Copilot は VPC フローログを有効にして、 Environment VPC に出入りする IP トラフィックの情報を取得します。
デフォルトの VPC フローログの保持期間は 14 日(2 週間)です。
network:
vpc:
flow_logs: on
network:
vpc:
flow_logs:
retention: 30
retention
String
ログイベントを保持する日数です。指定可能な値については、こちらのページ を確認してください。
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
リージョンにあることが必須です。
設定例:
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 が共有するパブリックロードバランサーと、Backend Service が共有する内部ロードバランサーを設定するためのパラメーターが含まれています。
http.public
Map
パブリックロードバランサーに関する設定。
http.public.certificates
Array of Strings
公開されている AWS Certificate Manager の証明書 ARN のリスト。
ロードバランサーにパブリック証明書をアタッチすることで、Load Balanced Web Service をドメイン名と関連付け、HTTPS で到達することができるようになります。http.alias
を使用してサービスを再デプロイする方法の詳細については、Developing/Domains ガイドを参照してください。
http.public.access_logs
Boolean or Map
Elastic Load Balancing のアクセスログを有効にします。
true
を指定した場合、Copilot が S3 バケットを作成し、そこにパブリックロードバランサーがアクセスログを保存するようになります。
http:
public:
access_logs: true
http:
public:
access_logs:
prefix: access-logs
また、Copilot が作成した S3 バケットを使用するのではなく、自分で作成した S3 バケットを使用することも可能です。
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
パブリックロードバランサーの通信を制限する Ingress ルール。
http.public.security_groups
Map
パブリックロードバランサーに追加するセキュリティグループの設定。
http:
public:
ingress:
cdn: true
"http.public.ingress" は、以前は "http.public.security_groups.ingress" でした
このフィールドは、 v1.23.0. までは、 http.public.security_groups.ingress
でした。
この変更は、子フィールド cdn
(当時は唯一の子フィールド)にカスケードされ、以前では、http.public.security_groups.ingress.restrict_to.cdn
でした。
詳細については、ブログ記事 v1.23.0 を確認してください。
http.public.ingress.cdn
Booleanv1.23.0 で変更されました
パブリックロードバランサーの Ingress トラフィックが CloudFront ディストリビューションから来るように制限するかどうか。
http.public.ingress.source_ips
Array of Strings
パブリックロードバランサーへの Ingress トラフィックをソース IP に制限します。
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 の証明書 ARN のリスト。
ロードバランサーにパブリックまたはプライベート証明書をアタッチすることで、Backend Service をドメイン名と関連付け、HTTPS で到達することができます。http.alias
を使用して Service を再デプロイする方法の詳細については、Developing/Domains ガイドを参照してください。
http.private.subnets
Array of Strings
内部ロードバランサーを配置するサブネット ID。
http.private.ingress
Mapv1.23.0 で変更されました
内部ロードバランサーを許可する Ingress ルール。
http:
private:
ingress:
vpc: true # VPC 内のトラフィックを内部ロードバランサーで受信できるようにします。
"http.private.ingress" は、以前は "http.private.security_groups.ingress" でした
このフィールドは、 v1.23.0 までは、 http.private.security_groups.ingress
でした。
この変更は、子フィールド vpc
(当時は唯一の子フィールド)にカスケードされ、以前では、http.private.security_groups.ingress.from_vpc
でした。
詳細については、ブログ記事 v1.23.0 を確認してください。
http.private.ingress.vpc
Booleanv1.23.0 で変更されました
VPC 内から内部ロードバランサーへのトラフィックを有効にするかどうか。
http.private.ssl_policy
String
任意項目。内部ロードバランサーの HTTPS リスナーに対する SSL ポリシーを指定します。
observability
Map
observability セクションでは、Environment にデプロイされた Service や Job に関するデータを収集する方法を設定します。
observability.container_insights
Bool
Environment の ECS クラスターで CloudWatch の Container Insights を有効にするかどうか。