ポイントはWell-Architected Framworkを理解しているかどうか。
オンプレのシステムをよりコスパよく、よりセキュアで、より高可用でスケーラブルなシステムにするためのフレームワークだと言っています。
使った教材
ただで使えて他に推奨している人がいるならやらない手はないよねって話。
※Ping-tは一部無料で、試験部分は大半有料
SAA(というかWell-Architected Framwork)の考え方
まずは公式資料(フレームワークの柱 - AWS Well-Architected フレームワーク)を見るのが良い
AWSにはとにかくアホみたいに大量のサービスが出てくるが、多すぎて全部覚えるのはキビシイ
でも良く出てくるキーワードは理解必須
- フルマネージドサービス
- リージョン
- AZ(Availability Zone)
- サーバレス
フルマネージドサービス
Amazon側がサービスが動作しているサーバ周りをすべて管理しているサービスという意味。要するにユーザはOSアップデートやらディスク故障時の入れ替え作業やらの面倒なメンテナンス作業を一切やらなくていい(なんかあっても責任の所在がAmazon側にある)ことが特徴
AWS(に限らずクラウド全般そうだけど)のコンセプトでは、このサービスを使って欲しいということ
→ところが料金やコンプラなど自社ルール的にフルマネージドを使えない場合に、それ用のサービスもあったりなかったりする
リージョン
DCのある場所。「レイテンシ」の問題を解決する。更にDR要件も満たせる
自社サービスをグローバル展開するなら、どの国どの地域からアクセスされても高速なレスポンスを返したい。そんな要望に応えられる
※物理的な距離が遠いサーバとの通信にはより時間がかかることを知っているとわかりやすい
AZ(Availability Zone)
リージョンを切り分けたもの。シングル、マルチの2種類あるが、余程の理由がない限りは可用性向上のためにマルチAZにするべし
「DR(Disaster Recovery)」に有効
サーバレス
サーバ管理というインフラの作業の一切を省いてスクリプトやアプリ開発に集中できる仕組み
※実際にサーバがないという意味ではない。当然ながらLambdaやAPI GateWayなどを構成するコードが動作しているサーバ自体は物理的に存在するが、Amazon側の責任でそれを管理するため、ユーザがそれを一切意識する必要がない。よって自分で管理するサーバがない、という意味で使われる
※実際にはどのホストからAWSのどのサービスを呼び出していて、頻度や用途がどうなのか、ドキュメントとしてまとめる手間は出てくるが、サーバ運用の手間と比べれば微々たるもの
手間がかかるということはその分人件費が発生するので、サーバレスじゃないと結果的に割高になるよ、とも言える
コツとか?
EBSのスペック選ぶ問題
IOPSとか用途で分かれる。正直細かい数値を覚えてられんので、コスト縛りがないなら最上位のプロビジョンド、とでも覚えておく
IAMとリソースベースポリシーの分け方
IAMはAWSアカウントやIAMユーザに対しての認証・認可、リソースベースはS3とかKMSへのアクセス管理が対象
→シークレットキーとかアクセスキーを作るやり方は漏洩リスクがあるから推奨されない。
AWSアカウントとIAMユーザの分け方
AWSアカウントはAWSを始めるための所謂rootユーザ、IAMユーザは作業用ユーザ
1つのAWSアカウントが複数のIAMユーザを管理するイメージ
IAMグループとOrganizationsの分け方
- IAMグループはIAMユーザを纏めるためのもの
- OrganizationsはAWSアカウントを纏めるためのもの
問題を深読みしない
→問題文に書いてない詳細な構成まで考え出すとドツボにハマって時間を浪費するだけ。
当たり前だが、書いてあることから回答できる選択肢になっている。
本番までにとにかく練習問題をたくさんこなして、クソみてえな引っ掛け問題に散々引っかかっておくと、本番の勝率が上がる
練習問題の時点で殆どパーフェクトに得点できるなら日和ってないでさっさと受けちまえ
Ping-tの主要なサービスは詳細な機能とか数値まで覚えておいて、それ以外については大まかな役割だけ覚えておけばだいたいなんとかなる
- このサービス(機能)はなんのためにあるのか?
- 求められているものは何か?
を意識して回答する
特定のキーワードが出たときに選択肢にあれば正解の可能性が高いもの
- マイクロサービス、疎結合、非同期処理=SQS、SNS
- イベント駆動=EventBridge
- リアルタイムな大量データ処理=Kinesis Data Streams, Kinesis Data Firehose, Apache Flinkあたり
- 大量データ送信したい、処理したいが帯域が限られている、ほとんど使えない=Snowball Edge
- インターネット経由せずにVPC外のサービスへアクセスしたい=VPCエンドポイント
- DDoS対策したい=Shield Standard / Shield Advance
- CloudWatch Logsを手間を掛けずに分析したい=Athena
- IAMユーザとかの設定変更を監視したい=Config
...etc
例えばSQSならパフォーマンスの問題で一部のリクエストが処理されていないケースの改善案として選択肢に出されることがある
EC2は高価なうえ運用管理の手間あり、Lambdaは関数作成の手間がかかる&コールドスタート&最大実行時間15分という明確なデメリットが有る
最適な構成=コスパが良い、手間がかからない構成
無駄にカネがかかったり複雑怪奇になる回答をさせる頭おかしい問題はまず出ない
課金プラン的に一番金のかからない構成を具体的な金額計算させるような鬼畜問題は出ない。余計にたくさん構築の手間がかかるような回答はアウト、とかしておけば一発で正解がわからなくても明らかアウトな選択肢を省いて2択までは絞り込めたりする
例えば設問でインターネット経由させたくないって言ってるのにパブリックサブネットを使おうとしてみたり、オンプレから移行して運用負荷減らしたいって言ってるのにEC2インスタンスを立てさせたりしてるのは誤り
ていうかEC2って存在自体が一番Well-Architectedの考えに違反してると思うんですけど(名推理)
個人的な考え方
これに限らず、本番前模擬試験で合格点より余裕を持って得点できてればOK。途中段階の練習問題なんか0点でもいいです。最終的に理解できてれば合格できる。
要は本番で合格点叩き出せればいいわけで、そのための準備期間。後そのための模擬試験
その他
- 受験前にAWS Skill Builderのアカウント作成が必須。このとき、アルファベットの入力ミスで違う名前になってると受験できない
→万一間違って登録したことが後から発覚した場合、修正依頼をサポートに投げて2~3日程待つ。試験前日に気づくようなことがあったら高確率で死亡(1敗)
- テストセンター受験の場合、場所にも寄るが受験者数が多いのか埋まりがち。かなり早めに予定を押さえてしまったほうが後々楽。

















