ベルリンのITスタートアップで働くジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと流れ着いたソフトウェアエンジニアのブログ

AWSを最短でマスターするための入門者向けココロエ3箇条

これからAWSを学ぶ方へ「AWSを最短でマスターするための入門者向けココロエ3箇条」を書いた。これはあくまで入門者向け。AWSの全てを把握してバリバリにご活躍中のインフラエンジニアは除く。

AWSを最短でマスターするための入門者向けココロエ3箇条

  1. 全AWSサービスを視野に入れない
  2. 実践あるのみ
  3. ただし基礎は本から

この3箇条の意図をそれぞれ解説する。

1.全AWSサービスを視野に入れない

「さあ、これからAWSをマスターするゾ!」となってもいきなりやる気を削いでしまうのがこのアイコン列。

f:id:tango_ruby:20170221215127p:plain:w600

よく使いこなしている人にとってはお馴染みのアイコンだが、初学者にとっては「おいおい、これ全部把握しろてか?」となってしまう。まずは安心して欲しい、少なくとも私が今まで会ってきたバックエンドのエンジニアでこれらのアイコンの中身を全て完璧に把握していた人は居なかった。
「AWSを実務で使いこなすこと」≠「全AWSサービスを把握すること」なのだ。
この中から自分の担当プロジェクトに不可欠なサービスだけ抜き出して、まずはその主要サービスだけを徹底的にマスターする方が近道。
おそらくはEC2、S3、RDS、がまずは基本としてあって、その後にRoute53、IAM、CloudFrontなどが続くと思われる。

2.実践あるのみ

職場のAWSをよく知るエンジニア達にどうやってマスターしたのか、聞いてみると共通する答えは「実践あるのみ」だった。これはほとんどのプログラミング言語と技術に共通すること。実践すればするほど、身につく。インフラは失敗した時の影響がデカイのでついつい恐れてしまうが、不必要に恐れてはいけない。
「これ失敗したら、うちのサービスが落ちるんだぞ。分かってるだろうなー。おい」と脅されながら、やらなければならない、というヒリヒリした緊張感の中での実践がAWSスキルを向上させる。
失敗しても誰も困らないテストサーバーへの設定とは学べるスキルレベルが格段に違うのだ。「やってまえー!やってまえー!」という姿勢を基本的にオススメする。(もしサーバー止まったら頑張って自分で治してくださいね。)

3.ただし基礎は本から

AWSにはとても詳しいウェブドキュメントがたくさんあって「本なんか買わなくてもウェブで十分だわ」と考えてしまうと、案外それが遠回りになる。

AWSのウェブドキュメントの充実ぶりは凄まじい。「そこまで詳しい説明いらねー」と言うぐらいに、とにかく全部かいてある。ある程度のインフラ構築の基礎がある人が読めば、「あーそうか」となるのだが、AWS初心者が基礎が無いままドキュメントを読むと訳が分からなくて余計に時間がかかる。最短コースは基礎を本で学び、その上に実践で取得したスキルを重ねていく方法だ。で、分からない箇所があればそれをAWSのウェブドキュメントで補う。

ある会社ですごいAWSのドキュメントが残されているのを見たことがある。もうそれは「1)○○をクリック」「2)メニューから○○を選択」「3)枠に○○を入力」と事細かに書かれていた。だが、そんな完璧なドキュメントには負の側面があって、それは「ドキュメント通りの設定はできるがその自分でやった設定の意味がまったく分かってない人を生み出してしまうこと」だ。そういう、設定しただけで自分が何をしているのか把握してないエンジニアは障害発生時に何の役にも立たないのだ。

基礎は実践だけでは補えないし、充実したAWSのドキュメントにも書いていない。基礎を学ぶにはやはり本しかない。

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

上記の3冊はファイアーウォールの設定、サーバー構築、Apache、PHP、MySQLなどが順を追って丁寧に設定しながらその概念が説明されいる。今ではApacheよりもnginx、PHPよりもRuby、MySQLよりもPostgreSQLを採用するケースが多いかもしれないが、そこは大して問題にはならない。本書で学ぶべきはその概念だからだ。上記の本のうち、どちらかフィーリングが合う本を1冊読めばOkと思う。3冊とも読む必要はない。ちなみに私はそれぞれを借りたりして読んだだけで一番上の本以外、通読はしていない。それでも読む価値は大いにあった。


インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門

インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門

AWSに限定しないインフラの知識は必ず必要になる。本書にはインフラの説明をしながら「AWSでは~と呼ぶ」といった説明もあって、AWSのためのインフラやネットワークを学ぶには最適な1冊といえる。

まとめ

快進撃がとまらないアマゾンのAWS。既にアマゾンの営業利益の半分以上を占める稼ぎ頭となったAWSは全てのウェブサービスのプロジェクトで実装もしくは導入を検討されるサービスのひとつ。そんな訳でシンガポールのスタートアップ界隈の転職事情においても、バックエンドエンジニアの場合「AWSはどのぐらいできる?」は必ず聞かれる質問のひとつ。ところが「バックエンドのエンジニア募集!」とやった場合に必ずしも本業がインフラではないため、コーディングは強いがインフラ構築は弱い、という人がたくさん応募してくる。

そんな時に「オレはコーディングはもちろんインフラも完璧だぜ!」とやれば英語圏のエンジニア職への転職が非常に有利になるのは間違いない。そんなエンジニアを目指す方へ少しでも参考になればと思って書いた。
 
 
tango-ruby.hatenablog.com

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com