小西秀和です。
この記事は「AWS認定全冠を維持し続ける理由と全取得までの学習方法・資格の難易度まとめ」で説明した学習方法を「AWS 認定 データアナリティクス – 専門知識(AWS Certified Data Analytics – Specialty)」に特化した形で紹介するものです。
重複する内容については省略していますので、併せて元記事も御覧ください。
また、現在投稿済の各AWS認定に特化した記事へのリンクを以下に掲載しましたので興味のあるAWS認定があれば読んでみてください。
ALL | Networking | Security | Database | Analytics | ML | SAP on AWS | Alexa |
---|---|---|---|---|---|---|---|
DevOps | Developer | SysOps | SA Pro | SA Associate | Cloud Practitioner |
「AWS 認定 データアナリティクス – 専門知識」とは
「AWS 認定 データアナリティクス – 専門知識(AWS Certified Data Analytics – Specialty)」は一言で言えばAWSクラウドの特徴を活用した高度なデータ分析環境の設計・構築・運用ができる専門知識を検証する認定と言えるでしょう。
データ分析に関するAWS Ramp-Up GuidesではCloud Practitionerの学習パスが記載されているため、「AWS 認定 クラウドプラクティショナー(AWS Certified Cloud Practitioner)」を先に取得するのもよいかもしれません。
また、後述の『「AWS 認定 データアナリティクス – 専門知識」の学習方法』で紹介している「試験ガイド」や「Exam Readiness」を確認していただければわかると思いますが、学習しておくべきAWSサービスは「データ分析」に関連するサービス全般にわたります。
そして、多くのAWSサービスの特徴を理解した上で、さらに高度なデータ分析環境を実現するソリューションやトラブルシューティングの知識が必要とされるため数あるAWS認定の中でも難易度の高い認定です。
「AWS 認定 データアナリティクス – 専門知識」の学習方法
この認定に関係しているAWSの関連カテゴリと主要AWSサービスには以下のものが挙げられます。
【関連カテゴリ】:「分析」など
【主要AWSサービス】:Athena、CloudSearch、Data Pipeline、Elasticsearch Service、EMR、Glue、Kinesis、Lake Formation、MSK、QuickSight、Redshift、CloudWatch Logsなど
学習順 | 学習リソース | 学習リソースの活用ポイント | 費用(税別) |
---|---|---|---|
随時 | AWSドキュメント | AWSドキュメントのうち上記に挙げた【関連カテゴリ】および【主要AWSサービス】に関係するものを中心に読みます。ただし、量が膨大なため以降の順番の中で辞書的に使用して、最後に受験まで余裕があったら学習過程で気づいた重要部分やサービス間連携する機能から優先的に熟読するという使い方をしています。 | 無料 |
随時 | AWS認定対策本 | 受験するAWS認定の対策本が出版されていれば、その本から学習していくことも効率的な方法だと思います。私の場合は受験当時に対策本があまり無かったため、使用する機会がありませんでした。 現在は私と同僚達が執筆した「AWS 認定 データアナリティクス – 専門知識」の対策本も出版されています。 |
2,000円~4,000円程度 |
随時 | 検索エンジンでキーワード検索 | 後述の学習リソースでわからなかったキーワードや内容を随時、検索エンジンで検索して出てきたブログなどを参考にします。特に日本語だけではなく英語で検索することは日本語サイトにはまだ掲載が少ない情報を英語圏のサイトから得ることで理解を深めることができるためおすすめです。 | 無料 |
1 | 試験ガイド | 試験ガイドで受験するAWS認定の試験範囲とどのような内容が出題されるかを把握します。 | 無料 |
2 | サンプル問題 | 試験ガイドとセットで掲載されているサンプル問題を解いて、出題傾向を把握します。 | 無料 |
3 | AWS Skill Builder(Exam Readiness(試験準備)) | Exam Readinessは試験準備のための要点がまとめられているデジタルトレーニングです。該当するAWS認定に関連するAWSサービスや出題傾向をここで把握します。「AWS 認定 データアナリティクス – 専門知識」にもExam Readinessはあるため受けてみることをおすすめします。 | 無料 |
4 | AWSサービス別資料 | AWS Black Belt Online Seminarの資料が中心に掲載されており、重要ポイントが非常によくまとめられています。上記に挙げた【関連カテゴリ】および【主要AWSサービス】に関係する資料内の知識は受験前に最低限インプットしておきます。 | 無料 |
5 | AWS ナレッジセンター | AWSのユーザーから最も頻繁に寄せられる質問と要望に対する回答がまとめられているため、AWS認定は勿論のこと実務でも非常に参考になります。上記に挙げた【関連カテゴリ】および【主要AWSサービス】に関係するQ&Aの知識は受験前に最低限インプットしておきます。 | 無料 |
6 | AWS Skill Builder(AWS Certification Official Practice Question Sets(模擬試験)) | 受験するAWS認定の出題傾向や重要点を確認できるため、試験直前の腕試しではなく可能な限り早い段階で受けることをおすすめします。受験する分野の既存知識があれば最初に受けても良いと思います。模擬試験はAWS Skill Builderに移行されてからは受験料が無料になりました。 | 無料 |
7 | AWS Skill Builder(Learning plans) | Learning plansはデジタルトレーニングを分野ごとにまとめた学習プランです。「AWS 認定 データアナリティクス – 専門知識」に関連する「Data Analytics Learning Plan」で学習をすすめると効率的でしょう。 | 無料 |
8 | AWS Skill Builder(Introduction、Primer、Deep Dive) | 各サービス毎にIntroduction、Primer、Deep Diveといったデジタルトレーニングが用意されている場合があります。私は自分が詳しく知らないAWSサービスを検索して存在すれば受けるようにしていました。 | 無料 |
9 | よくある質問 | 各サービス毎に用意されている「よくある質問」も一般的なQ&Aが記載されています。AWSナレッジセンターが実践的なQ&Aであるのに対して、基礎知識の整理と確認に有用です。上記に挙げた【関連カテゴリ】および【主要AWSサービス】に関係するQ&Aを中心に読んでいきます。 | 無料 |
10 | 分析レンズ - AWS Well-Architected Framework | AWSにはAWS Well-Architected Frameworkと呼ばれるAWSの長年の設計経験に基づいたベストプラクティス集があります。AWS Well-Architected Frameworkは実際のアーキテクチャ設計レビューなどでも活用される実践的なもので、年々進化するAWSサービスのアップデートに伴い、その内容も変わっていくためAWSの設計概念を知るには非常に有用です。AWS Well-Architected Frameworkには分析レンズという分析の設計方法に焦点を当てたベストプラクティス集も追加されているため、アーキテクチャを中心に読んでおいたほうが良いでしょう。 | 無料 |
11 | AWS Blog日本語版(Category: Analytics) AWS Blog日本語版(Category: AWS Big Data) |
受験するAWS認定に関連するサービスの記事を中心に問題解決方法、アーキテクチャ、事例、認定が新設・改定される前にリリースされた機能追加について情報収集をします。AWS認定だけではなく業務でも有用なので定期的に読む習慣をつけると良いと思います。 | 無料 |
12 | AWS Blog英語版AWS Big Data Blog) | 英語版は「分析」分野のカテゴリに特化した「AWS Big Data Blog」があるため、問題解決方法、アーキテクチャ、事例、認定が新設・改定される前にリリースされた機能追加の内容を中心に読んでおきます。 | 無料 |
13 | AWS Events Content | 過去のAWS Summitやre:Inventの資料などを検索して、受験するAWS認定に関連するサービスを学習します。特にre:InventのSessionで説明されている内容は参考になります。 | 無料 |
「AWS 認定 データアナリティクス – 専門知識」の学習過程で重要だと思った点
ここからは私が「AWS 認定 データアナリティクス – 専門知識」の学習過程でAWS認定のみならず実務的にも重要だと思った点をまとめてみます。
ただし、重要だと思う点に個人差があること、この記事の執筆時に思い出せず書き忘れがある可能性もあることをご了承ください。
Amazon Athena
- Athenaでのパフォーマンスチューニング(パーティション、データの圧縮と分割、ファイルサイズ最適化、ファイル形式Apache ParquetとApache ORCの使用など)
https://aws.amazon.com/jp/blogs/news/top-10-performance-tuning-tips-for-amazon-athena/ - Athenaのクエリ結果、出力ファイル、クエリ履歴の使用とIAM権限制御
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/querying.html - Amazon Athena、Amazon S3 Select、Amazon S3 Glacier Selectの違い(対象サービス、対象ファイル形式、検索方式、コストなど)
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/when-should-i-use-ate.html
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/selecting-content-from-objects.html
https://docs.aws.amazon.com/ja_jp/amazonglacier/latest/dev/glacier-select.html
https://aws.amazon.com/jp/blogs/news/s3-glacier-select/
https://aws.amazon.com/jp/blogs/news/querying-data-without-servers-or-databases-using-amazon-s3-select/ - データ使用量の制御制限の設定
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/workgroups-setting-control-limits-cloudwatch.html
Amazon Elasticsearch Service
- Amazon Elasticsearch Serviceの概要(課金体系、Kibanaのアクセス制御、ストリーミングデータを連携できるAWSサービス)
https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/what-is-amazon-elasticsearch-service.html
https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-kibana.html
https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-aws-integrations.html - Amazon Elasticsearch Serviceのインデックス作成パフォーマンスの向上策
https://aws.amazon.com/jp/premiumsupport/knowledge-center/elasticsearch-indexing-performance/ - JVMメモリ負荷が高くなった時の対処法
https://aws.amazon.com/premiumsupport/knowledge-center/high-jvm-memory-pressure-elasticsearch/ - Amazon Kinesis Data FirehoseからVPC内のAmazon Elasticsearch Serviceへのストリーミングデータ取り込み
https://aws.amazon.com/jp/blogs/news/ingest-streaming-data-into-amazon-elasticsearch-service-within-the-privacy-of-your-vpc-with-amazon-kinesis-data-firehose/
Amazon EMR
- Amazon EMRがサポートするアプリケーション(Apache Hadoop、Apache HBase、Apache Hive、Hue、Apache Pig、Presto、Apache Sparkなど)
https://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/emr-release-components.html - Amazon EMRでAmazon S3のHBaseを使用。別AZへのリードレプリカクラスターの配置で可用性向上。
https://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/emr-hbase-s3.html
https://aws.amazon.com/jp/emr/features/hbase/ - Amazon EMRのIAM管理とEMRFS(S3を使用するHDFS実装)のIAMロールによるアクセス制御
https://docs.amazonaws.cn/en_us/emr/latest/ManagementGuide/emr-iam-roles.html
https://docs.amazonaws.cn/en_us/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html - AWS CLI、EMR APIでのステップの実行後のクラスター自動終了のコントロール
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-plan-longrunning-transient.html - Amazon EMRのブロックパブリックアクセス(Block Public Access)
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-block-public-access.html - Amazon EMRでAuto Scalingするためのメトリクス(YarnMemoryAvailablePercentage、ContainerPendingRatio)
https://aws.amazon.com/jp/premiumsupport/knowledge-center/auto-scaling-in-amazon-emr/ - Amazon EMRはEMRFSの整合性のあるビューのメタデータ管理にAmazon DynamoDBを使用している
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emrfs-metadata.html
https://aws.amazon.com/jp/premiumsupport/knowledge-center/emrfs-metadata-delete-records/ - Amazon EMRのS3DistCpを使用したAmazon S3データのHDFSへのコピー
https://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html - Amazon EMRのPrestoでAWS Glue Data Catalogを使用する
https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-glue.html - Amazon EMRのJDBCデータベースコネクタの追加
https://docs.aws.amazon.com/ja_jp/emr/latest/ReleaseGuide/presto-adding-db-connectors.html - Amazon EMRの暗号化
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-data-encryption-options.html - Amazon EMRのCloudWatchメトリクス
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/UsingEMR_ViewingMetrics.html - 追加ソフトウェアをインストールするためのブートストラップアクション
https://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/emr-plan-bootstrap.html
AWS Glue
- AWS Glueジョブの完了前後にAmazon RedshiftでSQLコマンドを実行する
https://aws.amazon.com/jp/premiumsupport/knowledge-center/sql-commands-redshift-glue-job/ - Amazon S3のイベント通知で呼び出したAWS Lambda関数でAWS Glueを実行する。
https://aws.amazon.com/jp/blogs/news/build-and-automate-a-serverless-data-lake-using-an-aws-glue-trigger-for-the-data-catalog-and-etl-jobs/ - オンプレミスデータベースをAWS DMSでAmazon S3にストリーミングし、AWS Glueで分析基盤に取り込む
https://aws.amazon.com/jp/blogs/news/loading-ongoing-data-lake-changes-with-aws-dms-and-aws-glue/ - Amazon Athenaを使用したクロスアカウント、クロスリージョンのAWS Glueデータカタログ
https://aws.amazon.com/jp/blogs/news/cross-account-aws-glue-data-catalog-access-with-amazon-athena/
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/cross-account-permissions.html
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/fine-grained-access-to-glue-resources.html - AWS Glueがサポートしているアプリケーション(PythonとPySpark拡張機能、Scala)でのAWS Glue ETLスクリプトプログラミング
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-programming.html - AWS Glueジョブブックマークを使用した処理済みデータの追跡
https://docs.aws.amazon.com/ja_jp/glue/latest/dg/monitor-continuations.html
https://aws.amazon.com/jp/blogs/news/process-data-with-varying-data-ingestion-frequencies-using-aws-glue-job-bookmarks/ - AWS Glueで最適化されたParquetライター
https://aws.amazon.com/jp/blogs/news/load-data-incrementally-and-optimized-parquet-writer-with-aws-glue/
Amazon Kinesis
- Amazon Kinesis Data Streamsの概要(シャード、パーティションキー、シーケンス番号、Kinesis Client Libraryの使用)
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/key-concepts.html
https://aws.amazon.com/jp/kinesis/data-streams/faqs/
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/shared-throughput-kcl-consumers.html - Amazon Kinesis Data Firehoseが連携できるサービス
https://docs.aws.amazon.com/ja_jp/firehose/latest/dev/what-is-this-service.html - Amazon Kinesis Data Analyticsの前処理と出力先でのAWS Lambda関数連携
https://docs.aws.amazon.com/ja_jp/kinesisanalytics/latest/dev/lambda-preprocessing.html
https://docs.aws.amazon.com/ja_jp/kinesisanalytics/latest/dev/how-it-works-output-lambda-functions.html - プロデューサーおよびコンシューマーの再試行で発生した重複レコードの処理
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-record-processor-duplicates.html - Amazon Kinesis Data Streamsのスケーリングメカニズムとシャードのバランス調整
https://aws.amazon.com/jp/blogs/news/under-the-hood-scaling-your-kinesis-data-streams/ - AWS Application Auto Scalingを使用したAmazon Kinesis Data Streamsのスケーリング
https://aws.amazon.com/jp/blogs/news/scaling-amazon-kinesis-data-streams-with-aws-application-auto-scaling/ - Amazon Kinesis Data StreamsとAmazon Kinesis Data Analyticsを組み合わせた開発
https://aws.amazon.com/jp/blogs/news/new-amazon-kinesis-data-analytics-for-java/ - Amazon Kinesis Data Streamsの拡張ファンアウトでスループットを専有してレコードを受け取るコンシューマーを開発
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/enhanced-consumers.html
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/building-enhanced-consumers-api.html
https://aws.amazon.com/jp/blogs/news/kds-enhanced-fanout/ - リシャーディング戦略とリシャーディング後の親シャードの処理
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-record-processor-scaling.html
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-using-sdk-java-resharding.html
https://docs.aws.amazon.com/ja_jp/streams/latest/dev/kinesis-using-sdk-java-after-resharding.html
AWS Lake Formation
- AWS Lake Formationの概要(統合できるサービスと仕組み)
https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/what-is-lake-formation.html
https://docs.aws.amazon.com/ja_jp/lake-formation/latest/dg/how-it-works.html
https://aws.amazon.com/jp/lake-formation/features/
Amazon Managed Streaming for Kafka(Amazon MSK)
- Amazon MSKとAmazon Kinesis Data Streamsの使い分け(既存のKafkaの移行。基本的にはAmazon Kinesis Data Streams。)
https://www.slideshare.net/AmazonWebServicesJapan/20191120-aws-black-belt-online-seminar-amazon-managed-streaming-for-apache-kafka-amazon-msk
Amazon QuickSight
- QuickSightでサポートされているデータソース
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/supported-data-sources.html - QuickSightでIDフェデレーションとシングルサインオン(SSO)を使用
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/external-identity-providers.html - Amazon QuickSightからAmazon Redshiftへの接続とIPアドレス範囲制限
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/enabling-access-redshift.html - Amazon QuickSightからAmazon Athenaへの接続とAmazon S3のアクセス許可
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/athena.html - QuickSightのML Insightsによる異常検知
https://aws.amazon.com/jp/blogs/news/amazon-quicksight-announces-general-availability-of-ml-insights/ - 行レベルのセキュリティ(RLS)を使用したデータセットへのアクセスの制限
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/restrict-access-to-a-data-set-using-row-level-security.html - 列レベルのセキュリティ(CLS)を使用したデータセットへのアクセスの制限
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/restrict-access-to-a-data-set-using-column-level-security.html - Amazon QuickSightで使用できるビジュアルタイプと各ビジュアルタイプのユースケース
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/working-with-visual-types.html
Amazon Redshift
- Redshiftの概要(ペタバイト規模の構造化および半構造化データを標準的なSQLでクエリできるデーテウェアハウス)
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/welcome.html - ステージングテーブルの使用
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/merge-create-staging-table.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/t_updating-inserting-using-staging-tables-.html - Amazon RedshiftとAmazon Redshift Spectrumの併用
https://aws.amazon.com/jp/blogs/news/10-best-practices-for-amazon-redshift-spectrum/ - Amazon Redshift Spectrum外部テーブルでのApache Parquetファイルの使用とパーティション化
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c-spectrum-external-tables.html - Amazon RedshiftのAWS KMSまたはHSMを使用した暗号化
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-db-encryption.html - Amazon Redshiftのデータロード高速化(最適サイズ1MB~125MB、ファイル数はクラスター内のスライス数の倍数、単一COPYコマンドの使用)
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_loading-data-best-practices.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_best-practices-use-multiple-files.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/r_COPY.html
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_best-practices-single-copy-command.html - COPYコマンドでのマニフェストファイルを使用したデータファイル指定
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/loading-data-files-using-manifest.html - データ分散スタイルの特徴(EVEN:結合に関与しないテーブル、KEY:結合するテーブル、ALL:更新頻度、更新範囲が少ないテーブル)
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_choosing_dist_sort.html - ワークロード管理(WLM)によるクエリ同時実行数とメモリ割り当て管理
https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html - 同時実行スケーリングによるクラスター容量の自動追加
https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/concurrency-scaling.html - ノードタイプ(高密度ストレージノードタイプ、高密度コンピューティングノードタイプ)の特徴
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/working-with-clusters.html - 伸縮自在なサイズ変更(Elastic Resize)の特徴
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/managing-cluster-operations.html - Amazon Redshiftの監査ログの有効化
https://aws.amazon.com/jp/premiumsupport/knowledge-center/logs-redshift-database-cluster/
https://docs.aws.amazon.com/ja_jp/redshift/latest/mgmt/db-auditing.html - Amazon Redshiftの列レベルのアクセス制御
https://aws.amazon.com/jp/blogs/news/achieve-finer-grained-data-security-with-column-level-access-control-in-amazon-redshift/
Amazon CloudWatch Logs
- Amazon CloudWatch Logsにログを発行するAWSのサービス
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/aws-services-sending-logs.html - Amazon CloudWatch Logsからデータ連携できるAWSサービス(Amazon Kinesis Data Streams、Amazon Kinesis Data Firehose、Amazon Elasticsearch Service、Amazon S3など)
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/SubscriptionFilters.html
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CWL_ES_Stream.html
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/S3Export.html