AWS All Certifications EngineersがAWS Certified Data Engineer - Associate(DEA-C01)を受験した感想
1.はじめに
SHIFTのナショナルセキュリティ事業部所属の松尾です。
2024年3月にGAされたAWS認定資格のData Engineer - Associate(以下、「DEA-C01」)を取得しましたので、2023/2024 Japan AWS All Certifications Engineersの1人の視点で本試験対策のポイントなどを解説しようと思います。なお、AWS用語やサービスは2024年4月30日までにGAされているものを記載しています。
【本記事の読者対象】
これからDEA-C01の取得を考えている
DEA-C01と他のAssociate試験との関連性を知りたい
DEA-C01とData Analytics - Specialty(以下、「DAS-C01」)(★)の違いを知りたい
(★)試験廃止済(2024年4月9日付)
特に来年、2025 Japan AWS All Certifications Engineersの選出のために、DEA-C01の取得を考えている方が多いのではないでしょうか。
2.導出
さて、これからDEA-C01を取得しようと思っている方は、大きく以下の2ケースになると思います。
(1)DEA-C01の取得をどの資格よりも先に取得したい!(AWS初心者向け)
(2)DAS-C01を取得済で、DEA-C01の取得を考えている(AWS上級者向け)
本記事では、まず(1)(2)のケースを順に解説します。最後にいくつかのケースをピックアップし、DEA-C01のポイントとなる考えを少し解説していきます。
3.DEA-C01取得までの道のり
3-1.AWS初心者向け
AWS認定試験をこれからはじめて受ける人は、まずどこから手をつければよいか迷うと思います...が、安心してください。なんとAWS公式が各技術者向けに必要な資格を絞り、資格取得のロードマップを提示しています。
AWS公式は、DEA-01の前に下記2つの資格取得を推奨しています。
Cloud Practicioner(以下、「CLF」)
Solutions Architect - Associate(以下、「SAA」)
私もこれを強く推奨したく、その理由としてはDEA-C01がKinesisなどのデータ解析のサービスを押さえるだけでは、試験範囲を網羅できないからです。次表の第3・第4分野のように、運用やセキュリティに関連するサービスを押さえる必要があり、SAAがこれらの分野を一部網羅しています。
私が2023 Japan AWS All Certifications Engineersに選出された当時、全AWS認定資格の関係性について考えたことがあり、そこではSAAは中心にいて、他のAssociateの内容を部分的に網羅したものでした(※あくまで私個人のイメージとなります)。
偶然かもしれませんが、AWS公式でも上記「AWS 認定ジャーニーのプランニング」においてDEA-C01の前にSAAが配置されており、AWS初心者の方々には、まずSAAの取得をどのAWS認定資格よりも強く推奨したいですね。
余談になりますが、Solutions Architect Professional(以下、「SAP」)については、すべてのSpecialty(専門試験)に対して部分的に内容を網羅している傾向にあります。全冠を目指される方は、SAA取得後にSAP取得を目指されてはいかがでしょうか。
3-2.AWS経験者向け
ここでの"AWS経験者"を便宜上、冒頭で述べたとおり現在は廃止されたDAS-C01の取得者を指すこととします。私はDAS-C01を取得した状態でDEA-C01を受験したわけですが、難易度の感覚としてはDEA ≒ DASでした(※公開ブログを数件拝読しましたところ、個人差があるようです)。
少し話が逸れますが、私がDAS-C01を取得したのは2021年8月29日で少なくともローンチから2年半以上は経っていますし、DASのリビジョンを見ても"C01"とあることから、初版から試験内容の改訂がされないまま廃止されています(DAS-C01がGAされた日を調べてみましたが、見当たりませんでした...)。
一般的に時が進むと技術が形骸化するのは避けて通れず、この2年半以上の間にRedshift ServerlessなどのAWSサービスが増えています。
データ解析のようにここ数年で試験範囲が広くなった分野の資格については、AWSがSpecialty枠とFoundamental~Professional枠間で整理をかけているそうです。
AWS上級者がDEA-C01取得を目指すにあたり、私が最低限必要だと考えることは、次の内容になります。
DAS-C01とDEA-C01間でのデータ解析に関連するAWSサービスの変化を押さえること
普段からAWSでデータ解析をされている方は、自然と知識をアップデートされていると思いますが、DAS-C01の取得を最後にデータ解析から離れていた方は、どうでしょうか。
私は、Amazon ElasticSearchのサービス名変更などニュースで目立っていたものは把握していましたが、RedShiftでServerlessがいつの間にかGAされている!?など無知であることに羞恥したことが多かったです(本当によくないと思いつつも、ついやってしまいますね)。
サービス名が変更されていることを知らないと面喰って「こんなサービスは聞いたことがないから、選択肢から外そう!」ということが起きる可能性があり(私だけかもしれませんが...)、DAS-C01でデータ解析の本質を理解したのにも関わらず失点するのはもったいないですよね。
私がDEA-C01を対策した際に調べた、DAS-C01取得時との内容差分(サービス名称など)を以下に簡易でまとめましたので、ご参考までに。ちなみにこの中で新サービス!?と拍子抜けしたのは、「Amazon Managed Service for Apache Flink」でした。
サービス名の変更
(※)Amazon S3 Glacierの従来のサービスは「Flexible Retrieval」にあたり、「Instant Retrieval」がGlacierのストレージクラスとして追加されました。
追加サービス
"Amazon Redshift"では、ワークロード処理に必要なリソース(クラスター、ノードなど)を利用ユーザー側で管理する必要がありますが、Amazon RedShift ServerlessはAWS側でリソース量を自動調整するため、運用オーバーヘッドを削減できます。なお、定常的に安定したワークロード処理が必要な場合は、サーバーレスを使わずに"Amazon RedShift"を選択し、リソース量が一定となるように利用ユーザー側で管理することになります。
また、Amazon Redshiftでは、外部(AWS Lambdaなど)とのデータ連携を最適化するために、Redshift Data API機能の理解が重要となります。
4.DEA-C01の要点
私の独断で大変恐縮ではありますが、各ドメインで定石のソリューションにあたるものを1つずつピックアップし、DEA-C01をパスするために必要なレベルで少しだけ解説させていただきます(各サービスの機能説明などは、今回割愛とします)。
4-1.Amazon Kinesis Data Streamsにおける重複レコードの防止
お題
Amazon Kinesis Data Streamsのシャードに書き込まれるデータは、下記の状況によって末端のデータ配信先で重複レコードが生成されますが、この重複を防止するためには?
① プロデューサ - Amazon Kinesis Data Streams間の処理中断
② Amazon Kinesis Data Streams - コンシューマ間の処理中断
解説
プロデューサがAmazon Kinesis Data Streamsのシャードにレコードを書き込む処理に対して、プロデューサ側で各レコードに一意のIDを割り当てる独自処理を実装します。これにより、上記①②により途中のシャードなどで重複レコードが発生しても各レコードに割当てた一意のIDのおかげで、末端のデータ配信先では後配信されたレコードが正として洗い替え(上書き)されます。このように重複レコードの生成を防止する性質を「冪等性(べきとうせい)」といいます。
4-2.Amazon Redshiftの分散スタイル
お題
Amazon Redshiftの各分散スタイルの機能を理解しているか?
解説
Amazon Redshiftは、テーブルデータの分散スタイル機能を持ち、利用ユーザー側でデータ量に応じて分散スタイルを選択し、クエリパフォーマンスを最適化する必要があります。分散スタイルは4種類あり、DEA-C01の対策では、次表の分散スタイルの特徴(太字箇所)を押さえるとよいでしょう。
4-3.AWS GlueワークフローとAWS Step Functionsの用途の違い
お題
AWS GlueワークフローとAWS Step Functionsはどちらもデータパイプラインを提供するサービスであるが、何を基準として使い分けるか?
解説
AWS Glueワークフローは、AWS Glue内でデータパイプラインが完結する場合に適しています。一方で、AWS Step FunctionsはAWS Glue内だけではデータパイプラインが完結せず、AWS Lambdaなど外部処理を含める必要がある場合に適しています。
4-4.AWS Lake Formationの利用
データパイプラインにより必要なデータをETL(抽出・加工・取込)し、データカタログを作成した後は、IAMユーザーなどに対してデータへのアクセス制限を必要最小限とする必要があります。
AWS Lake Formationは独自にデータカタログ(※)を作成し、IAMユーザー・ロールなどに対して行・列・フィールド(セル)単位で細かくカタログのアクセス制限を可能とする機能を持ちます。
AthenaワークグループとIAM機能を組み合わせることでもAmazon S3に対してアクセス制限をかけることが可能です。しかし、AWS Lake Formationのように行・列・フィールド(セル)単位で細かくアクセス制限をかけることはできないので注意です。
(※)AWS Lake Formationで作成したカタログの実体は、AWS Glue Data Catalogです。
5.AWS Certified Data Engineer - Associate(DEA-C01)を受験した感想
DEA-C01の難易度は試験範囲の観点から、かつて専門試験としてあったDAS-C01と同等に感じました。つまりそれだけDEA-C01の試験内容が、SAAの一部の理解が前提になっていたりと濃いことを意味しています。直近のAssociate全般の傾向からも言えますが、AWS認定資格の取得に求められる力量が、DAS-C01取得時よりも確実に上がっていると思っています。
最後に、DEA-C01取得を目指される方は、下記アプローチをご参考にしていただけますと幸いです。
Skill Builderの模擬試験などを活用してDEA-C01の取得を目指しましょう!
5-1.AWS初心者向け
まずSAA取得でAWSソリューションの基礎を身につけ、DEA-C01取得につなげる
5-2.AWS経験者向け
DAS-C01との内容のギャップを埋める(サービス名や新サービスの整理など)
お問合せはお気軽に
SHIFTについて(コーポレートサイト)
SHIFTのサービスについて(サービスサイト)
SHIFTの導入事例
お役立ち資料はこちら
SHIFTの採用情報はこちら
PHOTO:UnsplashのIgor Miske