【AWS-SAA-C03】新試験問題の範囲をまとめてみた★前編

2022年8月30日付でソリューションアーキテクトアソシエイト(SAA)の試験が変更されることが発表されました。

単刀直入に言うと、今回のアップデートで試験範囲がめちゃくちゃ広くなります。

サービス数は現行試験のC02(63サービス)からC03(131サービス)になりました。

覚えることが多くなって難易度爆増なヨカンもするので、何が問題に出るのか、軽く対策について予想してみることにします。(旧試験の範囲については扱いません)
・・・最初は問題文を考えるつもりでしたが、あんまり大したことない問題しか作れなかったので、あくまで項目ごとに触れておいたほうが良さそうな部分(予想)を記載します。

正直全然知らないサービスばかりなので、調べながらです。間違ってたらスマセン。

(追記) 受験した人に聞きましたが、問題はさほどC02と変わってないみたいです。
   ただ、見たこと無いサービスがあれば、何をするのかくらいは触れておいて良さそう。

サービス範囲

どのサービスが追加されるの?に関してはQiitaで記事を書いてくださっている方がいるので、そちらを参照ください。

AWS ソリューションアーキテクト アソシエイトC03とC02の試験範囲サービス比較
https://qiita.com/yukkie1114/items/a6aa433a7354de80c6d6

見てもらえれば分かるかと思いますが、カテゴリが丸ごと追加されているものがあります。
そう、「機械学習」です。 まあ、最近流行りですからね。アップデートとしては当然の流れかと思います。

では問題予想にあたって、ホワイトペーパーや参考サイトを見ながら、触れられそうな機能を抜粋したいと思います。(★★★:重要度高)~(★☆☆:重要度低)

分析

Data Exchange ★

サードパーティのデータセットを売り買いできるサービスです。
欲しいデータセットがあれば、購入してS3へのエクスポートをするなどが可能です。
利用例として、新型コロナの検査データが公開されていたりなどしていました。
https://dev.classmethod.jp/articles/aws-data-exchange-covid-19/

Data Pipeline ★★

データの移動・変換をクラウドオンプレ問わず可能にするサービスです。
S3, RDS, DynamoDB, Redshift, EMRなどのサービス間でやり取りできます。
https://zenn.dev/mn87/articles/ec0f7dfde1dc43

Task Runnerの仕組みなどは受験前にチラ見するといいかもしれません。
https://docs.aws.amazon.com/ja_jp/datapipeline/latest/DeveloperGuide/dp-how-remote-taskrunner-client.html

Lake Formation ★

データレイクのセットアップを支援するサービスです。
S3やRDB, DynamoDBからデータをインポートし、Redshiftなど選択したサービスからアクセスできるようになります。
データレイクはアカウント間のやり取りなどもアーキテクチャとして問題が出ることもあるので、クロスアカウントS3バケットなどと一緒に、以下URLで紹介されているアクセス付与方法(Lake Formation tag-based access control)も読んでおくと良いと思います。
https://aws.amazon.com/jp/blogs/news/lake-formation-cross-account/

Managed Streaming for Apache Kafka (MSK) ★

Apache Kafka(カフカ)という大量のデータ受け渡しなど、データハブに用いられるプラットフォームをAWS上でフルマネージドにしたサービスです。
同等のクラスターを1から構築するのは大変なので、数クリックでフルマネージド環境が用意できるのは強みです。
https://qiita.com/zumax/items/897ffcf1fa623a639fde

Redshift(分析として) ★★★

データウェアハウスサービスです。分析として、と書いているのは、データベースとしてのRedshiftは旧試験でも出題していたためです。
BIやMLツールが複数用意されていますが、分析としてはRedshift SpectrumとRedshift MLを抑えておく必要がありそうです。
S3への直接クエリができるのはRedshift Spectrum
https://aws.amazon.com/jp/blogs/news/amazon-redshift-spectrum-exabyte-scale-in-place-queries-of-s3-data/
SQLから機械学習モデルを作成し、予測を行うのはRedshift MLです。
https://aws.amazon.com/jp/blogs/news/amazon-redshift-ml-is-now-generally-available-use-sql-to-create-machine-learning-models-and-make-predictions-from-your-data/

アプリケーション統合

AppFlow ★

SaaSアプリケーションとAWSのS3やRedshift間で連携を行えるフルマネージドのサービスです。
使い方としてよく紹介されているのが、SlackやSalesforce、Zendeskと連携してメッセージを送付したり、S3に置いたりなどです。
個人情報の取り扱いなど、コンプライアンスに配慮しないといけない場面で選択肢として出てくるパターンが考えられます。
https://qiita.com/nasuvitz/items/092ad4b21a82abeb72bb

AppSync ★★

GraphQLやPub/Subといった規格が使えるWebAPIのマネージドサービスです。
アプリケーションからAPIを叩けば、DynamoDBやLambda、OpenSearchなどのデータにアクセスできるという最近割と目にするサービスです。
Getting Started(チュートリアル)があるので、触ってみると実際のイメージが掴めると思います。
https://dev.classmethod.jp/articles/touching-aws-appsync-just-a-little/

MQ ★

Apache ActiveMQ・RabbitMQ向けにメッセージのやり取りを中継してくれるマネージドサービスです。
SQSと使い方は大差ないですが、既存環境でメッセージングを用いている場合はMQ、新規で構築する場合はSQS・SNSの利用を推奨しているので、これは覚えておくとよいと思います。
(レガシー企業が、オンプレからAWSに移行する際にソリューションアーキテクトとしてはどのサービスを採用しますか?とか聞かれそう)
https://zenn.dev/mn87/articles/4b9722ae46397b

Step Functions ★★

ワークフローを自動化できるモダンなサービスです。最近流行りのローコードです。
複雑なワークフローがある場合でも、名前の通りステップごとに実行できるため、取り掛かりやすいと思います。VMwareでいうところのvRealize Orchestratorで、Lambdaによる大量デプロイを制御するなどが使い道として挙げられます。
公式サイトの画像が一番イメージ掴みやすいと思います。
https://aws.amazon.com/jp/step-functions/

コスト管理

Cost and Usage Report (CUR) ★

AWSを触る方なら一度は見たことあるかと思います。コストと使用状況が確認できます。
問題範囲になぜ含まれるのか・・・?

考えてみた結果、Organizationsで複数アカウントを統合管理しているときに、コストレポートを配下アカウントに通知できる仕組みを考えたり、SCPを用いてコストを見れなくするなどの用途はあるかなー、と思いました。

公式ドキュメントでは、Athena, Redshift, QuickSightとの連携について触れられていたので、もし時間があれば抑えておくといいと思います。
https://aws.amazon.com/jp/aws-cost-management/aws-cost-and-usage-reporting/

Savings Plans ★★

AWS利用料の節約のために利用する仕組みです。
リザーブドインスタンス(RI)とセービングプラン(SP)の違いは抑えておきましょう。
ここの違いは、ややこしいので個人的に毎回テスト前や提案前に読み返してます。
https://qiita.com/nasuvitz/items/1317495450e91c987cba#%E3%83%AA%E3%82%B6%E3%83%BC%E3%83%96%E3%83%89%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%A8savings-plans%E3%81%AE%E6%AF%94%E8%BC%83

インスタンスファミリー・OSに依存せずに割引を受けることができるのが、RIとの最大の違いです。(Convertible RIというのもありますが、割引率など諸条件が異なります)
以前は、RI&SPの期限切れを通知してくれなかったのですが、アラート機能が追加され、購入漏れや過購入を教えてくれるようです。

コンピューティング

Batch ★★

AWSでバッチ処理を実行するフルマネージドサービスです。
使用例として、IoT機器から収集したデータをS3に保管し、定期的にスケジュールしたBatchを用いて分析して保管する、などがあります。ECS fargateなどと組み合わせて使われることが多い印象です。
https://zenn.dev/takamin55/articles/a44ba888ebca3a

EC2 Auto Scaling ★★★

EC2インスタンスのスケールアウト・スケールインを制御する仕組みです。
インスタンスの状態を監視し、設定したヘルスチェックに合格できなければ、新しいインスタンスに置き換える機能もあります。
サクッとイメージを掴むだけなら、実際にECSクラスターを作って、Auto Scaling Group(ASG)の希望インスタンス数を変えてみるといいと思います。
AMIの更新をしたいときも数クリックでできるので便利です。
https://dev.classmethod.jp/articles/intro-to-ec2-auto-scaling/

また、EC2フリートという単語が試験で頻出するので、できれば読んでおきましょう。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-fleet.html

Outposts ★

自社のDCにてAWSを利用できるサービスです。
見積もりを取って注文すると、サーバかラックごと(笑)を一式オンプレミスに設置してくれます。(エンタープライズサポートが必須です)
流石に使ったことがないですが、ニーズとしては通信の全てをローカルで完結したい、レイテンシーを低く抑えたい、などがありそうです。

使えるサービスは限られていて、EC2, EBS, S3, ECS, EKS, RDS, ElastiCache, EMRなどです。

導入しているところあるの・・・?と思ってましたが、2022年3月にNTTcommさんが入れてる記事を出しているので、是非に。
https://engineers.ntt.com/entry/2022/03/15/102459

Serverless Application Repository ★

サーバレスアプリケーションを公開できるサービスです。
ボタンクリックで、(別の環境であっても)Lambda関数の展開を可能にします。
試験で出るとしたら、依存ライブラリなどは自前のバケットで用意してアクセス制御する必要があるので、その辺りかもしれません。
https://dev.classmethod.jp/articles/aws-serverless-application-test-publish/

VMware Cloud on AWS (VMC) ☆

AWS上でvSphereを利用できるハイブリッドクラウドサービスです。
ESXiがAWSのデータセンターにあるイメージで、お察しの方がいるかも知れませんが、ホスト単位での購入のため一般人には手が出せません。
アーキテクチャとしてはvSANを利用しており、2ホストから購入が可能です。但し、ホスト数によってSLAが変わることには注意が必要です。

VMCを利用する際に切っても切り離せないのが、オンプレとクラウド間の通信ですが、L2レベルの延伸をVMware NSXを用いて行うか、VMware HCXを用いて行うかなど色々考慮ポイントがあります。
https://www.business-on-it.com/2024-recognize-vmconaws/

あとはストレージの柔軟性が効かないことに定評があるのですが、今年1月にFSx for NetApp ONTAPが利用できるようになったので、その辺りは出題されるかもしれません。が。
https://aws.amazon.com/jp/blogs/apn/amazon-fsx-for-netapp-ontap-with-vmware-cloud-on-aws-virtual-machines/

・・・このサービスは非常に複雑かつ特殊なので個人的には捨て問でいいと思います。

Wavelength ☆

5Gネットワーク内にAWSコンピューティング・ストレージサービスを組み込んだものです。
5Gの低レイテンシーのためには、エッジコンピューティングにて計算を返す必要がありますが、それを実現してくれるのがこのサービスという訳です。
https://www.watch.impress.co.jp/docs/topic/1297141.html

・・・これも一般的なユースケースが無いので、捨て問でいいと思います。

コンテナ

Elastic Container Registry(ECR) ★★

主にECSやEKSで利用するコンテナイメージを格納するマネージドサービスです。
手元で作成したイメージをプッシュしたり、fargateのタスク起動時にプルする設定をしたりするシンプルなものです。それほど覚える機能は無いかと思います。

試験としては、ライフサイクルポリシーが出題されるかもしれません。(タグがついているかどうかの判定、保持する世代数の指定など)
https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/LifecyclePolicies.html

ECS Anywhere / EKS Anywhere(ECS-A / EKS-A) ★

どこでもECS/EKS Taskを実行できるツールです。
Anywhere=どこでも、と記載しましたがオンプレ、Wavelength、LocalZoneで機能します。
Outpostsとは別物で、ECS・EKSのコントロールブレーンはAWS環境で持っています。
利用には、SSM Agentをインストールし、ハイブリット用のマネージドインスタンスとして登録する必要があります。
https://dev.classmethod.jp/articles/ecs-anywhere/

EKS Distro(EKS-D) ★

k8sコンポーネントをベースにAWSが公開しているOSSです。
以下の公式サイトからダウンロードして、vSphere仮想マシンやEC2にデプロイして使います。
https://aws.amazon.com/jp/eks/eks-distro/

オンプレでもEKSを使いたい!な要望で、かつ短納期ローコストが求められるときにこのアーキテクチャを選択します。

データベース

Aurora Serverless ★★

AWSの提供するデータベースであるAuroraのサーバレスサービスです。
通常、Auroraはインスタンスサイズを指定してスペックを決定すると思いますが、Aurora ServerlessはAurora Capacity Unit(ACU)によってスケールアップ・ダウンします。
RDBMSはMySQL、PostgreSQLが選択できます。

サーバ管理が必要ないので、管理面は楽ですがSingle-AZである点に注意が必要です。
https://dev.classmethod.jp/articles/aurora-serverless-summary/

DocumentDB (with MongoDB compatibility) ★

ドキュメントデータベースのフルマネージドサービスです。
ここでいう「ドキュメント」はXML、JSON形式などの構造化されたものを指します。
MongoDBとの互換性が出題される可能性があるので、公式ドキュメントの以下ページは要チェックかもしれません。
https://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/functional-differences.html

ただ、正直MongoDBに詳しくないと差異だけ見ても分かりにくいと思いました、、
(そして、使用者が少ないためか情報が少ない)

Keyspaces (for Apache Cassandra) ★

Apache CassandraというNoSQLデータベースをサーバレスで利用できるサービスです。
DynamoDBへの移行コストが高く見送っていた企業などが採用するケースがあると思われます。
内容としてはDynamoDBを抑えていればカバーできると思いますので、まずDynamoDBを学習しましょう。
https://dev.classmethod.jp/articles/amazon-keyspaces-for-apache-cassandra-is-now-generally-available/

Neptune ★

グラフ型データベースのフルマネージドサービスです。
ここでいう「グラフ」とは、頂点と枝がある木構造で表現できるデータです。(クラメソさんのサイトを参照)
データ間の関係性を表す際に使えるため、機械学習の分野などで利用が進みそうです。
試験的にはRDSとの構造的な違いをしっかり抑えておきたいです。
https://dev.classmethod.jp/articles/first-time-graphdb-amazon-neptune/

Quantum Ledger Database(QLDB) ★

台帳データベースのフルマネージドサービスです。
他のデータベースとの違いは、ジャーナル(変更履歴)がイミュータブル(不変)に保管されるため、保持するデータが信頼できるというものです。
考え方はブロックチェーンに近いですが、分散型ではないため、特定ユーザーのみ触れることができます。
ミッションクリティカルな顧客データベースなどで利用されそうです。
ここも、試験的には使い方を抑えておきたいです。
https://baasinfo.net/?p=4482

Timestream ★

時系列データベースのフルマネージドサービスです。
IoTデバイスがいつ、どういったデータを出力したかなど、時系列の観点から簡単に保存・検索できるというものです。
BlackBeltでは、1日数兆のイベント処理が可能とあります。
https://d1.awsstatic.com/webinars/jp/pdf/services/20201216_BlackBelt_AmazonTimestream.pdf

デベロッパーツール

X-Ray ★★★

アプリケーションの処理時間を収集して表示するサービスです。
パフォーマンスチューニングによく使われるサービスで、リクエストが遅いときにどこがボトルネックになっているのか、などを直感的に把握できます。
EC2, ECS, Lambda, Beanstalkなどと連携することができます。CloudWatchと混同されがちですが、X-Rayは何のリクエストが有り、リクエスト単位で何ms掛かっているか、などを分析するサービスで、CWはログやメトリクスを監視するサービスなので、少し趣が違います。
試験にはパフォーマンス改善などの問題で、ほぼ出題されると思いますので、どういったサービスなのかは把握しておく必要があります。
https://dev.classmethod.jp/articles/re-introduction-2022-x-ray/

フロントエンドのウェブとモバイル

Amplify ★

モバイル・WEBアプリケーションを作成するための開発プラットフォームです。
バックエンドとインフラ部分はサービス側で解決してくれるので、フロントの開発のみで良いため開発コストが安く済みます。
実際にアプリケーションを作る必要はないと思いますが、こんなことできるんだなー、は見ておいて損はない気がします。
https://qiita.com/t_okkan/items/38aca98993bf06598af6

Device Farm ★

デスクトップ・モバイルのブラウザを用いた自動テストサービスです。
フロントエンド業務として、多種多様なデバイス・ブラウザに対応しているか確認する必要がありますが、それをマネージドで確認できるのがこのサービスです。
古いiPhoneなどを買う必要がなくなるメリットがあります。
実際にブラウザ上でエミュレーションできます。
https://rarejob-tech-dept.hatenablog.com/entry/2019/11/22/190000

Pinpoint ★★

マーケティングコミュニケーションに用いるサービスです。
色んな属性の顧客に対してメールやプッシュ通知でメッセージを送ることができます。
SESというサービスでもメールは送れますが、Pinpointは顧客リストを属性で分けられることが強みです。
例えば、釣りが趣味の人に釣具の案内を送って、興味ない人には送らないという動作ができます。
試験的にも、ここの使い分け面で出題あるのではないかと思います。
https://qiita.com/mottie/items/ebd3ed7a1a1d78ac0e76

前編はここまで!後編(機械学習など)はこちら