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.36.0

azs (list(string))

リージョンのアベイラビリティゾーンの一覧。subnet_idsaz よりも優先されます。

custom_tags (map(string))

すべてのクラウドリソースに追加するユーザー定義タグの map。 [1] [5]

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 でテストしたい場合は、変更することができます。[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_idsazs よりも優先されます。 [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 (wingameserver) のバージョン。

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 サービスがリッスンしているポートです。

[1]カスタムタグに加えて、Genvid はリソースに独自のタグを追加する権利を有します。文書化されていない場合は、後方互換性を保証することなく、Genvid で使用することを意図しています。
[2]セキュリティ向上のため、将来のクラスタのバージョンでは bastion ホスト を使用する予定です。
[3]

バージョン 1.24.0 で追加.

[4]

バージョン 1.25.0 で追加.

[5](1, 2)

バージョン 1.26.0 で追加.

[6](1, 2)

バージョン 1.27.0 で追加.