【AWS】何から手をつけていいか分からない方へ初心者学習法。必要なサービスはどれか。

こんにちは。ささそらとです。

ここ最近、クラウドやIoT、AIなど新しい技術での仕事も多く、
今回、私がAWSを初めから学んだ勉強方法や知っておいたほうがいいサービスなどをご紹介できたらと思っております。

ちなみに、AWSサイトを見ていただければ分かりますが、多くの大企業がAWS利用したサービスを提供をしており、
今後も需要が増して行くかと思っています。

私自身、現役のSEをやっております。
昔はよくオンプレミスがほとんどで、サーバを購入して、ミドルウェアやソフトウェアをインストールして。。。
といった作業がほとんどでした。
そのため、正直なところ数年前までAWSという言葉自体知らない私でした。。。笑

そんな私でも今では2年ほどAWSの案件に携わり、実際に開発したシステムが世に出ています。
これまで得た経験を初めてAWSに触れる方への参考となれば嬉しいです。

実施した勉強法

まず、実施した勉強法についてですが、基本Google先生にお世話になっておりました。笑

本を買って勉強するのもいいかと思いますが、AWSには多くのサービスが存在しており、自分はどのサービスを使用するかによって特に知らなくても問題ないサービスも存在します。

ですので、いきなり本を購入しなくても自分が知りたい範囲の情報をネットから取得したほうが効率がいいかと思っています。

ただ、ネットで調べる方法ですが、いきなりAWSのドキュメントサイトを見ないほうがいいかと私は思っています。今までの経験上、理由は単純に専門用語が多く、説明を見ても何のことの説明かがさっぱり分からないことが多いからです。よくある一般的な専門用語であれば良いですが、AWS内でしか通用しない専門用語が多数存在します。(シャードとかWCUとか)
そのため、頑張って理解しようとするとすごく時間がかかります。。。

もちろん、はじめ先に覗いて頂いて、問題なく理解できるのではあればそれに越したことはないですが、少し読んで分からない場合は早めに諦めましょう。

では、どうすればいいかと言いますと私は親切な方が記載してくれているブログなどを漁っていました!

ただ、ブログだと公式ページでないため、その情報に信頼性はあるのか?
または、情報が古いのではないのか?
といった不安が出てくるかと思います。

その通り、ブログだけの情報で全て鵜呑みにするのは確かに危険かと思います。特に業務で実施する際には。

そこで私がしていたのは、そのサービスでできることやどういう設定があって、それらの設定はどういう意味なのかといった概念的なところを学ぶようにしていました。
一通り自分が知りたいサービスの大体の知識を入れてから、AWSのドキュメントサイトで知識を補完して行くといった流れを繰り返し行いました。

そうすることで利用する上で問題なくサービスの内容を理解することができます。
実際にこの方法で調査して資料を作り、数日前まで全く知らなかったサービスを顧客に説明したりしてました笑

一度、学習方法で悩まれている方は上記方法はお金もかからないので実践して頂けたらと思います。

押さえておくサービス

参考までにこれまで業務でよく使用するサービスをご紹介します。

AWSで環境構築する上でどういった構成にするかをはじめに考える必要がありますが、
まず各々のサービスや連携を理解していないと難しいため、はじめ主要なサービスを押さえておいたほうがいいかと思います。

EC2

簡単にいうとVM環境のサービスになります。Virtualboxなどで仮想環境を作るようなイメージで、自分で好きなように画面からスペックなどを入力して簡単に仮想環境ができてしまいます。

OSは、WindowsやLinuxなど一通り有名なところは予め用意されています。

ただ、課金体系が起動時間で加算されて行くため、高スペックのインスタンスを起動し続けるとそれないの金額になりますのでご注意を。

RDS

RDSは、リレーショナルデータベースを利用できるサービスになります。イメージとしては、DBサーバを簡単に立ち上げてくれるサービスのようなものです。

OracleやMySQLなどの有名どころは存在しています。

こちらもEC2同様に起動し続けるとそこそこの金額になりますのでご注意を。

S3

S3はストレージサービスになります。ファイルサーバのようなイメージです。

簡単にファイルのアップロードやダウンロードできたりと色々便利なサービスです。

料金も極端に大きな容量を格納しなれければ、基本的にはストレージの使用量によって課金される仕組みですので、そこまで大きな金額にはなりません。

Lambda

Lambdaは、サーバレスで動作し処理を実行できるサービスです。実際にプログラムを管理画面上かコーディングできて簡単に実行することができます。

言語は、pythonやnodejsなどjavaもあります。

料金も無料枠がありますので、試しで動作させる分にはほぼ無料でできるかと思います。

DynamoDB

DynamoDBは、リレーショナルデータベースではなく、Key-Valueストアのデータベースになります。今までリレーショナルしかしていない方だと少し抵抗があるかもしれませんが、RDSと違いサーバレスですので起動時間で課金はされず、比較的安価で使用できたりします。

API Gateway

リクエストのURIによって、どのエンドポイントを動作させるかなどAPIの定義が可能なサービスです。
オンプレだとTomcatなどのサーブレットコンテナ的な役割をしてくれるイメージでいると分かりやすいかもしれません。

Cognito

認証/認可などをしてくれるサービスです。
構成によりますが、特にプログラムで実装することなく、認証と認可の機能を実装することができます。
私は、サーバレス構成の構築の際に利用していましたが、管理コンソール上での設定で、
後はAWSが提供しているSDKを利用すれば、よしなに色々できてしまいます。

まとめ

以上、いかがでしたでしょうか。

はじめてのものに触れるときは、モチベーションが上がる反面、分からない事ばかりでストレスも溜まることもあるかと思います。

しかし、実際に環境に触れて、構築や実装を行っていくことで自然と身についていきます。

簡単にサービスをご紹介させて頂きましたが、他にも沢山のサービスがございます。オンプレに比べ色々考えることも少なかったり、後で簡単に増設ができたりすることが可能であるAWSといったクラウドサービスは使用していてとても便利だなと感じます。

今、別案件でオンプレの作業をしていますが、AWSだと楽なのになあーと思いながら作業しております。笑

コメント

タイトルとURLをコピーしました