basic/basic_cluster_alb_ssl
Genvid クラスタと必要なワーカーを作成する Twitch 拡張機能サンプルの基本的なインフラストラクチャです。
重要
ALB SSL の統合には次の 2 つの前提条件があります。
Web バックエンドが、パブリックノードのポート 30000 でサービスされており、
/health
のヘルスチェックを受けていること。Leaf のウェブソケットが、パブリックノードのポート 30001 でサービスされており、
/health
のヘルスチェックを受けていること。
すべてのノードがサービスを実行する必要はありませんが、存在しない場合は破棄されます。
バージョン 1.26.0 で変更: 変数 public_subnets
、 private_subnets
を削除
このモジュールの内容
プロバイダ
aws (~> 3.35.0)
tls (~> 3.1.0)
要件
terraform >= 0.13
aws ~> 3.35.0
tls ~> 3.1.0
入力
- bastionid (string)
この bastion インスタンスの ID。
- cluster (string)
クラスタの名称。
- trusted_cidr (string)
信頼する CIDR。少なくともローカルマシンの外部 CIDR (<ip>/32) が含まれている必要があります。含まれていない場合、Consul/Nomad への提供とアクセスは失敗します。
- admin_password (string)
Windows マシンの管理者パスワードです。Windows マシンは、他のサーバーインスタンス、または 2 に同じ外部 IP が設定された他のマシンからのみ、アクセス可能です。
デフォルト: 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))
リージョンで使用するアベイラビリティゾーンの一覧。空のリストでは、利用可能なすべてのゾーンが選択されます。
注釈
ゾーンの順序を変更すると、クラスタが再構築されます。リストに追加しても、既存のリソースには影響しません。
- 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 でテストしたい場合は、変更することができます。5
デフォルト: 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 ターゲットグループの粘着性を有効または無効に設定します。
デフォルト: True
- region (string)
AWS デプロイメント領域。
デフォルト: us-east-1
- server_ami_owners (list(string))
有効な AMI が持つことのできるオーナーの一覧。 デフォルトで Genvid パブリックアカウント。
バージョン 1.30.0 で追加.
デフォルト: ['149754531711']
- server_ami_prefix (string)
サーバー AMI の共通プレフィックスです。自分の AMI でテストしたい場合は、変更することができます。5
デフォルト: genvidtech
- subdomain_name (string)
subdomain_name
を使用して AWS にゾーンを作成します (例:subdomain.acme.com)。注釈
何も指定しなかった場合、
subdomain_name
のデフォルト値は{bastionid}-{clustername}
になります。注釈
既存のクラスタでサブドメインを変更または更新する場合は、 AWS Route53 のメインドメインから古いサブドメインの NS レコードを手動で削除する必要があります。古い NS レコードは自動的には削除されません。
- subnet_cidr_block_size (number)
サブネットの CIDR ブロックのサイズを設定します。サブネットはアベイラビリティゾーンにまたがっており、すべてのサブネットの合計サイズが VPC の CIDR ブロック (10.0.0.0/16) 内に収まっている必要があります。これは、より大きなブロックがより少ないアベイラビリティゾーンにまたがることを意味します。
例えば、サイズ 18 の場合 2 つのアベイラビリティゾーンにまたがっています。サイズ 27 であれば、2048 のアベイラビリティゾーンにまたがります。
最大サイズ: 18
最小サイズ: 27
デフォルト: 27
- 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.0 以下から 1.25.0 以上にアップグレードする場合は、false を選択してください。
警告
既存のドライブでこの機能を切り替えると、ドライブが再生されます。1.25 以前のバージョンではドライブは暗号化されていません。バージョン 1.25 以降、暗号化はデフォルトで有効になっています。
デフォルト: True
- web_health_check_path (string)
Web サービスのヘルスチェックエンドポイントパス。web.nomad.tmpl で定義したパスと一致させる必要があります。3
デフォルト: /health
- web_port (number)
Web サービスが実行されているポートです。
デフォルト: 30000
- web_stickiness_ttl (number)
Web ターゲットグループ粘着性のタイムアウトを設定します。
デフォルト: 600
- web_tg_stickiness_enabled (bool)
Web ターゲットグループの粘着性を有効または無効に設定します。
デフォルト: True
出力
- ami_version
使用する AMI (
wingame
とserver
) のバージョン。
- azs_available
使用可能と検出されたアベイラビリティゾーンの一覧。
- azs_selected
使用するために選択したアベイラビリティゾーンの一覧。
- cluster
クラスタの名称
- consul_nodes
コンソールノード
- 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 でインスタンスに接続するためのプライベートキー
- private_subnets
VPC 内部のプライベートサブネットの一覧
- public_key
AWS が認証に使用するインスタンスに接続するためのパブリックキー
- public_subnets
VPC 内のパブリックサブネットの一覧
- 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
使用したサブネットの順番リストを指定します。
- vpc_id_selected
選択した VPC の ID
- web_health_check_path
Web サービスのヘルスチェックエンドポイントパス。
- web_port
web サービスがリッスンしているポートです。