View a markdown version of this page

Beanstalk クラスター環境の設定オプション - AWS Elastic Beanstalk

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

Beanstalk クラスター環境の設定オプション

Beanstalk クラスター環境は、このページの 12 個の名前空間を介して設定されます。Beanstalk クラスター環境が受け入れる唯一の名前空間です。の従来の名前空間は Beanstalk Standard 環境と Beanstalk Standard 環境の設定オプションを設定し、適用されず、そのうちの 1 つを Beanstalk クラスター環境に渡すと、無視されるのInvalidParameterValueExceptionではなく が返されます。

これらのオプションを設定する方法と、Elastic Beanstalk による解決方法については、「」を参照してください設定オプション。

注記

デフォルト列は、 が オプションにDescribeConfigurationOptionsアドバタイズする値を提供します。Elastic Beanstalk がデフォルトをアドバタイズしなくても値を適用する場合、説明にはそのように記述されています。

aws:elasticbeanstalk:eks

環境を実行する Amazon EKS クラスターの IAM ロールを設定します。両方のロールを指定すると、環境の作成時に Elastic Beanstalk がロールを要求します。選択したサブネットによって、環境が参加するクラスターが決まります。これらのロールがクラスターに登録されているロールと一致しない場合、Elastic Beanstalk はリクエストを拒否します。コンソールが作成するロール名、信頼されたサービス、およびポリシーについては、「」を参照してくださいBeanstalk クラスターのアクセス許可。

環境にはオブザーバビリティロールも必要であり、オプションのアプリケーションロールを取ることができます。これらの設定はいずれも、この名前空間ではなく aws:elasticbeanstalk:eks:environment名前空間にあります。「aws:elasticbeanstalk:eks:environment」を参照してください。

名前空間: aws:elasticbeanstalk:eks
名前 説明 デフォルト 有効な値

cluster-role

Amazon EKS がクラスターに対して引き受ける IAM ロールの ARN。

なし。値を指定する必要があります。

IAM ロール ARN

node-role

クラスターの Amazon EC2 ノードが引き受ける IAM ロールの ARN。

なし。値を指定する必要があります。

IAM ロール ARN

aws:elasticbeanstalk:eks:environment

アプリケーションコンテナ、予約するコンピューティング、ネットワーク配置、使用するロールを設定します。

名前空間: aws:elasticbeanstalk:eks:environment
名前 説明 デフォルト 有効な値

application-role

アプリケーションが サービスを呼び出す AWS ために引き受けるオプションの IAM ロールの ARN。「Beanstalk クラスターのアクセス許可」を参照してください。

なし

IAM ロール ARN

arch

アプリケーションが実行される CPU アーキテクチャ。

amd64

amd64 | arm64

cpu

アプリケーションの各レプリカが予約する CPU。Kubernetes 数量表記を使用するため、 500mは仮想 CPU の半分で、 2は 2 つの仮想 CPUs。

250m

0.01 を に128、または 10mを に 128000m

cpu-limit

アプリケーションの各レプリカが使用できる最大の CPU。と同じ表記を使用しますcpu。

なし

0.01 を に128、または 10mを に 128000m

env-variables

各変数名を値にマッピングする JSON オブジェクトとしてのコンテナの環境変数。これは、変数ごとに 1 つのオプションではなく、すべての変数を保持する 1 つのオプションです。Elastic Beanstalk は PORTから を設定しservice-port、指定した値を上書きします。

{"PORT" : 8080}

JSON オブジェクト

ingress-allowlist-environments

この環境にトラフィックを送信する可能性のある環境の名前。「Beanstalk クラスター環境のマルチテナンシー」を参照してください。

なし

環境名のカンマ区切りリスト

ingress-allowlist-groups

環境がこの環境にトラフィックを送信する可能性のあるイングレスグループ。リストされたグループ内のすべての環境が許可されます。

なし

入力グループ名のカンマ区切りリスト

ingress-groups

この環境が属するイングレスグループ。同じグループ内の環境は相互に到達できます。

なし

入力グループ名のカンマ区切りリスト

instance-category

クラスターのノードが選択されている Amazon EC2 インスタンスカテゴリ。

なし

c | d | g | gr | hpc | i | im | is | m | p | r | t | x | z

language

アプリケーションのランタイム言語。Elastic Beanstalk がコンテナに追加する OpenTelemetry 自動計測を選択し、アプリケーションがアプリケーションを変更せずに選択したオブザーバビリティバックエンドにメトリクス、ログ、トレースを出力できるようにします。このオプションは自動計測のみを選択します。アプリケーションが使用できる言語は制限されません。ランタイムがリストされていない場合、またはアプリケーションが OpenTelemetry データを単独で出力する場合は、これを省略します。

なし

python | java | dotnet | nodejs

load-balancer-type

トラフィックがアプリケーションに到達する方法。ではNone、Elastic Beanstalk はロードバランサーを作成しません。「Beanstalk クラスター環境のネットワークの設定」を参照してください。

ALB

ALB | None

memory

アプリケーションの各レプリカが予約するメモリ。512Mi や などの Kubernetes 数量表記を使用します1.5Gi。小数値を使用できます。

512Mi

Kubernetes メモリ量

memory-limit

アプリケーションの各レプリカで使用できる最大のメモリ。と同じ表記を使用しますmemory。

1Gi

Kubernetes メモリ量

node-pool

この環境のレプリカを実行するノードプールの名前。一意の値により、環境は独自のノードになり、共有値は環境を共有ノードにグループ化します。「Beanstalk クラスター環境のマルチテナンシー」を参照してください。

なし

DNS-1123 ラベル

observability-role

環境のメトリクス、ログ、トレースを発行する IAM ロールの ARN。Elastic Beanstalk ではこれが必要であり、サブネットが選択するクラスターに登録されているロールと一致する必要があります。デフォルトがないため、明示的に指定します。「Beanstalk クラスターのアクセス許可」を参照してください。

なし。値を指定する必要があります。

IAM ロール ARN

secrets

コンテナに公開するシークレット。各名前を Secrets Manager のシークレットの ARN または Systems Manager パラメータストアのパラメータにマッピングする JSON オブジェクトです。と同様にenv-variables、これはすべてのシークレットを保持する 1 つのオプションです。必須application-role: Elastic Beanstalk はポッドの ID を介して各シークレットを読み取ります。これは、そのオプションを設定した場合にのみ存在します。これがないと、ボリュームマウントは失敗し、レプリカが起動することはありません。

なし

JSON オブジェクト

service-port

アプリケーションがリッスンするポート。Elastic Beanstalk はこれを必要とし、それをPORT環境変数としてコンテナに挿入し、他の環境とコンテナプローブが到達するポートとして使用します。

8080

1~65535

subnets

環境のサブネット。クラスターのノードが実行される場所と、環境が参加するクラスターを決定します。これらを省略すると、Elastic Beanstalk はデフォルトの VPC のパブリックサブネットを使用します。環境の作成後に変更することはできません。「Beanstalk クラスター環境のネットワークの設定」を参照してください。

なし

サブネット IDs のカンマ区切りリスト

aws:elasticbeanstalk:eks:environment:deployment

新しいアプリケーションバージョンをデプロイするときに、Elastic Beanstalk がアプリケーションの実行中のレプリカを置き換える方法を選択します。

名前空間: aws:elasticbeanstalk:eks:environment:deployment
名前 説明 デフォルト 有効な値

strategy

デプロイ戦略。 はレプリカを徐々にRollingUpdate置き換え、Recreateすべて削除して新しいバージョンを開始します。これは、コンソールが一度に呼び出す戦略です。「デプロイポリシーの選択」を参照してください。

RollingUpdate

RollingUpdate | Recreate

aws:elasticbeanstalk:eks:environment:deployment:strategy:rolling

ローリングデプロイが、環境が実行しているレプリカの数の前または後ろで実行される範囲を制限します。これらのオプションはstrategy、 が の場合に適用されますRollingUpdate。

名前空間: aws:elasticbeanstalk:eks:environment:deployment:strategy:rolling
名前 説明 デフォルト 有効な値

max-surge

デプロイ中に環境の現在のレプリカ数を超えて Elastic Beanstalk が開始できるレプリカの数。

1

などのカウント2、または などのパーセンテージ 25%

max-unavailable

デプロイ中に一度に使用できない環境のレプリカの数。

0

などのカウント1、または などのパーセンテージ 25%

aws:elasticbeanstalk:eks:environment:autoscaling

Elastic Beanstalk がアプリケーションに対して実行するレプリカの数と、その数を変更するかどうかを評価する頻度を設定します。

トリガーを設定しない場合、Elastic Beanstalk は CPU 使用率に基づいて環境を と の間で 80% のターゲットでスケーリングmin-replicaしますmax-replica。他のものに合わせてスケールするには、トリガーを設定します。「aws:elasticbeanstalk:eks:environment:autoscaling:trigger」を参照してください。

名前空間: aws:elasticbeanstalk:eks:environment:autoscaling
名前 説明 デフォルト 有効な値

min-replica

環境が実行するアプリケーションの最小レプリカ。

1

1~100

max-replica

環境が実行するアプリケーションの最大のレプリカ。

10

1~100

polling-interval

Elastic Beanstalk がスケーリングトリガーを評価する頻度を秒単位で表します。

30

1~1000

cooldown-period

最後のトリガーがアクティビティのレポートを停止してから環境をスケールダウンするまでに Elastic Beanstalk が待機する秒数。

300

1 以上の整数

aws:elasticbeanstalk:eks:environment:autoscaling:trigger

環境をスケールさせるものを選択します。レプリカが使用する CPU またはメモリをスケールオンでき、スケジュールまたは独自のエンドポイントが報告するメトリクスをスケールオンできます。これらのオプションにはアドバタイズされたデフォルトはありません。いずれも設定しない場合、Elastic Beanstalk は を cpu-metric-typeに設定Utilizationし、 を cpu-valueに設定して CPU トリガーを提供します80。

名前空間: aws:elasticbeanstalk:eks:environment:autoscaling:trigger
名前 説明 デフォルト 有効な値

cpu-metric-type

CPU トリガーがリザーブド CPU の割合 (Utilization) と絶対量 () を比較するかどうかAverageValue。

なし。Elastic Beanstalk は、 をcpu-value単独で設定Utilizationする場合、またはトリガーをまったく設定しない場合に適用されます。

Utilization | AverageValue

cpu-value

環境が保持するためにスケーリングする CPU ターゲット。の場合Utilization、 の値はリザーブド CPU の 60% 60を意味します。

なし。Elastic Beanstalk は80、トリガーをまったく設定しない場合に適用されます。

整数

memory-metric-type

メモリトリガーが予約メモリの割合 (Utilization) と絶対量 () を比較するかどうかAverageValue。

なし。Elastic Beanstalk は、 をmemory-value単独で設定Utilizationした場合に適用されます。

Utilization | AverageValue

memory-value

環境が保持するためにスケーリングするメモリターゲット。

なし

整数

scaler-type

イベント駆動型トリガーの種類。 はスケジュールに基づいてcronスケールし、指定した HTTP エンドポイントから Elastic Beanstalk が読み取る値に基づいてmetrics-apiスケールします。

なし

cron | metrics-api

scaler-metadata

JSON オブジェクトとしてのトリガーの設定。ではcron、timezone、、start、end、および を指定しますdesiredReplicas。ではmetrics-api、url、、valueLocation、および を指定しますtargetValue。

なし

JSON オブジェクト

scaler-auth-mode

metrics-api トリガーが読み取るエンドポイントに対して Elastic Beanstalk が認証する方法。

bearer

bearer | basic | apiKey | tls

scaler-auth-secret

エンドポイントの認証情報を保持する Secrets Manager シークレットの ARN。scaler-type が の場合にのみ設定できますmetrics-api。必須application-role: Elastic Beanstalk はポッドの ID を介してシークレットを読み取ります。これは、そのオプションを設定した場合にのみ存在します。これがないと、マウントは失敗し、レプリカは起動しません。

なし

Secrets Manager シークレット ARN

次の例では、UTC の平日の勤務時間中に環境を 5 つのレプリカにスケーリングします。

$ cat schedule.json [ { "Namespace": "aws:elasticbeanstalk:eks:environment:autoscaling:trigger", "OptionName": "scaler-type", "Value": "cron" }, { "Namespace": "aws:elasticbeanstalk:eks:environment:autoscaling:trigger", "OptionName": "scaler-metadata", "Value": "{\"timezone\":\"UTC\",\"start\":\"0 8 * * 1-5\",\"end\":\"0 18 * * 1-5\",\"desiredReplicas\":\"5\"}" } ] $ aws elasticbeanstalk update-environment \ --environment-name my-cluster-env \ --option-settings file://schedule.json

scaler-metadata 値自体は JSON ドキュメントであるため、設定はコマンドラインではなく ファイルにあります。

aws:elasticbeanstalk:eks:environment:autoscaling:behavior

トリガーが発生したときに環境がレプリカを追加または削除する速度を制限します。各方向はピリオド、単位、および量を取ります。各期間内に、環境は設定した最大量だけレプリカ数を変更します。

名前空間: aws:elasticbeanstalk:eks:environment:autoscaling:behavior
名前 説明 デフォルト 有効な値

scaleup-period

scaleup-value が適用される秒単位の期間。

なし

1 以上の整数

scaleup-type

scaleup-value がレプリカの数 (Pods) であるか、現在の数の割合 () であるかPercent。

なし

Pods | Percent

scaleup-value

環境が 1 つの 内で追加する最大数scaleup-period。

なし

整数

scaledown-period

scaledown-value が適用される秒単位の期間。

なし

1 以上の整数

scaledown-type

scaledown-value がレプリカの数 (Pods) であるか、現在の数の割合 () であるかPercent。

なし

Pods | Percent

scaledown-value

環境が 1 つの 内で削除する最大数scaledown-period。

なし

整数

コンテナプローブの名前空間

3 つの名前空間がコンテナプローブを設定し、それぞれが同じ 9 つのオプションを使用します。

  • aws:elasticbeanstalk:eks:environment:readiness-probe は、レプリカがトラフィックを受信する準備ができているタイミングを決定します。失敗したレプリカは、再起動されずにサービスから削除されます。

  • aws:elasticbeanstalk:eks:environment:liveness-probe は、レプリカが異常であるタイミングを決定します。失敗したレプリカは再起動されます。

  • aws:elasticbeanstalk:eks:environment:startup-probe は、他の 2 つのプローブが開始する前に、開始時間が遅いレプリカに初期化する時間を与えます。

有効にするまで、すべてのプローブはオフになります。プローブと環境の状態の関係については、「」を参照してくださいBeanstalk クラスター環境のモニタリング。

名前空間: aws:elasticbeanstalk:eks:environment:readiness-probe、aws:elasticbeanstalk:eks:environment:liveness-probe、および aws:elasticbeanstalk:eks:environment:startup-probe
名前 説明 デフォルト 有効な値

enabled

プローブが実行されるかどうか。

false

true | false

http-path

プローブがリクエストするパス。

/

URL パス

http-port

プローブがリクエストするポート。これを省略すると、プローブは を使用しますservice-port。

なし。プローブは を使用しますservice-port。

1~65535

initial-delay-seconds

レプリカが最初にリクエストされるまでにプローブが待機する時間。

0

整数の秒数

period-seconds

プローブが実行される頻度。

30

1~3600

timeout-seconds

リクエストが失敗としてカウントされるまで、プローブがレスポンスを待機する時間。

5

整数の秒数

success-threshold

プローブが合格した連続した成功の数。

1

整数

failure-threshold

プローブが失敗する連続した失敗の数。

3

整数

aws:elasticbeanstalk:eks:alb

アプリケーション、リスナー、TLS、ターゲットグループのヘルスチェックの前に Application Load Balancer を設定します。これらのオプションはload-balancer-type、 が の場合に適用されますALB。ネットワーク設定、既に所有しているロードバランサーの提供、および HTTPS リスナーを管理するルールについては、「」を参照してくださいBeanstalk クラスター環境のネットワークの設定。

名前空間: aws:elasticbeanstalk:eks:alb
名前 説明 デフォルト 有効な値

arn

Elastic Beanstalk が作成するアプリケーションではなく、すでに所有している Application Load Balancer の ARN。Elastic Beanstalk は Network Load Balancer の ARN を拒否します。

なし。Elastic Beanstalk はロードバランサーを作成します。

Application Load Balancer ARN

scheme

ロードバランサーがインターネットから到達可能かどうか。これを省略すると、Elastic Beanstalk はサブネットから取得します。パブリックサブネットはインターネット向けロードバランサーを提供し、プライベートサブネットは内部サブネットを提供します。

なし。サブネットから派生します。

internet-facing | internal

subnets

ロードバランサーを配置するサブネット。これらを省略すると、環境のサブネットが使用されます。

なし。環境のサブネット。

サブネット IDs のカンマ区切りリスト

security-groups

ロードバランサーにアタッチするセキュリティグループ。

なし

セキュリティグループ IDs のカンマ区切りリスト

manage-backend-security-group-rules

Elastic Beanstalk がロードバランサーとアプリケーション間のセキュリティグループルールを追加および削除するかどうか。

true

true | false

ip-address-type

ロードバランサーが IPv4 のみを提供するか、IPv4 と IPv6 の両方を提供するか。Elastic Beanstalk はデフォルトをアドバタイズせず、 を適用しますipv4。

ipv4、Elastic Beanstalk によって適用

ipv4 | dualstack

target-type

ロードバランサーがトラフィックをレプリカの IP アドレスに送信するか、それらを実行するノードに送信するか。Elastic Beanstalk はデフォルトをアドバタイズせず、 を適用しますip。

ip、Elastic Beanstalk によって適用

ip | instance

listen-ports

など、リスナーごとに 1 つのオブジェクトを持つ JSON 配列として開くリスナー[{"HTTPS":443},{"HTTP":80}]。各ポートは一意である必要があります。Elastic Beanstalk は、HTTPS リスナーが存在することを確認し、その証明書を提供します。HTTP リスナーは、アプリケーショントラフィックを処理するのではなく、HTTPS にリダイレクトします。

なし。Elastic Beanstalk はポート 443 で HTTPS を設定します。

protocol-to-port オブジェクトの JSON 配列

certificate-arn

カスタムドメインから環境を提供する場合など、HTTPS リスナーにアタッチする独自の ACM 証明書の ARN。HTTPS が機能するためにこのオプションは必要ありません。Elastic Beanstalk は、環境独自のドメインの証明書を作成してアタッチします。設定すると、ロードバランサーは両方の証明書を保持します。

なし

ACM 証明書 ARN

ssl-policy

HTTPS リスナーのセキュリティポリシー。

なし

Elastic Load Balancing セキュリティポリシー名

ssl-redirect

Elastic Beanstalk が HTTP リクエストをリダイレクトする HTTPS ポートを選択します。値は、設定された HTTPS リスナーが使用するポートである必要があります。Elastic Beanstalk は、このオプションを設定するかどうかにかかわらず、HTTP リスナーに到着したリクエストをリダイレクトするため、ターゲットポートのみが変更されます。

なし。Elastic Beanstalk は HTTPS リスナーのポートにリダイレクトします。

1~65535

backend-protocol

ロードバランサーがアプリケーションに到達するために使用するプロトコル。

なし

HTTP | HTTPS

backend-protocol-version

ロードバランサーがアプリケーションに到達するために使用するプロトコルバージョン。backend-protocol が設定されている場合にのみ適用されます。

なし

HTTP2 | GRPC

healthcheck-path

ターゲットグループのヘルスチェックがリクエストするパス。

/

URL パス

healthcheck-protocol

ターゲットグループのヘルスチェックが使用するプロトコル。

HTTP

HTTP | HTTPS

healthcheck-interval-seconds

ターゲットグループのヘルスチェックが実行される頻度。

15

5~300

healthcheck-timeout-seconds

ヘルスチェックがレスポンスを待機する時間。

5

2~120

success-codes

正常なヘルスチェックとしてカウントされる HTTP ステータスコード。

200

ステータスコード、リスト、または範囲

healthy-threshold-count

連続して成功したチェックによってターゲットが正常になる回数。

2

2~10

unhealthy-threshold-count

連続して失敗したチェックによってターゲットが異常になる回数。

2

2~10

wafv2-acl-arn

ロードバランサーに関連付ける AWS WAF ウェブ ACL の ARN。

なし

AWS WAF ウェブ ACL ARN

tags

ロードバランサーに適用するタグ。

なし

タグキーと値の JSON オブジェクト

load-balancer-attributes

ロードバランサーに適用するロードバランサー属性。解釈なしで Elastic Load Balancing に渡されます。

なし

などのkey=valueペアのカンマ区切りリスト idle_timeout.timeout_seconds=300,routing.http2.enabled=false

listener-attributes

特定のリスナーに適用するリスナー属性。解釈なしで Elastic Load Balancing に渡されます。ここには、ロードバランサー属性ではなくリスナー属性のみを指定します。

なし

オブジェクトの JSON 配列。各オブジェクトは、リスナーを次のようなkey=valueペアのカンマ区切りリストにマッピングします。 [{"HTTPS-8443":"routing.http.response.server.enabled=false"}]

raw-annotation

Elastic Beanstalk が環境に対して生成する Kubernetes イングレスに直接適用する注釈。これは、この名前空間の他のオプションではカバーされないロードバランサーの動作に使用します。

なし

オブジェクトの JSON 配列。それぞれがイングレス注釈キーをその値にマッピングします。値のカンマ区切りの各セグメントには、厳密に 1 つの が含まれている必要があります。 =

注記

load-balancer-attributes、listener-attributes、 は値を解釈せずにロードバランサーにraw-annotation渡すため、Elastic Beanstalk は個々の属性または注釈の意味を検証しません。環境を作成すると、無効な値によりロードバランサーが作成されないため、障害が表示されます。環境を更新すると、Elastic Beanstalk はロードバランサーの照合を待機しないため、変更が有効になる前にオペレーションが成功する可能性があります。ロードバランサー自体の変更を確認します。

aws:elasticbeanstalk:eks:observability

アプリケーションのメトリクス、ログ、トレースの場所を選択します。Elastic Beanstalk はコレクションコンポーネントをプロビジョニングして運用し、アプリケーションを計測し、選択した送信先にアクセスする責任があります。「Beanstalk クラスター環境のモニタリング」を参照してください。

名前空間: aws:elasticbeanstalk:eks:observability
名前 説明 デフォルト 有効な値

metrics-backend

アプリケーションのメトリクスの場所。 はそれらを Amazon Managed Service for Prometheus ampに送信し、 が必要ですmetrics-endpoint。

cloudwatch

cloudwatch | amp | custom | none

metrics-endpoint

Amazon Managed Service for Prometheus リモート書き込みエンドポイント。が の場合にのみ設定metrics-backendしますamp。

なし

リモート書き込みエンドポイント URL

logs-backend

アプリケーションのログの場所。

cloudwatch

cloudwatch | s3 | custom | none

traces-backend

アプリケーションのトレースの場所。メトリクスやログとは異なり、トレースを選択するまでバックエンドはありません。

なし

xray | custom | none

custom-config

に設定したシグナルに使用する OpenTelemetry コレクターパイプライン設定custom。各認証情報を、 custom-credentials が提供する${NAME}プレースホルダーとして参照します。「オブザーバビリティデータをサードパーティーのバックエンドに送信する」を参照してください。

なし

JSON としてのコレクターパイプライン設定

custom-credentials

コレクターがcustomバックエンドに到達するために必要な認証情報を保持する Secrets Manager シークレットの ARN。シークレット値は、キーが のプレースホルダーと一致する JSON オブジェクトである必要がありますcustom-config。必須application-role: コレクターはポッドの ID を介してシークレットを読み取ります。これは、そのオプションを設定したときにのみ存在し、そのロールにもシークレットの読み取りを許可する必要があります。

なし

Secrets Manager シークレット ARN