186 Views
April 03, 18
スライド概要
2018-03-27 #ssmjp 2018/03
秋葉原生まれ大手町育ちの歌って踊れる江戸っ子インフラエンジニア。 0と1が紡ぐ「ゆるやかなつながり」に魅せられ早20年、 SNSとCGMの力で世界を幸福にするのがライフワーク。 市民、幸福は義務です。 あなたは幸福ですか?
【#ssmjp 2018/03】 クラウドでハンズオンする話 Aki @nekoruri
自己紹介 • 株式会社WHERE IoT基盤センター サービスプロデューサー(2016-) • セキュリティ・キャンプ(2015-) 講師・プロデューサー • SecHack365 実施協議会(2017-) • 技術系同人誌サークル「めもおきば」 • ProjectDIVA Arcade LV.630 • minecrafter
ハンズオン増えましたよね • 手を動かす事による学習効果 • 「あ、思ったよりも簡単かも」という実感 • 数時間だけ利用できるクラウドサービスの増加
セキュリティ人材育成でも ハンズオンあれこれ • AWS • セキュリティ・キャンプ全国大会2016 クラウドセキュリティ基礎 • Azure(+SORACOM) • セキュリティ・キャンプ全国大会2017 IoT時代のセキュアなクラウドインフラ構築術 • SecHack365 ハンズオン屋台 • GCP • セキュリティ・ミニキャンプ in 四国 2018(徳島) クラウドではじめるリアルタイムデータ分析
クラウドを使ったハンズオン • サブセットでは無くフルセットでの体験ができる • 「必要な時に必要なだけ」に見あったユースケース
クラウドを使ったハンズオン • サブセットでは無くフルセットでの体験ができる • 「必要な時に必要なだけ」に見あったユースケース ※なにもかんがえずにできるわけではない(白目)
クラウドハンズオンの課題 • 設計 • 仕込み • 当日 • 事後
アカウントの配布 • アンチパターン:当日その場で登録させる • 本来は事前にアカウント作ってきてもらうのがベスト • 大人向けの自己責任が通じるイベントならこれでよい (人材育成事業だとそういうわけにもいかない) • アカウント作成段階ではまると救うのが大変 • 何だかんだで当日まで用意せず来てしまう事がある • 全員が全員クレジットカードを持ってると思うな • 特に学生向けイベント • アンチパターン:講師のクレジットカードでその場で作成 (同一クレジットカードでの同日登録数制限があったりする) ⇒あらかじめユーザアカウントを作る
AWSの場合 • 個別にアカウント作って、IAM Userを渡す • • • • (昔はひたすら電話認証を通す簡単なお仕事が必要だった) 今だとOrganizationで管理しやすいはず(未検証) 権限は、ハンズオンに必要な範囲のみを渡す EC2が必要なら、インスタンスサイズの制限など • 削除するときはアカウントごと削除 • できるかぎりアクセスキーは直接使わせない工夫を伝える • 設定ファイルに直接書かない • 基本的には環境変数(direnvとか便利) • だいたい人は間違える(ハンズオン受ける慣れてない人はなおさら)
Azure • AzureAD建てて利用者のユーザを作成 • リソースグループを用意し、ユーザごとに権限を付与 • 終了後にはリソースグループを削除 • ポータル上のCloud Shellの活用 • ブラウザ上のログインユーザと同一の権限から操作が可能 • アクセスキーを使わせない • 未検証ながらTerraformとかもインストール済みらしい
GCP • Google apps無料版で利用者のユーザを作成 • 今だと新規に取れないので、Cloud Identity Free Editionが使え る? ※メール機能の無いGoogleアカウント(IdP)サービス • プロジェクトを用意し、ユーザごとに権限を付与 • 終了後にはプロジェクトを削除 • GCPもCloud Shell(未検証) • Azureと一緒
3クラウドの違い • 過去の経緯でAWSだけ権限システム設計が古い • AWSアカウント毎にIAM Userというモデル • 別アカウントからRoleに対してフェデレーションは可能だが、 ハンズオンには重い • アカウント内にリソースをまとめる枠組みは無い ※タグは付けられるが全部では無い・一括操作できない • 上記により、アカウント単位で分けるしか無い ※ただしOrganizationのリリースで相当にマシになった • AzureとGCPはだいたい一緒 • ID連携できるIDプロバイダがある • プロジェクト毎の階層があるので、その単位で一気に削除できる
ハンズオンの仕込み • 各クラウドの魅力を最大限伝える • なぜ今回のハンズオンはそのクラウドを選んだのか? • AWS • とにかく最大シェアであり利用者も多くユースケースが幅広い • つぶしがきく • Azure • AzureAD Free がありハンズオンのアカウント管理がしやすい • Stream AnalyticsやPowerBIなどIoT向けハンズオンで使いやすい • GCP • BigQueryがとにかく便利
ハンズオンの仕込み • 利用者PCへの依存を減らす • Cloud Shellや準備した作業用インスタンス • Limitに気をつける • 3つサーバを立てて負荷分散するハンズオンを20人 ⇒ 60サーバ一気に立ちます • アカウントわけないなら緩和申請出しておかないと当日死ぬ • 利用に時間が掛かるサービスに気をつける • 特にCDN系(CloudFrontとか) • 時間が掛かると判っていれば、講義でサンドイッチしたりできる
当日 • 祈る • • • • クラウド側で障害が起きませんように インターネット回線に障害が起きませんように ハンズオン環境NWに障害が起きませんように 利用者PCに障害が起きませんように • 障害に備えて、バックアッププラン • ちょっと多めに予備プレゼンの用意 • ハンズオンでやっている事の詳しい解説など
事後 • 使ったリソースを絶対必ず削除する • クラウド破産まっしぐら • 翌月にかならず請求書をチェック • (他の請求に紛れてると気づくのが遅れる) • 配布用ユーザも忘れずに削除
まとめ • クラウドを使ったハンズオン • はまりどころはあるが、フル機能を体感できる良い機会を提供できる • ポイント • アカウント・権限まわりは後発組が便利 • とにかくインターネット回線の安定性が鍵 • 払い出し時は、クラウド破産に気をつけて忘れずに削除
宣伝1 • SecHack365 • 25歳以下の学生、若手社会人を対象とした早期人材育成 • 1年という長期間の取り組みにより教育効果を増大 • アイディアソン、ハッカソン、遠隔開発、演習の組み合わせによる 総合的能力開発 • NICTが有する最先端の研究開発のノウハウ、研究資産(攻撃データ 等)の利活用 • 必要経費 約50万円(学生は全額負担) • 4月2日から募集開始!(〆4月20日) • 周りの「若手」にご紹介ください。
宣伝2 • マインクラフト • マルチユーザサーバ建ててます • 一緒にゆるふわしたい人募集 • #ssmjp Slackの #game まで