あなたの選択した答えは強調表示されています。
問題1 |
ある企業は、お客様の住所を含むお客様データテーブルを AWS Lake Formation データレイクに保存しています。新しい規制に準拠するため、同社は、カナダにいるお客様のデータにユーザーがアクセスできないようにする必要があります。
同社は、カナダにいるお客様の行にユーザーがアクセスできないようにするソリューションが必要です。
この要件を、運用上の労力を最小限に抑えて満たすソリューションを選択してください。
国がカナダであるすべての行にタグを適用します。タグが「カナダ」に等しいユーザーアクセスを防止します。 | |
行レベルのフィルターを設定して、国がカナダの行へのユーザーアクセスを防止します。 | |
列レベルのフィルターを設定して、国がカナダである行へのユーザアクセスを禁止します。 | |
国名がカナダである住所へのユーザーアクセスを制限する IAM ロールを作成します。 |
問題 1 の説明および補足
データフィルターの管理
「行レベルのフィルター」を使用することで、国がカナダの行へのユーザーアクセスを防止できるため正解です。フィルターの種類 | 定義 | 範囲 | 使用例 | 一般的な使用方法 |
---|---|---|---|---|
行レベルフィルター | 特定の条件を満たす行に基づいてフィルタリングを行います (例 : 国がカナダである行へのアクセス制限) 。 | 属性や条件に基づいて、テーブル内の個々の行へのアクセスを制御します。 | 顧客の国が「カナダ」である行へのアクセスを拒否する。 | ユーザーやグループの権限に基づいて、特定のレコードへのアクセスを制御する必要がある場合に使用します。 |
列レベルフィルター | 特定の列に基づいてフィルタリングを行い、特定のデータフィールドへのアクセスを許可または拒否します (例 : SSN のような機密列を非表示にする) 。 | テーブルの特定の列へのアクセスを制御し、行に関係なく列を管理します。 | SSN 列を非表示にして機密情報を保護し、他の列にはアクセスを許可する。 | プライバシーや法規制の理由で特定のフィールドを非表示にするが、他のデータにはアクセスを許可する場合に使用します。 |
問題2 |
ある企業が複数のデータソースからデータを取り込み、Amazon S3 バケットにデータを保存します。AWS Glue の ETL (抽出、変換、ロード) ジョブが、データを変換し、変換されたデータを Amazon S3 ベースのデータレイクに書き込みます。同社は、Amazon Athena を使用して、データレイク内のデータをクエリします。
同社は、レコードが共通の一意の識別子を持っていない場合でも、一致するレコードを識別する必要があります。
この要件を満たすソリューションを選択してください。
ETL ジョブで AWS Lake Formation FindMatches 変換をトレーニングして使用します。 | |
ETL ジョブの一部として Amazon Macie のパターンマッチングを使用します。 | |
ETL ジョブで AWS Glue PySpark Filter クラスをトレーニングして使用します。 | |
テーブルをパーティショニングし、ETL ジョブで一意の識別子でデータをパーティショニングします。 |
問題 2 の説明および補足
AWS Lake Formation FindMatches
「AWS Lake Formation FindMatches」変換を使用することで、「一意の識別子がなくても」一致するレコードを識別できるため正解です。問題3 |
企業は、トランザクションに関する詳細を Amazon S3 バケットに保存しています。同社は、S3 バケット内のオブジェクト操作 (例 : PUT, POST, DELETE などの書き込み操作) を、同じ AWS リージョンにある別の S3 バケットに記録したいと考えています。
最小限の運用労力でこの要件を満たすソリューションを選択してください。
AWS CloudTrail でデータイベントの証跡を作成します。トランザクション S3 バケットからデータを受信するように証跡を設定します。空のプレフィックスと書き込み専用イベントを指定します。宛先バケットとして ログ S3 バケットを指定します。 | |
トランザクション S3 バケット上のすべてのアクティビティに対して、AWS Lambda 関数を呼び出す S3 イベント通知ルールを設定します。Amazon Kinesis Data Firehose にイベントを書き込むように Lambda 関数をプログラムします。ログ S3 バケットにイベントを書き込むように Kinesis Data Firehose を設定します。 | |
トランザクション S3 バケット上のすべてのアクティビティに対して、AWS Lambda 関数を呼び出す S3 イベント通知ルールを設定します。イベントをログ S3 バケットに書き込むように Lambda 関数をプログラムします。 | |
AWS CloudTrail で管理イベントの証跡を作成します。トランザクション S3 バケットからデータを受信するように証跡を設定します。空のプレフィックスと書き込み専用イベントを指定します。宛先バケットとして ログ S3 バケットを指定します。 |
問題 3 の説明および補足
CloudTrail イベント
「AWS CloudTrail」 で 「データイベント」 の証跡を作成することで、トランザクション S3 バケット内のオブジェクト操作を記録できるため正解です。PUT
, POST
, DELETE
) を追跡できます。この選択肢の設定では、対象として トランザクション S3 バケット を指定し、書き込み専用イベント を有効にすることで、バケット内の書き込み操作を記録します。さらに、記録されたデータは宛先として指定された ログ S3 バケット に自動的に保存されます。この方法では、手動のイベント処理や追加のコンポーネントを必要とせず、最小限の運用労力でオブジェクト操作の追跡が可能となります。イベントタイプ | 追跡対象 | デフォルトの状態 | 用途 |
---|---|---|---|
管理イベント | AWS リソースの作成、削除、設定変更 (例 :IAM ユーザーの作成、EC2 インスタンスの起動) | 有効 (デフォルトでオン) | AWS アカウント全体の管理操作を追跡し、リソースの変更や管理を監視。 |
データイベント | S3 オブジェクトや Lambda 関数のオブジェクトレベルの操作 (例 :PUT、POST、DELETE) | 無効 (手動で有効化が必要) | 詳細な操作履歴を取得するため。主に監査、セキュリティ、法的要件のために使用。 |
インサイトイベント | 異常な API 使用のパターンを追跡し、潜在的なセキュリティインシデントを検出 | 有効 (CloudTrail Insights を有効化する必要あり) | 異常な活動を検知し、セキュリティやオペレーショナルな問題を迅速に発見。 |
問題4 |
データエンジニアは、AWS のサービスを使用してデータセットを Amazon S3 データレイクに取り込む必要があります。データエンジニアはデータセットをプロファイルし、データセットに個人を特定できる情報 (PII) が含まれていることを発見します。データエンジニアは、データセットをプロファイルし、PII を難読化するソリューションを実装する必要があります。
この要件を最も少ない運用工数で満たすソリューションを選択してください。
Amazon Kinesis Data Firehose 配信ストリームを使用してデータセットを処理します。AWS Lambda 変換関数を作成して、PII を識別します。AWS SDK を使用して PII を難読化します。S3 データレイクを配信ストリームのターゲットとして設定します。 | |
AWS Glue Studio の Detect PII 変換を使用して PII を識別します。AWS Glue Data Quality でルールを作成して、PII を難読化します。AWS Step Functions ステートマシンを使用して、データパイプラインを調整し、データを S3 データレイクに取り込みます。 | |
AWS Glue Studio の Detect PII 変換を使用して PII を識別します。PII を難読化します。AWS Step Functions ステートマシンを使用して、データパイプラインを調整し、データを S3 データレイクに取り込みます。 | |
データセットを Amazon DynamoDB に取り込みます。AWS Lambda 関数を作成して、DynamoDB テーブル内の PII を識別して難読化し、データを変換します。同じ Lambda 関数を使用して、データを S3 データレイクに取り込みます。 |
問題 4 の説明および補足
機密データを検出して処理する
「AWS Glue Studio の Detect PII 変換」 と 「AWS Step Functions」 により、PII 検出と難読化が自動化され、データパイプラインが効率的に構築されるため正解です。問題5 |
データエンジニアは、ETL(抽出、変換、ロード) ジョブを構築する必要があります。ETL ジョブは、ユーザーが Amazon S3 バケットにアップロードする毎日の受信 .csv ファイルを処理します。各 S3 オブジェクトのサイズは 100 MB 未満です。
これらの要件を最もコスト効率よく満たすソリューションを選択してください。
AWS Glue PySpark ジョブを作成します。Apache Spark を使用してデータを変換します。 | |
カスタム Python アプリケーションを作成します。Amazon Elastic Kubernetes Service (Amazon EKS) クラスターでアプリケーションをホストします。 | |
AWS Glue Python シェルジョブを作成します。Pandas を使用してデータを変換します。 | |
PySpark の ETL スクリプトを作成します。Amazon EMR クラスターでスクリプトをホストします。 |
問題 5 の説明および補足
AWS Glue での Python シェルジョブの概要
「小規模なデータ処理に適したコスト効率の高い方法」であり、100 MB 未満のデータ処理に最適なため正解です。pandas
は、軽量で直感的なデータ操作ライブラリとして、少量データの変換に特化しています。
たとえば、pandas を用いて 100 MB 未満のデータセットを扱う場合、Spark のような分散処理フレームワークを利用するオーバーヘッドは発生せず、より少ない計算リソースでデータを処理できるため、運用コストを削減できます。Spark を用いた場合、クラスタの管理やスケーリングに対して追加のコストがかかるため、pandas の方がはるかにコスト効率が高くなります。問題6 |
データエンジニアは、Amazon S3 から読み込んで Amazon Redshift に書き込む AWS Glue ジョブをデバッグする必要があります。データエンジニアは、AWS Glue ジョブのブックマーク機能を有効にしました。データエンジニアは、AWS Glue ジョブの最大同時実行数を 1 に設定しました。
AWS Glue ジョブは、正常に Amazon Redshift に出力を書き込んでいます。しかし、AWS Glue ジョブの以前の実行時にロードされた Amazon S3 ファイルが、その後の実行で再処理されています。
AWS Glue ジョブがファイルを再処理している理由を選択してください。
AWS Glue ジョブに必須の commit ステートメントがありません。 | |
AWS Glue ジョブの最大同時実行数が 1 に設定されています。 | |
AWS Glue ジョブに、ブックマークが正しく機能するために必要な s3:GetObjectAcl 権限がありません。 | |
データエンジニアが、Glue ジョブに古いバージョンの AWS Glue を誤って指定しました。 |
問題 6 の説明および補足
ジョブデータの再処理
job.commit ()
が含まれていないため正解です。
job.commit ()
を記述する必要があります。このステートメントが欠如していると、以前に処理されたデータが再度処理されることがあります。job.commit ()
によって、AWS Glue はどのデータがすでに処理されたかを記録し、次回の実行時に重複処理を防ぎます。job.commit ()
の欠如があると説明しています。このステートメントは、ジョブが処理済みデータを追跡し、次回の実行で重複処理を防ぐために必要です。もし job.commit ()
がスクリプトに含まれていないと、ブックマーク機能が正しく動作しないため、データの再処理が発生します。
参考URL : エラー : ジョブのブックマークが有効なときにジョブがデータを再処理しています
■以下は間違いです。
s3:GetObjectAcl
権限は、ブックマーク機能には不要なため間違いです。
s3:GetObject
権限を必要とします。この権限がない場合、AWS Glue は Amazon S3 バケット内のオブジェクトにアクセスできず、ファイルのメタデータを取得できないため、どのファイルが処理済みか判断できません。一方で、s3:GetObjectAcl
権限は不要です。s3:GetObjectAcl
はオブジェクトのアクセス制御リスト (ACL) を取得するためのものであり、ジョブの重複処理防止とは関係がありません。問題7 |
ある研究室では、プロジェクトのために IoT センサーを使用して湿度、温度、圧力を監視しています。センサーは 10 秒ごとに 100 KB のデータを送信します。下流のプロセスは、30 秒ごとに Amazon S3 バケットからデータを読み取ります。
最も少ないレイテンシーで S3 バケットにデータを配信するソリューションを選択してください。
Amazon Kinesis Data Streams を使用して、Kinesis Client Library を呼び出し、データを S3 バケットに配信します。アプリケーションから 5 秒のバッファ間隔を使用します。 | |
Amazon Kinesis Data Streams と Amazon Kinesis Data Firehose を使用して、データを S3 バケットに配信します。Kinesis Data Firehose のデフォルトのバッファ間隔を使用します。 | |
Amazon Managed Service for Apache Flink と Amazon Kinesis Data Firehose を使用して、データを S3 バケットに配信します。Kinesis Data Firehose に 5 秒のバッファ間隔を使用します。 | |
Amazon Kinesis Data Streams を使用して、S3 バケットにデータを配信します。プロビジョニングされた 5 つのシャードを使用するようにストリームを設定します。 |
問題 7 の説明および補足
Amazon Managed Service for Apache Flink を使用してコンシューマーを開発する
「Amazon Managed Service for Apache Flink」 と 「Amazon Kinesis Data Firehose」 の組み合わせを使用し、5 秒のバッファ間隔でデータを低レイテンシーで Amazon S3 バケットに配信できるため正解です。
問題は全部で 7 問。全て答えられるように頑張りましょう!
リスト |