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'
または、Copilot で生成された VPC を構成する場合は、以下のようにします。
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
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.<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
network.vpc.flow_logs.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 を有効にするかどうか。