S先輩にきいてみたっ！- Amazon Web Serviceの複雑な大規模デプロイメントに対応するデータストレージ - 第6話 プロフェッショナル

[第１話](http://qiita.com/ukiuni@github/items/c82cf2b0b3d16ab7c2a0)、[第２話](http://qiita.com/kazuqqfp/items/1e326e1452468c33800b)、[第３話](http://qiita.com/imafuku/items/b40a5a9b049c38fdbd48)、[第４話](http://qiita.com/aikawa2002/items/191d34b5b7c2c836a69f)、[第５話](http://qiita.com/alingogo/items/d3b4b0e61791555d28f0) はご覧になっていただけましたか？

今回は連載第６話になります。今回の話題はデータストレージです。
なお、ストーリーはフィクションであり、実在の人物・団体とは一切関係ありません。

#第６話 プロフェッショナル

梅雨の時期に入り、朝から土砂降りだ。こんな日の通勤はしんどい。
電車はラッシュで蒸し返したようになり、誰かの傘の先が当たって痛いわ、革靴はびちゃびちゃで気持ち悪いわ･･･
会社に着き、缶コーヒーを飲みながら、ぼーっとパソコンの起動を待つ。早く梅雨終らないかなぁ･･･ちょうど今日の空模様のようにもやもやとしたもので頭の中をいっぱいにしていた。
「どうした？冴えない顔して。いい男なんだからシャキっとしなよ。」
S先輩の声は雲の間から差し込む一筋の光のようだ。言っていることは結構キツイのだが、僕も慣れたのか、今ではむしろ心地よく感じる。
『渇』のおかげで、さっきまでの憂鬱は消え、やる気が湧いてきた。
「ところで、AWSの勉強、やってる？」
A君はシャキっと気を切り替え、
「今AWSのデータストレージをやってます！」（キリッ）
･･･あれ？
S先輩は堰を切ったようにわらいだした。「ごめんごめん。」ひとしきりしたあと、涙目で続けた。「ちょっと、Aくんの顔が、なんというか、面白くって。」
どうやら勢い余って、変な顔になってしまったようだ。
「ふーん。データストージのとこねぇ。あそこ結構大変でしょう。」
ちょうど昨夜、AWSのデータストレージに関する情報を調べていたところだった。
結構おもしろい内容で、気がついたら夜中の２時を回っていた。
ココは、S先輩にいいところ見せられるチャンス！睡眠時間を犠牲にした甲斐があった。
A君は、昨日知った情報を、あたかもよく熟知しているように話した。

「データストレージに関してはバッチリっすよ！
まず、AWSのストレージには
Amazon S3、Glacier、Storage Gateway、Elastic File Systemというものがあります。
S3はAWSが出来た当初からある老舗サービスで、使いたいデータを使いたいときにすぐ使えます。
特徴は、高い堅牢性、冗長化とバージョニング、それとセキュリティ機能、SSL、自動暗号化、ACL
また、Webサーバーとしての機能もあります。
GlacierはS3と同様に高い堅牢性を持ちつつ、料金が低価格になっていて、
S3との主な違いは低コストなのですが、リアルタイムにデータを取り出すことが出来ないってことです。すぐにアクセスできなくてもいい情報を長期保存するのに向いています。
Storage Gatewayはオンプレミス環境やEC2からS3やGlacerを直接使用する為のサービス。
利用タイプとして、ゲートウェイ保管型、ゲートウェイキャッシュ型、ゲートウェイVTL（仮想テープライブラリ）というのがあります。
Elastic File Systemは複数のEC2インスタンスから、ファイル共有プロトコル：NFSv4を使って同時にアクセスでき、またファイル容量を自動的に拡張・縮小してくれる。ファイルサイズはペタバイトオーダーまで拡張でき･･････
データベース関連ではRDS、ElastiCache、DynamoDB、Redshiftというものがあり･･･」
と早口でまくるように試験勉強で頭に入れた情報を一気に吐き出した。

どうだ！

･･･あれ？

「A君！凄い詳しいじゃん！」と賞賛されると思い、ちょっとドキドキしていたのだが、S先輩の顔は無表情のまま数秒間、沈黙が続く。
しばらくして、S先輩が吹き出した
「ごめんごめん。。また顔が面白いの。」
え？どうやら、S先輩のあまりのクールな態度に意表をつかれ、間抜けな顔になってしまったようだ。
S先輩は続けた
「A君さ、今話した程度の知識で得意になるのは・・・アソシエイトの資格を取ろうという人が言うならわかるけど。プロフェッショナル狙ってるなら、ちょっと甘いわよ」
「・・・ど、どういうことですか？」
A君は聞き返すまもなく、S先輩は振り返り去っていった。
出直してこいってことか･･･

その夜。A君は改めて試験の出題事項を読んだ

ドメイン 5.0:　複雑な大規模デプロイメントに対応するデータストレージ
5.1 ストレージオプションに関連するアーキテクチャ上のトレードオフ判断を下す能力をデモンストレーションする
5.2 データベースオプションに関連するアーキテクチャ上のトレードオフ判断を下す能力をデモンストレー ションする
5.3 最も適切なデータストレージアーキテクチャを実装する能力をデモンストレーションする
5.4 同期レプリケーションと非同期レプリケーションを比較して使用を判断する と、ある。

ふむふむ。
『アーキテクチャ上のトレードオフ判断を下す能力をデモンストレーションする。』とある。
つまり、複雑・大規模なシステムの構築を考えた場合に、何が最適なのか、状況に応じて適切な判断ができる能力が求められるということか
AWSのストレージとデータベースは何か？　という事を知っているだけではダメなんだ･･･S先輩が「甘い」といったのはこの事だったんだ！

それは具体的にどういうことなのか？AWSの実際の適用事例などを、なぜそうなっているか？というところに着目し、黙々とネットサーフィンしていた。
ふむふむ。なるほど･･･
ところで、AWSのサービス名には「Elastic」という言葉が使われる物が多い。これは柔軟とか軽量という意味の他に「ゴムひも」という意味がある。
AWSが意図しているのは前者の方だが、サッカーでエラシコという技があったのを思い出した。ボールを弾いたと思ったらスグに足元に引き戻ってくるフェイントテクニックで、
動きがまるでゴム紐のようだから「エラシコ」という名前がついたという。セルジオ越後が編み出したといわれている。ココでもホラ、ビバ日本である。（セルジオさんは日系人ですが）
AWSの勉強がわき道にそれてしまった。そろそろ集中力が切れてきたのかもしれないと思い、時計を見たら夜中の3時を回っていた。

翌日、O上司が
「隣の部署のB部長と飲んだんだ。
アマゾンのMySQLタイプのRDBを使ったシステムを開発・リリースしたようなんだが、カットオーバー後半年足らずで、予想以上にデータ量が増えてデータベースの容量が問題になっているらしい。
当初、データのキャパシティの見積もりが甘かったというか、運用の想定が足りてなかったようなんだが、なかなか難しいよね。まぁ容量を随時増やすことはできるようだけど、ひと手間かかるし、簡単とはいえ操作ミスのリスクが無いわけじゃない、シビアな作業だよね。」
といって来た
最近、O上司はAWSの類のネタがあるとA君にいろいろ話してくる。以前お願いしたクラウド移行の話もあり、期待しているのだろう。
A君は
「それでしたら、Auroraを検討してみてはいかがでしょうか。
Auroraの主な特長の一つにオートスケーリングが可能という点があります。容量が足りなくなったら自動的に10GB単位でスケーリングされます。データベースの空き容量を監視し危なくなってきたら追加するような運用から開放されます。また可用性の点でも他のRDSに比べ向上しています。」
「ほう、詳しく教えてくれ」
A君はAuroraRepricaの機能、リードレプリカの自動昇格機能など、特にO上司が話題とした現状などを確認しながら、Auroraの特長や具体的に導入する方法、コストに関する情報などを話した。
また、想定以上に肥大化したデータの特性なども確認し、システムの構成・特性によってはNoSQLであるDynamoDBの可能性なども話した。
O上司は真剣な顔で
「なるほど。A君詳しいね。今度、B部長の言っていたシステムのメンバー達と話したいね。いい情報交換が出来そうだし、お互いに協力しあっていきたいんだ。
今度ミーティングを設定するので、Sさんと一緒に参加して欲しい。」
「はい！是非！」
A君は頼りにされたのがとても嬉しかった。
要するに、単にAWSのサービスの種類を知っているだけでなく、リアルな現場で、現実問題を捉えた上で、どうするのがより良いのか？を検討できるスキル。ただ知識をひけらかして終るのではなく、知識・知恵を絞って実際に問題を解決する力があること。これこそがプロフェッショナルであると考えた。資格試験のポイントとしても、アソシエイトではなく、プロフェッショナルに求められる違いもそこにあると考えた。

S先輩はその会話を聞いていたようで
「A君、やるじゃない。勉強したのね。」と微笑んでくれた。
「ありがとうございます。実は昨日も夜遅くまで勉強してました。S先輩にちょっと甘いといわれたのが悔しくて」
A君が少し照れながら返事をしたとき、既にS先輩はその場を去っていた。いい匂いがした。

----

次回は「セキュリティ」をテーマにする予定です。よろしくお願いします。