情報畑でつかまえてロゴ
本サイトは NTTテクノクロスが旬の IT をキーワードに
IT 部門が今知っておきたい最新テクノロジーに関する情報をお届けするサイトです

ソフト道場のAWSプロが手掛ける、社内ハンズオン研修を大公開!【押忍!ソフト道場】

今回は道場研修講師を勤める私が「AWS入門編」研修について紹介いたします。

はじめに

こんにちは。NTTテクノクロスの渡邉です。
今回は道場研修講師を勤める私が「AWS入門編」研修について紹介いたします。

道場研修とは

開発現場で活躍するプロフェッショナル社員を講師とした実践型の技術者育成組織で、実務経験豊富な当社プロフェッショナル社員の実践経験から得られたノウハウを用いて社員自ら研修コンテンツを作成し、全社員の技術力向上に貢献しています。
道場のカリキュラムや講師紹介等はこちらをご覧ください。

AWS関連の道場研修のご紹介

道場が主催するAWS研修は、難易度別に以下の2つを実施しています。
※応募人数により開催可否、回数が決定されます。

  • AWS入門編 (1日コース、年2回開催予定)
    目的:スタートアップで押さえておきたいAWSの基本プロダクトを学ぶ。
  • AWSトレーサビリティ&ログ可視化ハンズオン (1日コース、年1回開催予定)
    目的:AWS利用におけるアクセスログの管理方法を学ぶ。

本研修の概要

本研修は下記の3本立てとし、「クラウドは手を動かしてこそ!」という意味合いも込め、ハンズオンの時間配分を全体の8割近くに設定しました。

  • AWSサービスの紹介
  • 標準的なWEBシステム構築のハンズオン
  • 自由課題(Tips紹介含む)

ハンズオンで構築するシステムは、弊社の開発プロジェクトで扱う機会の多いWEBシステムとし、その構築を通して基本的プロダクトを学ぶことのできる実践的なカリキュラムとしました。

ハンズオンカリキュラム検討

本研修のメインとなるハンズオンについては、入門編と言えどもAWSクラウドデザインパターンを意識した設計に触れて欲しいため、下記の方針を基にカリキュラムを作成しました。

  • 簡単なWEBアプリ用の環境を、半日程度で調達できること。
  • 負荷条件を元にスケールアウトする環境を作成できること。参考
  • ロードバランサを用いた冗長化構成を持つ環境を作成できること。参考

ちなみに、1つ目の箇条書きは「作成」ではなく、「調達」とあえて表現いたしました。
物理マシンの調達って、社外・社内の調整が結構大変ですよね......。

具体的には下記のような構成を独力で、かつ半日程度で構築出来る。というのが本研修のゴールとなります。
※ AWSのリソース操作に注力してもらうため、WEBアプリケーションとしてはWordPressを利用しています。

image1

研修開始!

今回の受講者は13人。AWS利用に興味のある開発職が大半でしたが、事前に概要紹介のWBT受講を課しているにも関わらず、中には営業の方も!
今年の新人さんや、以前同じPJだった先輩も参加していて、これは適当なこと言えないなと緊張が走りました。

講義ペース配分って難しいですね。。。

まずは座学で基本プロダクトの紹介です。
5つのプロダクト(EC2、RDS、S3、VPC、IAM)を1時間弱で紹介するため、ペース配分がなかなか難しいところです。
特にセキュリティ面に響いてくるVPCとIAMについては丁寧に説明することができた反面、RDSとS3の説明が早足になってしまったのが個人的反省点です。

ハンズオンで出たハマりポイント

続いて本研修のメインである、ハンズオンコーナーとなります。
実際に研修を進めてみると、受講生が悩んでしまう箇所もいくつか出てしまいました。
今回出たハマりポイントを紹介します。

ポイント1.起動したEC2インスタンスにログインできない

●なぜログインできないの? (再掲 作成予定のシステム構成図)

image2

結論としては、VPCの単純な設定ミスが原因と分かりました。
インスタンスがインターネットからアクセスできる為には、

  • 対象となるVPCに、igwがアタッチされている
  • 配置したいSubnetが、igwを送信先としたRouteTableと関連付けられている(Public Subnet)
  • Public Subnetに、インスタンスが配置されている

の3つの条件が満たされている必要がありますが、今回は2番目が失敗していた様子。
具体的には、RouteTableの送信先設定時にCIDRブロックの入力を誤っていたため、Subnet内のインスタンスが、インターネットとの疎通に失敗したと考えられます。
実際の構築時でも、ルーティング設定を間違えると設定ミスに気がつくのに時間がかかるので、注意が必要ですね。
本件に関しては、「研修資料の記述が分かり辛い」というのも原因の1つであるため、該当箇所を赤字で強調するなど改善しなくては。

ポイント2.WordPressコンソールからプラグイン取得を試みると接続エラーとなる

●どうしてエラーが出るの?

研修環境のネットワークから、ロードバランサー(ELB)経由で、WordPress入りのEC2インスタンスへアクセスしていたのですが、
EC2インスタンスからWordPressのプラグインを取得する際に、
ELBのタイムアウト待ち時間 < EC2インスタンスからの応答時間

となる場合が頻発し、タイムアウトが発生した模様。......orz

●そもそも、どうしてプラグイン取得にこんなに時間がかかるの?

今回のEC2インスタンスは、インスタンスタイプ「t2.nano」を利用していましたが、
どうやらプラグイン取得時にメモリを大量に利用していた模様。......orz......orz

t2.microへスケールアップしてメモリの使用状況を確認したことで、原因特定に至りました。

[ec2-user@ip-10-0-1-200 ~]$ free
total       used       free     shared    buffers     cached
Mem:       8176768     593684    7583084        156       9736     107848

研修準備時に行った事前確認では(たまたま?)発生しなかったので、

  • 準備時に利用したインスタンスタイプの誤り?
  • 一時的な環境起因の問題?
  • etc......

などなど考えられますが、今回のケースでは「受講者を待たせるわけにはいかない」という時間的制約があったため、「とりあえずスペックを上げてみる(スケールアップしてみる)」という選択肢もトラブルシュートの一手法として考えられます。 スペック変更も簡単に出来る、AWSのメリットを改めて体感しました。

受講者からのフィードバック

道場研修では、受講者から率直な意見をフィードバックとして得られます。
講師、受講者すべてが弊社社員という道場研修ならではのメリットと思います。

研修資料に画面キャプチャがもっと欲しい

このコメントの背景は「研修資料に記された設定値を入力したいが、そもそもコンソールから入力画面に辿り着けなかった(例えば、EC2インスタンスを作成する手順)」と理解しました。
AWSマネジメントコンソールは常に最新化されるため、今回の研修資料では汎用性を重視し、最低限の記述のみに留まるスライドも多々ありました。
各作成画面までの導線を理解して貰えるよう、画面デモを手厚く実施するなど、改善していきたいです。

おわりに

上に挙げたようなトラブルもありつつ、無事に目標のアプリケーション環境作成まで進むことが出来ました。やったね!
社内講師は初めてだったので、受講者のみなさまにも色々ご迷惑をかけたかと思います。
もしこの研修で、AWSって案外となんとかなるな、次の案件でも使ってみようかな。と感じて頂けたのであれば、講師として一番嬉しいですね。ぜひとも使い倒して欲しいところです。

個人的な野望としては、次はサーバレスアーキテクチャ研修等もやってみたいところ。準備が間に合えばぜひ......

おまけ

今回の研修ではCostExplorerの活用を意識し、リソース作成時に可能な限りタグを付与する手順としました。
これによって研修にかかる料金も簡単に集計でき、研修のコスト管理も自在に可能となりますね。

著者プロフィール
渡邉 洋平
渡邉 洋平
AWS基盤上での商用メール配信システムや画像解析処理システム構築経験を持つ。最近ではAWS関連の支援業務も兼務。 部署名にクラウドが付いてなくても頑張ります。 自家製チャーシューやほうれん草のおひたし、レトルトを用いない麻婆豆腐など自炊も随時勉強中。