TenkaCloud Docs

イベントをエンドツーエンドで運営する Preview

これは運営者向けのウォークスルーです。現在開催手順として案内するのはLiteです。 SaaSのテナント作成とマルチクラウドは末尾に分離し、コード構成の参考として説明します。

Liteで競技を運営する

  1. LiteのApplication Admin Consoleへログインする。
  2. イベント、テストチーム、問題を作る。
  3. 下記の手順でテスト競技者AWSアカウントを接続する。
  4. 問題を起動し、接続先を開く。
  5. 問題を解いて本物のTC{...}を提出し、得点を確認する。
  6. リセットして再起動できることを確認する。
  7. 停止し、競技者AWSの問題スタックが削除されたことを確認する。
  8. Participant PortalのURL、team key、開始時刻を参加者へ渡す。

SaaSでテナントを作成する(構成参考)

SaaS モードでは、System Admin が admin-consoleからテナントを作成するコードがあります。 しかし、最近の新規AWS環境でテナント作成から採点・削除までを通した記録はありません。 本番手順として使用せず、専用環境で再検証してください。

競技者アカウントを接続する

参加する各チームは、CloudFormationテンプレート infrastructure/templates/competitor-bootstrap.yamlを自分のAWSアカウントへ 1回デプロイします。ExternalIdは開催者が設定した値と同じ、16〜128文字の半角英数字と _ = , . @ : / -を使います。作成されたロールARNを開催者へ共有します。秘密鍵や AWS管理者認証情報は共有しません。詳細は競技者セットアップガイドにあります。

問題をデプロイする

application-admin-console でイベントを作成し、カタログから問題を選び(ピッカーに表示されるのはクラウドにデプロイ可能な問題だけです。ローカル専用のコンテナ問題は除外され、非 AWS の問題はマルチクラウドを有効にすると表示されます)、各チームのアカウントとリージョンを割り当てて、デプロイします。各デプロイは ExternalId を使ってチームのロールを AssumeRole し、チームのアカウントで CloudFormation を実行します。デプロイメントが終了状態に達するまでポーリングでステータスを見守り、イベントが終わったら同じコンソールから撤収します。

マルチクラウドを有効にする(構成参考)

Sakura / Azure / GCPは一律に実行可能とは限りません。先に ランタイム対応マトリクスで対象問題の 状態を確認し、実行可能と記載されたruntimeだけを専用のテストイベントで検証します。

関連: デプロイモードと起動経路プラットフォームアーキテクチャ