イベントをエンドツーエンドで運営する Preview
これは運営者向けのウォークスルーです。現在開催手順として案内するのはLiteです。 SaaSのテナント作成とマルチクラウドは末尾に分離し、コード構成の参考として説明します。
Liteで競技を運営する
- LiteのApplication Admin Consoleへログインする。
- イベント、テストチーム、問題を作る。
- 下記の手順でテスト競技者AWSアカウントを接続する。
- 問題を起動し、接続先を開く。
- 問題を解いて本物の
TC{...}を提出し、得点を確認する。 - リセットして再起動できることを確認する。
- 停止し、競技者AWSの問題スタックが削除されたことを確認する。
- 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だけを専用のテストイベントで検証します。