AWS勉強会@大阪 その4〜簡単なインフラの構築をやってみた編

四日目

 大阪オフィスにもかなり慣れ、作業にも集中出来るようになりました。(もちろん前日まで集中出来ていなかったわけでもないですが…。)
この日はあいにくの雨だったのですが、その0にも書いたように弊社大阪オフィス周辺には宿泊施設も多く、この勉強会の間は近隣のホテルに滞在していたので、雨でも移動時間が少なく助かりました。

スクリーンショット 2021-06-22 8.39.44

(※赤丸が弊社オフィス、値段のタグがホテル等の宿泊施設。)

 また、オフィス街ということもあり食事をとれるところもチラホラあります。そもそも少し歩けば新大阪駅なので、そのあたりに苦労することは概ねなく、学習に専念することが出来ました。

座学を離れて

 さて、ここまではどちらかというと本を読み込み必要事項の暗記に注力するような勉強を続けていたのですが、この日から実際にAWSのコンソールを操作して、シンプルなインフラ構成を組むことに挑戦していきました。

参考にした図書はこちら

画像1

AWSではじめるインフラ構築入門 安全で堅牢な本番環境のつくり方
(※Kindle版だとちょっと安い。)

 全15章だてになっており、基本的には最初から読み進めることで、(アカウントの作成から、ネットワークを構築し、サーバーを立て、DBを作り…etc)いつの間にか大規模な(?)システムが構築出来ているといった類のものです。概して非常にわかりやすく書いていますが、Linuxを用いた開発の経験が無いと少々ハマる部分もあるかもしれません。(結構そのあたりはサラッとしか記述していなかったり…。)

設計(図的なものを書いてみる)

 実際にインフラ構成を組むにあたり、いくら頭の中でイメージを膨らませてもやはり限界があります。そもそも各IPやCIDR、サブネット、セキュリティグループからポート番号まで全て覚えておくことも困難です。とすると、「あれ、どういう数字で設定したっけ?」となるようなことを避ける「メモ書き」は最低限必要といえそうです。
 インフラエンジニアの方はここでネットワーク図やシステム構成図というものを書くようです。確かに上述したような問題の解消の他にも

①アウトプット(可視化)を通して、目的がはっきりする。

②一度きれいな図を作成しておくとチームでそれを共有しやすい。

というようなメリットを私自身実際に書いてみて感じました。

 ①に関しては、あらかじめ紙面(画面)に各設定値や必要となるものが整理されていると後にコンソールを操作する際に迷いがなくなり作業効率が著しくあがります。

 ②に関してはそれでもうまくいかない(エラーなどが発生した)際に、視覚的に整理された情報を提示してチームに助けを求めることが出来るので、平たく言えば「話が早い」です。

 最初は紙になぐり書いていたのですが、上記②の利点からASCIIFlowというツールを用いて、デジタルで実際に私が書いてみたものが以下です。

スクリーンショット 2021-06-17 15.56.19

「見よう見まねでとりあえず書いてみた」程度のものなので、幾分陳腐ではありますが、そこはご愛嬌というものでしょう…。きっと何かしら決められた(あるいは慣習による)記法があると思うので、今後はそういった部分も学んでいけたらと思います。
 最初はASCIIFlowを用いて記述していたのですが、他にも便利なツールはいくつか(Draw.ioCloudcraftCaCooCreately…etc)あるようで、せっかくなのでDraw.ioを用いてより直感的に認識できるように書いてみました。

画像5

(※細かいネットワーク設定は省いています。)
アイコンが豊富で大抵のものはあったことに驚きました。もちろんAWSも一通りありますし、Azure・GCPもあります。ネットワーク図、ラック図、フローチャートなど様々な図をテンプレートから作成することも出来ます。

 やはり、アイコンがあると視覚に訴えかけ直感的な理解が容易になるような気がします。しかし、上述したASCIIFlowで書いた図と比較して

画像5

画像6

が増えています。

これは、それぞれ「Elastic Load Balancing(Balancer)」、「CloudWatch」といわれるものです。

所謂、design for failure「故障に備えた設計」や「冗長化」の為にこういったものを設置するのですが、それらの説明はその5に譲ることにしましょう。(つづく)



よろしければサポートお願いします! いただいたサポートはクリエイターとしての活動費に使わせていただきます!