basic/minimal_cluster_alb_ssl
Twitch 拡張機能サンプルの基本的な AWS インフラストラクチャーです。
このモジュールの内容
プロバイダ
aws (~> 3.35.0)
要件
terraform >= 0.13
aws ~> 3.35.0
入力
- bastionid (string)
この bastion インスタンスの ID。
- cluster (string)
クラスタの名称。
- game_instance_profile_name (string)
ゲームインスタンスに指定するインスタンスプロフィール名。
- key_pair_private (string)
新規作成しないで、使用する Key Pair Private PEM
- key_pair_public (string)
新規作成しないで、使用する Key Pair Public Key。
- server_instance_profile_name (string)
サーバー、エンコード、内部、パブリックインスタンスに指定するインスタンスプロフィール名。
- trusted_cidr (string)
信頼する CIDR。少なくともローカルマシンの外部 CIDR (<ip>/32) が含まれている必要があります。含まれていない場合、Consul/Nomad への提供とアクセスは失敗します。
- admin_password (string)
ゲームマシンの管理者パスワード。
デフォルト: 1genvid6
- ami_version (string)
使用する AMI (
wingame
およびserver
) のバージョンプレフィックス。 (例: 1.20.0 は、1.20.0 および 1.20.0.0 の両バージョンに一致)。バージョンサフィックス付きの AMI を使用するには、サフィックス付きのバージョン全体を指定する必要があります。例: 1.28.0.1.mysuffix。
デフォルト: 1.42.0
- azs (list(string))
リージョンのアベイラビリティゾーンの一覧。subnet_ids が az よりも優先されます。
- datacenter (string)
Consul/Nomad datacenter。
デフォルト: default
- domain_name (string)
ルートドメイン名。
デフォルト: acme.com
- game_ami_owners (list(string))
ゲーム AMI を所有できるオーナーの一覧。 デフォルトでは self。
バージョン 1.30.0 で追加.
デフォルト: ['self']
- game_ami_prefix (string)
ゲーム AMI の共通プレフィックスです。 AMIの保存 ` のセクションで使用したプレフィックスです。自分の AMI でテストしたい場合は、変更することができます。[#new127]_ゲーム AMI の共通プレフィックスです。 :ref:`AMIの保存 のセクションで使用したプレフィックスです。自分の AMI でテストしたい場合は、変更することができます。6
デフォルト: default
- instance_encoding_count (number)
生成する内部ワーカー数。
デフォルト: 1
- instance_encoding_type (string)
エンコーディングサーバーで使用する EC2 インスタンスのタイプ。
デフォルト: c5.2xlarge
- instance_game_count (number)
生成されるゲームインスタンス数。
デフォルト: 1
- instance_game_type (string)
ゲームサーバーで使用する EC2 インスタンスのタイプ。
デフォルト: g5.xlarge
- instance_internal_count (number)
生成する内部ワーカー数。
デフォルト: 2
- instance_internal_type (string)
内部サーバーで使用する EC2 インスタンスのタイプ。
デフォルト: t3.small
- instance_public_count (number)
生成するパブリックワーカー数。
デフォルト: 1
- instance_public_type (string)
パブリックサーバーで使用する EC2 インスタンスのタイプ。
デフォルト: t3.small
- instance_server_count (number)
監視サーバー数。奇数である必要があります。プロダクションのデプロイの場合、通常は 3 です。
デフォルト: 1
- instance_server_type (string)
管理サーバーで使用する EC2 インスタンスのタイプ。
デフォルト: t3.small
- leaf_port (number)
Leaf サービスが実行されているポートです。
デフォルト: 30001
- leaf_stickiness_ttl (number)
Leaf ターゲットグループ粘着性のタイムアウトを設定します。
デフォルト: 600
- leaf_tg_stickiness_enabled (bool)
Leaf ターゲットグループの粘着性のタイムアウトを enabled または disabled に設定します。
デフォルト: True
- region (string)
AWS デプロイメント領域。
デフォルト: us-east-1
- reusable_delegation_sets_id (string)
既存の Reusable Delegation Sets を使用する場合は、その ID をここに追加してください (次のようになります。 NXXXXXXXXXXXXXXXXXXXX)。指定しなかった場合、Route 53 はホストゾーンにネームサーバーのランダムな選択を割り当てます。5
- server_ami_owners (list(string))
有効な AMI が持つことのできるオーナーの一覧。 デフォルトで Genvid パブリックアカウント。
バージョン 1.30.0 で追加.
デフォルト: ['149754531711']
- server_ami_prefix (string)
サーバー AMI の共通プレフィックスです。自分の AMI でテストしたい場合は、変更することができます。6
デフォルト: genvidtech
- subdomain_name (string)
subdomain_name
を使用して AWS にゾーンを作成します (例:subdomain.acme.com)。注釈
何も指定しなかった場合、
subdomain_name
のデフォルト値は{bastionid}-{clustername}
になります。注釈
既存のクラスタでサブドメインを変更または更新する場合は、 AWS Route53 のメインドメインから古いサブドメインの NS レコードを手動で削除する必要があります。古い NS レコードは自動的には削除されません。
- subnet_ids (list(string))
使用可能なパブリックサブネットの順番リスト。指定しない場合、サブネットは利用可能なアベイラビリティゾーンから自動的に選択されます。
注釈: AZ に対してサブネットは一つのみ。AZ に複数のサブネットが存在する場合、この変数は必須であり、各 AZ で使用するパブリックサブネットの ID を指定する必要があります。subnet_ids が azs よりも優先されます。 3
- toolbox_location (string)
Genvid ツールボックス Wheel ファイル。
AMI からアップデートする場合にのみ必要。指定しない場合は、ツールボックスはインストールされません。
- trusted_cidrs (list(string))
信頼する CIDR リスト。
- trusted_security_groups (list(string))
信頼するセキュリティグループの一覧。
- use_drive_encryption (bool)
暗号化された EBS にしたい場合は true を選択します。EBS を暗号化したくない場合や、SDK のバージョンを 1.24 以下から 1.25 以上にアップグレードする場合は、false を選択してください。
警告
既存のドライブでこの機能を切り替えると、ドライブが再生されます。1.25 以前のバージョンではドライブは暗号化されていません。バージョン 1.25 以降、暗号化はデフォルトで有効になっています。
デフォルト: True
- vpc_id (string)
新しく作成する代わりに使用する VPC ID を指定します。これにより、クラスタ間で VPC を共有できます。
重要
VPC に namespace-stage-public-az という名前のサブネットが存在しない場合、失敗します。vpc_id の冒頭部は次のようになります: vpc-...
- web_health_check_path (string)
Web サービスのヘルスチェックパス。web.nomad.tmpl で定義したパスと一致させる必要があります。4
デフォルト: /health
- web_port (number)
Web サービスが実行されているポートです。
デフォルト: 30000
- web_stickiness_ttl (number)
Web ターゲットグループ粘着性のタイムアウトを設定します。
デフォルト: 600
- web_tg_stickiness_enabled (bool)
Web ターゲットグループの粘着性のタイムアウトを enabled または disabled に設定します。
デフォルト: True
出力
- ami_version
使用する AMI (
wingame
とserver
) のバージョン。
- azs_available
使用可能と検出されたアベイラビリティゾーンの一覧。
- azs_selected
使用するために選択したアベイラビリティゾーンの一覧。
- cluster
クラスタの名称。
- consul_nodes
Consul ノード。
- datacenter
Consul/Nomad datacenter。
- domain_name
クラスタを作成し、クラスタに関連付けるドメイン名。
- encoding_worker_private_ips
エンコードインスタンスのプライベート IP アドレス。
- encoding_worker_public_ips
エンコードインスタンスのパブリック IP アドレス。
- endpoint_leaf
Leaf サービスのエンドポイント URL。
- endpoint_web
Web サービスのエンドポイント URL。
- game_instance_profile_name
ゲームインスタンスで使用するインスタンスプロフィール名。
- game_private_ips
ゲームインスタンスのプライベート IP アドレス。
- game_public_ips
ゲームインスタンスのパブリック IP アドレス。
- internal_worker_private_ips
内部インスタンスのプライベート IP アドレス。
- internal_worker_public_ips
内部インスタンスのパブリック IP アドレス。
- leaf_port
Leaf サービスがリッスンしているポートです。
- private_key_pem
SSH や RDP でインスタンスに接続するためのプライベートキー。
- public_key
AWS が認証に使用するインスタンスに接続するためのパブリックキー。
- public_worker_private_ips
パブリックインスタンスのプライベート IP アドレス。
- public_worker_public_ips
パブリックインスタンスのパブリック IP アドレス。
- region
AWS デプロイメント領域。
- server_instance_profile_name
サーバー、エンコード、内部、パブリックインスタンスで使用するインスタンスプロフィール名。
- server_private_ips
サーバーインスタンスのプライベート IP アドレス。
- server_public_ips
サーバーインスタンスのパブリック IP アドレス。
- subnet_ids
使用したサブネットの順番リストを指定します。
- subnets_available
利用可能と検出されたサブネットの一覧。
- vpc_id_selected
使用する VPC の VPC ID。
- web_health_check_path
Web サービスのヘルスチェックエンドポイントパス。
- web_port
Web サービスがリッスンしているポートです。