素人のAWS認定ソリューションアーキテクト – アソシエイト試験
概要
社内でAWSの重要度が高まっているのと、純粋にAWSに興味があったため受験しました。
振り返りの意味を込めて、その時に役に立ったこと、ポイントなどを紹介します。
(※2020年10月時点の情報です。)
あくまで、「試験合格」に絞っています。AWSを使う技術とはまた別物という認識でお願いします。
勉強前の自分の状態
・インフラ経験は2年程(オンプレミス)
・AWSはまったく触ってこなかった
・情報技術者試験持ちの知識量
「インフラの知識あるなら楽勝でしょ?」
これは良く言われていますが、少なくとも私はそれほど役に立たなかった・・・(インフラといっても幅広いから個人の意見です)
1番楽勝なのは、常に触り続けていること。
試験対策の期間
2020/8/20 : 自社でAWSの重要度が高まっていると聞く。じゃあ受けるか、と軽く決める
2020/8/21~ : 全然勉強できなかった。(子供、通勤、モチベ、etc・・・)
2020/9/15 : そろそろヤバいと思いだす。通勤時間と夜の数分を勉強に割り当てる。
2020/10/3 : 模擬試験で60%代を叩きだす。恥ずかしさで死にたくなる。ちょっとだけ焦りながら勉強する。
2020/10/10 : 合格
総勉強時間 : 18時間位
試験対策と勉強法
1. 公式ドキュメントを読む
とりあえずガイドを読んでみる。
なんか聞き覚えがあるようなサービス名があるな〜。すごい一杯あるし...覚えられるのかなこれ〜(心配)
結果、時間もないので主要なサービスを見返す時に活用する程度で終了。
すぐさま、こっちへ逃げました。
こっちもいいけど、流石に時間が溶けるので程々に。
2. 試験対策本の購入
徹底攻略 AWS認定 ソリューションアーキテクト – アソシエイト教科書
黒本ってやつですね。JavaSilver取得の時にお世話になりました。
しかしAWS試験はいわゆる「暗記問題」とも言い難いため、中身はサービスの紹介が主になっていました。
入門書としては最適かもしれません。
試験対策としては、ちょっと物足りなさを感じました。
3. AWSで実際に構築
文字を読んでも良く分からん!我は実際に手を動かして覚えるタイプよ!
って方も、それ以外もオススメ。
当たり前ですけどお金が掛かるので注意。(無料枠もあるけど直ぐ飛び出る)
必ずCloudWacthで課金アラームをセットしよう。
AWS の予想請求額をモニタリングする請求アラームの作成
自分はWebサービスを構築してみて、各種必要な設定などを確認しました。
やはり、自分で操作すると覚えが違いますね。
とはいえ、試験範囲のサービスは膨大で、全てを自前で用意したりすると、結構なお金が掛かるので現実的ではないです。
4. WEB問題集でスキマ時間を活用
これに凄く助けられました。
通勤時間の合間に。休憩時間の合間に。
まとまった時間が中々とれない自分にとって、このお手軽さは魅力的でした。
むしろ合格するだけなら、これをひたすらやることをオススメします。
試験のポイント
問題の内容は、サービスのユースケース、もしくは要件に対するコストパフォーマンスを問うものが主となっていました。
つまりサービスをどれだけ触ってきたかがモロに出ます。
もちろん、冒頭でも書きましたが私もAWSはまったく触ってない素人から合格したので、どこがポイントが紹介します。
1. キーワードによる暗記
AWS試験は暗記ではないとは書きましたが、実際サービスに関連する「問題のキーワード」があります。それを覚えることによって、問題の難易度は大幅に下がります。
以下に幾つか列挙していきますので、ご参考にどうぞ。
Keyword | Answer | Comment |
---|---|---|
[ 大量の静的コンテンツ ] [ ユーザへの応答時間が長い ] | S3をオリジンとしてCloudFrontディストリビューションを設定する。 | SAA試験ではCloudFrontをめっちゃ使わせようとします。まぁ便利なんですけどね。 |
[ RDS ] [ 読み取りのレイテンシー ] | リードレプリカを作成する。 | RDSで読み取りときたら8割これ。 |
[ データベース ] [ 構造化データ ] [ 拡張性・可用性 ] | Amazon Aurora | 答えにMysqlとかPostgresqlとか入ってたら確実。AWS以外のサービスは幸福になれない。 |
[ セッションデータ ] [ 一貫性・可用性・耐久性 ] | Amazon DynamoDB | セッションデータだとDynamoDBが6割。時々ElasticCacheだったりする。 |
[ POSIX準拠 ] [ 共有ストレージ ] | Amazon EFS | POSIX準拠がきたら確定演出。 |
[ S3 ] [ 操作ミスによる削除防止] | バージョニング有効化 | MFA認証が付属する場合もある。 |
これらは一例ですが、複数の問題を解いていく内に自分の中で掴んでいくはずです。
しかし暗記だけだと辛いのも事実・・・。
そのため複数の活用例を理解し、自分の中で噛み砕く必要があります。
2. 頻出するパターン
AWSのサービスを組み合わせたものでも問題中で頻出するものがあります。(ほとんどが活用集に書いてあるもの)
それも3ケースのみですが紹介していこうと思います。
◇◇ ケース1 ◇◇
VPCのセキュリティを設定して、バックエンドのDBインスタンスがインターネットからアクセスできないようにし、
アプリケーション層からのみアクセスできるようにする。
データベースのネットワークセキュリティを設定する問題です。
具体的には以下のことが必要です。
・DBインスタンスのプライベートサブネットを作成する。
・セキュリティグループを設定してアプリケーションのセキュリティグループからのリクスエストのみ許可する。
プライベートサブネット、セキュリティグループ、ネットワークACLはセキュアな構成を作成する上で、必ずと言っていいほど出ます。
プライベートサブネット: インターネットゲートウェイを指定してないサブネット。
セキュリティグループ: インスタンス単位。ステートフルな制御。
ネットワークACL: サブネット単位。ステートレスな制御。
◇◇ ケース2 ◇◇
単一のアベイラビリティゾーン(AZ)に2つのEC2インスタンスが実行されている。
このアーキテクチャの可用性を高めたい。
可用性を高める問題です。
SAAには可用性を問うものが大多数を占めますが、そのなかでもAuto Scalingはかなり頻出するサービスです。
あと単一AZと出たら、複数AZに分散させるのが定石です。
またAuto Scalingで増えたインスタンスを負荷分散するためApplication Load Balancer(ALB)も併用します。
・複数のAZで同一のインスタンスが起動するように構成されたAuto Scalingグループにインスタンスのターゲットグループを追加する。
・ALBをAuto Scalingグループのフロントに配置する。
この構成はかなりメジャーらしく、AWSも推してくる。
Auto ScalingはCloud Watchを使ったリソース閾値のトリガーや、スケジュールでのスケールアウトが可能。どの方式でAuto Scalingを設定できるかも覚えておきたい。
Auto Scaling: スケーリングプランの設定値によりEC2インスタンスのスケールアウトが可能。リージョン間でグループ設定出来ないので注意。
ALB: 標準的なロードバランシングの機能を持っていることに加え、設定したパスで振り分けることが可能。動的マッピング。こちらもリージョン間は不可能。
◇◇ ケース3 ◇◇
インフラストラクチャの管理する運用オーバーヘッドなしで、マイクロサービスを実行でき、
リクエスト数が急激に変化しても対応できるように、短時間でスケーリング可能なソリューションは?
書いてて思うのですが、凄い良いとこどりですね。
いわゆるサーバレスな構成を選びとる問題です。
最初はスケーリングって単語でAutoScalingとか選びがちです。
・API GateWayを配置し、背後でLamdbaを実行する。
サーバレスって良く分かっていなかったですが、AWSを通して理解できた気がします。
AWS Lamdba: サーバを起動することなくコード実行可能。可用性、スケーリングはLamdba自身で自動管理。実行した分だけ料金発生。
API GateWay: APIの管理を簡潔に行うサービス。Lamdba以外にもEC2インスタンスとも組合わせ可能。
上記を3ケースを紹介しましたが、これはAWSのほんの一部であり、試験ではもっと要件を長ったらしくしたものが出ます。
活用集や問題をこなし、組み合わせの引き出しを多くすることをオススメします。
最後に
試験は日本語で書かれていますが、翻訳が所々おかしいところがあります。
原文が表示できるので、適宜英語の方で読むと謎な日本語が解決するかもしれません。
AWSの試験を受ける理由は人それぞれかと思いますが、せっかく学んだ技術、個人でも仕事でも積極的に活用していきたいですよね。
そして試験合格で満足せず、継続的にAWSを学んでいくことが大事だと思います。
恐ろしいことにAWSの世界はこれからも広がっていくのでしょうから・・・。
Discussion