AWS 認定ソリューションアーキテクト – アソシエイト(SAA)に合格するための"SAAの気持ち"

こんにちは、日本リック エンジニア採用チームです。

今回は日本リックのインフラエンジニア Hさんに記事をお願いしました。

Hさんは9月に『AWS 認定ソリューションアーキテクト – アソシエイト』に合格したばかり。
今回はSAAの勉強のポイントについて教えてもらいました。

**「SAAの”気持ち”」**

伝わると嬉しいです。


## はじめに
こんにちは、今回はエンジニアリンググループ所属のHが担当させていただきます。
普段の業務ではオンプレミスが大半でAWSを扱うことが少ないながら、AWSの資格 ソリューションアーキテクト – アソシエイト(以下SAA) に合格しましたので、私が勉強した上で感じた「SAAの”気持ち”」をこれから資格取得を目指される方向けにお伝えしたいと思います。

## ”気持ち”って何？
初対面の人と仲良くなるにも、事前の情報はあるに越したことはない訳です。
正体不明の相手と探り探り付き合いを始めるのではなく、相手のクセを知ってスムーズに仲良くなって欲しい。
つまり、SAAの 人となり を知って ”コツを掴みやすくなって” 欲しい、という所で ”気持ち” としています。
”気持ち”を知った後は学習するだけとなりますが、学習方法については数多の記事がWEB上にありますので、そちらを参照されると良いと思います。

自分が疑問に思っていたことを整理した記事になりますので、初心者向けの内容かと思います。
雲を掴むような勉強をしていて難しい。そういった方の参考にもなれば幸いです。

### 執筆者の技術レベル感
「これは難しい」とか「よくある構成だ」など、どの立ち位置から言っているの？
という事は大事だと思いますので、私のプロフィールを簡単にご紹介します。

・30代前半 男子
・CCNA所持
・オンプレミスが主な業務を2年
・業務ベースでのAWS構築経験は無し
・個人的なハンズオンでの構築経験は少しだけ有り
といった感じになります。

## 気持ち1：試験ガイドの最後を読む
最初の一歩としてよく紹介されているのが、以下のAWS公式で配布されている
試験ガイドです。

https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/

「試験ガイドを読んで求められている事を把握しましょう」というアドバイスを目にしますので、勉強し始めの頃にガイドを途中まで見てみましたが、正直なところ
『世の人はこの文言で試験に内容を把握できるのか！？』
と自分に対して残念な気持ちになりました。
求められている事が言語化されていて、ありがたいと言えばありがたいのですが、それを学びに活かせるかどうかは別問題かと･･･。なので、そちらはまた今度読むことにしまして、直接活かせる情報を得ましょう。

試験ガイドですぐに活かせる分かりやすい情報は**一番最後の付録**となります。

付録には試験の対象となるサービスが列挙されています。
AWSのサービスを調べると分かりますが、200を超えるサービスが有ります。その中で何について勉強すればいいかを把握することが第一歩でしょう。
できれば一覧に乗っているサービスで何が出来るかを、ざっくり理解しておくと勉強がはかどると思います。

## 気持ち2：そもそもソリューションアーキテクトって何？
資格の対象となるサービス群は理解できたかと思いますが、それらについてどのように理解すればいいの？という点については、方向性が定まっていないのではないでしょうか。
さて、SAAはソリューションアーキテクトの資格ですので、ソリューションアーキテクト的な目線でサービスを理解すればSAAの試験をクリアできるわけです。
私の解釈では「ソリューションアーキテクト」＝**「適切なサービス構成(ソリューション)を提案できる人」**と理解しています。
つまり
「やりたい事はこのサービスで出来ますね」
「A,Bどちらのサービスでも希望は達成できますが、Aの方が安くて早くて上手いでしょう」
「そのサービスを使用する際はこのサービスと連携するのがベストですよ」
「サービス同士はこれで接続しましょう」
「構成の提案はできますが、詳細な構築手順や運用上の懸念についてはそれほど知りません」
と言える人物になる事です。
気持ち1の試験ガイドに乗っているサービスについて上記のような事が言えるように、サービスを理解出来るようになることが大切です。

## 気持ち3：前提条件と接続する方法が大事
AWSといえばEC2、S3が代名詞となっている程に有名ですが、実際に使用するには、どうやってこの二つのサービスを作成して接続するでしょうか？？
ざっくり表現するとこんな感じです。

```
[作成]
VPC作成 → サブネット作成 → EC2作成
S3バケットの作成

[接続]
VPCエンドポイントを作成してVPCとS3をつなぐ
```

このようにEC2を建てるためにはVPCをまず作成していなければいけません。構築時に前提条件を忘れていてエラーで怒られるという事はよくあるので、勉強される時は１，２，３，と順番を振って**前後関係をハッキリ**させると、サービス全体の理解も実際の構築にも役立つ事請け合いです。(多分)
実際は上記例にプラスしてもう少し必要なものが有りますが、そういった所を理解するためにEC2ぐらいであれば作成してみると良いと思います。

また通常のネットワークがそうであるように、AWSでもデータの移動経路として入口と出口が出来ますが、サービスによって接続可能な接続元と接続先があります。
・どのサービス**"で"**接続できるか
・どのサービス**"へ"**接続できるか
ここを意識できれば、様々な資料から得られる気づきポイントも多くなります。

## 気持ち4：要件の単語とサービスを結びつける
受験にあたってのテクニックにもなりますが、解決したい内容を単語で捉えて、その単語とサービスと結び付けられるようになれば、理解しやすくなります。
こちらも例を出してみます。

```
TB単位のデータ、BIツール　⇒Redshift
静的WEBサービス、低い運用コスト　⇒CloudFrontとS3
疎結合、サーバレス、不定期な処理、15分以内の処理　 　⇒SQSとLmbda
　　　　サーバレス、不定期な処理、15分を超える可能性 ⇒S3とglue や Batch
```

AWSでの構築事例やWEB上の記事で「今回は〇〇を▽▽するために☆☆を使ってみました」という文があった時には
〇〇、▽▽　⇒☆☆
といった形で結び付ければ**サービス毎の差異が分かりやすい**です。
上記例でもLmbdaを使うかどうかの基準が一例ではありますが、分かりやすいと思います。
構築例はガチガチの暗記ではなくストーリーチックだったりするので、意外と記憶に残るかもしれません。

## まとめ
いかがでしょうか、SAAさんの ”人となり” は掴めたでしょうか？
SAAは「AWSという新しい商品」についての知識を問われる資格なので、これまでどれだけオンプレミスでのインフラ歴が有ろうとも、勉強無しで取れる資格ではないと思います。
新人もベテランも、どれだけAWSを使用して勉強したかが試されていることになります。
つまり、**AWSの前にはみな平等**ということです！(過言です)
理解の応用力に差はあれど、一からの勉強であることに変わりは無いので、皆さんも同じ道のりを越えて頂ければと思います。

## 付録
一番大事なのは**一番最後の付録**ですので、私が勉強になったページをご紹介します。
多くの人が躓くのでおなじみの IAM について解説されているページです。
このページを見れば IAM嫌い が無くなる事間違いなしです。(過言ではない)

https://dev.classmethod.jp/articles/iam-role-passrole-assumerole/