basic/basic_cluster_alb_ssl

Genvid クラスタと必要なワーカーを作成する Twitch 拡張機能サンプルの基本的なインフラストラクチャです。

重要

ALB SSL の統合には次の 2 つの前提条件があります。

  1. ウェブバックエンドが、パブリックノードのポート 30000 でサービスされており、/health のヘルスチェックを受けていること。
  2. Leaf のウェブソケットが、パブリックノードのポート 30001 でサービスされており、/health のヘルスチェックを受けていること。

すべてのノードがサービスを実行する必要はありませんが、存在しない場合は破棄されます。

バージョン 1.25.0 で変更: 変数 public_subnetsprivate_subnets を削除

プロバイダ

  • aws (2.54.0)
  • null
  • tls

要件

  • terraform >= 0.12
  • aws 2.54.0

入力

cluster (string)

クラスタの名称

trusted_cidr (string)

信頼する CIDR。少なくともローカルマシンの外部 CIDR (<ip>/32) が含まれている必要があります。含まれていない場合、Consul/Nomad への提供とアクセスは失敗します。

admin_password (string)

ゲームマシンの管理者パスワード。

ami_prefix (string)

ゲーム AMI のプレフィックス。

ami_version (string)

使用する AMI (ゲームおよび genvid) のバージョンプレフィックス (例: 1.20.0 は、 1.20.0 および 1.20.0.0 の両バージョンに一致)。

バージョンサフィックス付きの AMI を使用するには、サフィックス付きのバージョン全体を指定する必要があります (例: 1.25.0.1.mysuffix)。

azs (list(string))

リージョンのアベイラビリティゾーンの一覧

cidr (string)

VPC の CIDR ブロック。デフォルト値は有効な CIDR ですが、AWS はアクセスできないため、上書きする必要があります。

datacenter (string)

Consul/Nomad datacenter

domain_name (string)

ルートドメイン名

instance_encoding_count (number)

生成する内部ワーカー数

instance_encoding_type (string)

エンコーディングサーバーで使用する EC2 インスタンスのタイプ

instance_game_count (number)

生成されるゲームインスタンス数

instance_game_type (string)

ゲームサーバーで使用する EC2 インスタンスのタイプ

instance_internal_count (number)

生成する内部ワーカー数

instance_internal_type (string)

内部サーバーで使用する EC2 インスタンスのタイプ

instance_public_count (number)

生成するパブリックワーカー数

instance_public_type (string)

パブリックサーバーで使用する EC2 インスタンスのタイプ

instance_server_count (number)

監視サーバー数。奇数である必要があります。プロダクションのデプロイの場合、通常は 3 です。

instance_server_type (string)

管理サーバーで使用する EC2 インスタンスのタイプ

leaf_port (number)

Leaf サービスが実行されているポートです。

leaf_stickiness_ttl (number)

Leaf ターゲットグループの粘着性のタイムアウトを設定します。

leaf_tg_stickiness_enabled (bool)

Leaf ターゲットグループの粘着性を有効または無効に設定します。

namespace (string)

クラスタを再グループ化するデプロイの名前空間

region (string)

AWS デプロイメント領域

stage (string)

デプロイ ステージ

subdomain_name (string)

サブドメイン名。AWS (twitch.acme.com) にゾーンを作成するのに使用します。注釈: 既存のクラスタのサブドメインの変更/更新を行う場合、古いサブドメインの NS を AWS Route53 のメインドメインから手作業で削除する必要があります。古い NS レコードは自動で削除されません。

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 以降、暗号化はデフォルトで有効になっています。

validation_method (string)

AWS からの SSL 発行証明書の検証方法 (DNS、メール、なし)

web_health_check_path (string)

Web サービスのヘルスチェックエンドポイントパス。web.nomad.tmpl で定義したパスと一致させる必要があります。

web_port (number)

Web サービスが実行されているポートです

web_stickiness_ttl (number)

Web ターゲットグループの粘着性のタイムアウトを設定します

web_tg_stickiness_enabled (bool)

Web ターゲットグループの粘着性を有効または無効に設定します

出力

ami_prefix

ゲーム AMI のプレフィックス。

ami_version

使用する AMI (ゲームおよび genvid) のバージョン。

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 がリッスンするポート

namespace

クラスタを再グループ化するデプロイの名前空間

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 アドレス

stage

デプロイ ステージ

subnet_ids

使用したサブネットの順番リストを指定します。

vpc_id_selected

選択した VPC の ID

web_health_check_path

Web サービスのヘルスチェックエンドポイントパス。

web_port

web サービスがリッスンしているポートです。