basic/basic_cluster_alb_ssl¶
Genvid クラスタと必要なワーカーを作成する Twitch 拡張機能サンプルの基本的なインフラストラクチャです。
重要
ALB SSL の統合には次の 2 つの前提条件があります。
- Web バックエンドが、パブリックノードのポート 30000 でサービスされており、
/health
のヘルスチェックを受けていること。 - Leaf のウェブソケットが、パブリックノードのポート 30001 でサービスされており、
/health
のヘルスチェックを受けていること。
すべてのノードがサービスを実行する必要はありませんが、存在しない場合は破棄されます。
バージョン 1.26.0 で変更: 変数 public_subnets
、 private_subnets
を削除
Content of this module
入力¶
-
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.38.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 でテストしたい場合は、変更することができます。[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 サービスがリッスンしているポートです。
[1] | カスタムタグに加えて、Genvid はリソースに独自のタグを追加する権利を有します。文書化されていない場合は、後方互換性を保証することなく、Genvid で使用することを意図しています。 |
[2] | セキュリティ向上のため、将来のクラスタのバージョンでは bastion ホスト を使用する予定です。 |
[3] | バージョン 1.25.0 で追加. |
[4] | バージョン 1.26.0 で追加. |
[5] | (1, 2) バージョン 1.27.0 で追加. |