Twitch 拡張機能の Terraform サンプル

このセクションでは、Twitch 拡張機能サンプル用に設計されたサンプル Terraform 構成を使用してクラウドインフラストラクチャをセットアップする方法を説明します。 このサンプルでは、クラウドサービスプロバイダーに Amazon Web Services (AWS) を使用しています。

概要

このセクションのステップで、以下の処理の流れを説明します。

  • 新しい VPC およびパブリック/ プライベートサブネット構成。

  • セキュリティグループ。

  • 以下のアプリケーションロードバランサー:
    • ポート 443 の HTTPS リスナー
    • リクエストをリーフ (/v1/ntp) にリダイレクトするルール。
    • ソケット接続 (/socket) のリーフにリクエストをリダイレクトするルール。
    • トラフィックをリーフバックエンド (/socket) にリダイレクトするルール。
  • ロードバランサーをポイントする DNS レコード。

  • Twitch 拡張機能をデプロイするときにエンドポイントを安全にするために、AWS Certificate Manager (ACM) によって発行された SSL 証明書。 (Twitch の要件。)

  • プロジェクト構成 (EC2 インスタンス) をデプロイするための Genvid cluster

重要

AWS account type によっては、このインフラストラクチャのデプロイに費用が発生する場合があります。Genvid SDK インフラストラクチャをデプロイする前に、料金が発生する可能性があるかどうかを常に AWS で確認してください。

はじめに

  • 存在しない場合、AWS Account が必要です。

  • 伝達には最大 24 時間かかるため、事前に DNS ゾーンを作成する必要があります。

    Route 53 で DNS ゾーンを作成し、サブゾーンとして構成する必要があります。 次に、そのサブゾーンでサブドメイン (twitch.yourdomain.com) をポイントする NS レコードを作成します。これにより、SSL 証明書の作成と検証が簡単になります。

    設定方法については AWS documentation を参照してください。

  • dig (bash) 、 Resolve-DnsName (PowerShell) などのツールを使用して、DNS が伝達されていることを検証します。

インフラストラクチャの設定

  1. Install a bastion server and set up a local cluster on your computer.

    ローカル bastion から、AWS のクラウド上にクラスタをデプロイできます。

  2. Create a new cluster.

  3. Import the Terraform module SDK-version/basic/alb_ssl_cluster.

    version は、使用している Genvid SDK のバージョンと一致します。(現在 1.21.1)

  4. その他の設定を入力します。

    これにより、Twitch サンプルを実行するのに必要なインフラストラクチャを持つ新しいクラスタが AWS にデプロイされます。

  5. Twitch Sample Tutorial documentation に従って、ゲーム、Web サーバーバックエンド、設定をデプロイします。

この Terraform 構成に関する重要事項

  • これで稼働準備が整ったわけではありません。この構成には、バックアップやリモートバックエンド戦略はありません。
  • Web ポートは静的である必要があり、Nomad ジョブは Web ポート (通常は30001) の Terraform 設定と一致する必要があります。
  • leaf ポートは静的である必要があり、Nomad ジョブは leaf ポート (通常は30002) の Terraform 設定と一致する必要があります。
  • Terraform で構成された Web ソケット接続のパスは、Nomad テンプレート構成 (/socket) と一致する必要があります。 Consul key/value services/leaf/websocketUrlSuffix を参照してください。