DVA#43

DVA#42 – DVA#43 – DVA#44
R – F

お疲れ様でした!DVA#43のクイズ終了しました。

解答スコアは %%SCORE%% / %%TOTAL%% 問正解です。

%%RATING%%


あなたの選択した答えは強調表示されています。
問題1
会社が外部のサードパーティの依存関係を持つ Lambda のコードを展開しています。コードをデプロイするときに、CodeStorageExceededException エラーが発生します。圧縮された zip デプロイパッケージのサイズは約 60 MB です。エラーの原因を選択してください。
A
デプロイパッケージに圧縮されるコード/依存関係のサイズが 100 MB を超えています。
B
デプロイパッケージのサイズ制限は 50 MB のため失敗します。
C
デプロイパッケージに圧縮されるコード/依存関係のサイズが 200 MB を超えています。
D
デプロイパッケージのサイズ制限は 60 MB のため失敗します。
問題 1 の説明および補足 
AWS Lambda のクォータ
圧縮された zip コードのサイズが 50 MB を超えているためエラーが発生します。

※AWS Lambda のクォータ
・デプロイパッケージサイズ
50 MB (zip 圧縮済み、直接アップロード)
250 MB (解凍、レイヤーを含む)
3 MB (コンソールエディタ)
参考URL:AWS Lambda のクォータ

■以下は間違いです。
・デプロイパッケージに圧縮されたコード/依存関係のサイズが 200 MB を超えています。
・デプロイパッケージに圧縮されたコード/依存関係のサイズが 100 MB を超えています。
→最大サイズは 250 MB であるため間違いです。

・デプロイパッケージのサイズ制限は 60 MB のため失敗します。
→zip の圧縮済みの最大サイズは 50 MB であるため間違いです。
問題2
開発者は、Amazon API Gateway REST API バックエンドと、Amazon DynamoDB テーブルと対話する AWS Lambda 関数を使用して、アプリケーションを構築しています。テスト中、開発者は API にリクエストを送信するときに高いレイテンシーを確認します。開発者はどのようにしてエンドツーエンドのレイテンシーを評価し、パフォーマンスのボトルネックを特定できますか?
A
API Gateway と Lambda 関数で AWS X-Ray トレースを有効にします。X-Ray を使用して、ユーザーの要求を追跡および分析します。
B
AWS CloudTrail のログ記録を有効にし、ログを使用して各レイテンシーとボトルネックをマッピングします。
C
Lambda 関数の Amazon CloudWatch Logs を有効にします。API Gateway の実行ログを有効にして、ユーザーの要求ログを表示して分析します。
D
VPC フローログを有効にして、VPC 内のネットワークトラフィックをキャプチャして分析します。
問題 2 の説明および補足 
AWS Lambda および AWS X-Ray
AWS X-Ray を使用して AWS Lambda 関数をトレースし、エンドツーエンドの遅延を評価し、パフォーマンスのボトルネックを特定できます。

※AWS Lambda および AWS X-Ray
AWS X-Ray を使用して、AWS Lambda 関数をトレースできます。Lambda は X-Ray デーモンを実行し、関数の呼び出しと実行に関する詳細を含むセグメントを記録します。さらにインストルメンテーションを行うために、X-Ray SDK を関数にバンドルして、発信呼び出しを記録し、注釈とメタデータを追加できます。
Lambda 関数が別のインストルメント化されたサービスによって呼び出された場合、Lambda は、追加の構成なしですでにサンプリングされたリクエストをトレースします。アップストリームサービスは、インストルメント化されたウェブアプリケーションまたは別の Lambda 関数にすることができます。サービスは、インストルメント化された AWS SDK クライアントを使用して直接関数を呼び出すか、インストルメント化された HTTP クライアントを使用して API Gateway API を呼び出すことができます。
Lambda 関数がスケジュールどおりに実行される場合、またはインストルメントされていないサービスによって呼び出される場合は、アクティブなトレースを使用して呼び出しをサンプリングおよび記録するように Lambda を構成できます。
参考URL:AWS Lambda および AWS X-Ray

※AWS X-Ray とは
AWS X-Ray はアプリケーションが処理するリクエストに関するデータを収集するサービスです。データを表示、フィルタリング、洞察を取得して問題や機会を識別して最適化するために使用できるツールを提供します。アプリケーションに対するトレース対象のリクエストの場合、リクエストとレスポンスに関する情報だけではなく、アプリケーションがダウンストリームに対して行う呼び出しの詳細な情報も表示できます。
X-Ray は、AWS 詳細を生成するためにクラウドアプリケーションを強化するリソースサービスグラフ。サービスグラフには、フロントエンドサービスが呼び出してリクエストを処理しデータを維持するクライアント、フロントエンドサービス、バックエンドサービスが表示されます。サービスグラフを使用して、ボトルネック、レイテンシーのスパイク、その他の問題を識別して解決し、アプリケーションのパフォーマンスを向上させます。
参考URL:AWS X-Ray とは

■以下は間違いです。
・VPC フローログを有効にして、VPC 内のネットワークトラフィックをキャプチャして分析します。
→VPC フローログは、VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報を取得することができる機能であるため間違いです。
参考URL:VPC フローログ

・Lambda 関数の Amazon CloudWatch Logs を有効にします。API Gateway の実行ログを有効にして、ユーザーの要求ログを表示して分析します。
→Amazon CloudWatch Logs により、使用中のすべてのシステム、アプリケーション、AWS のサービスからのログを、スケーラビリティに優れた 1 つのサービスで一元管理することができます。これにより、ログを簡単に表示したり、特定のエラーコードやパターンを検索したり、特定のフィールドに基づいてフィルタリングしたり、将来の分析のために安全にアーカイブしたりできます。用途が異なるため間違いです。
参考URL:Amazon CloudWatch Logs とは

・AWS CloudTrail のログ記録を有効にし、ログを使用して各レイテンシーとボトルネックをマッピングします。
→AWS CloudTrail は、AWS アカウントのガバナンス、コンプライアンス、運用監査、リスク監査を行うサービスのため間違いです。
参考URL:AWS CloudTrail
問題3
ウェブアプリケーションが DynamoDB テーブルから項目を読み取り、属性を変更してから、その項目をテーブルに書き戻します。あるプロセスが別のプロセスからの同時変更を上書きしないようにする必要があります。どうすれば並行性を確保できますか?
A
読み取り時に項目をロックすることにより、オプティミスティックロックを実装します。
B
条件付き書き込みを使用して、オプティミスティックロックを実装します。
C
条件付き書き込みを使用して、ペシミスティックロックを実装します。
D
読み取り時に項目をロックすることにより、ペシミスティックロックを実装します。
問題 3 の説明および補足 
バージョン番号を使用したオプティミスティックロック
オプティミスティックロックとは、更新 (または削除) しているクライアント側の項目が、Amazon DynamoDB の項目と確実に同じになるようにするための方法です。この方法を使用すると、データベースの書き込みは、他のユーザーの書き込みによって上書きされないように保護されます。

※バージョン番号を使用したオプティミスティックロック
オプティミスティックロックを使用する場合、各項目には、バージョン番号として機能する属性があります。項目をテーブルから取り出すと、アプリケーションは、その項目のバージョン番号を記録します。サーバー側のバージョン番号が変更されていない場合のみ、項目を更新できます。バージョンの不一致がある場合は、前に他のユーザーによってそのアイテムが変更されたことを意味します。アイテムの古いバージョンがあるため、更新の試行は失敗します。その場合は、単純に更新をやり直します。もう一度項目を取得して、それを更新してください。オプティミスティックロックでは、他のユーザーが行った変更を誤って上書きできないようにします。また、お客様が行った変更を他のユーザーが誤って変更することを防ぐこともできます。
参考URL:バージョン番号を使用したオプティミスティックロック

■以下は間違いです。
・条件付き書き込みを使用して、ペシミスティックロックを実装します。
・読み取り時に項目をロックすることにより、ペシミスティックロックを実装します。
→ペシミスティックロックにより、データベース内のアイテムまたは行がロックされて値が変更されないため間違いです。

・読み取り時に項目をロックすることにより、オプティミスティックロックを実装します。
→DynamoDB は項目のロックをサポートしておらず、条件付き書き込みはオプティミスティックロックを実装するのに最適なため間違いです。
問題4
セキュリティシステムは 3000 台のカメラを監視し、30 秒ごとに画像のメタデータを Amazon DynamoDB に保存しています。各サンプルでは 256 バイトのデータを書き込んでおり、書き込みは時間の経過とともに均等に行われます。ターゲットテーブルにはどのくらいの書き込みスループットが必要ですか?
A
WCU 600 個
B
WCU 100 個
C
WCU 30 個
D
WCU 300 個
問題 4 の説明および補足 
読み込み/書き込みキャパシティーモード
100 のプロビジョニングされた書き込みスループットが必要になるため、正解は WCU 100 個です。
WCU は 1 秒あたり 1 KBです。
256 バイトは 1 KBに丸められ、1 回の書き込みが必要になります。
(3000カメラ/ 30秒)* 1 = 100

※読み込み/書き込みキャパシティーモード
1 つの書き込みキャパシティーユニットは、最大でサイズが 1 KB までの項目について、1 秒あたり 1 回の書き込みを表します。1 KB より大きい項目を書き込む必要がある場合、DynamoDB は追加の書き込みキャパシティーユニットを消費する必要があります。トランザクション書き込みリクエストでは、1 KB までの項目を 1 秒あたり 1 回書き込むのに書き込みキャパシティーユニットが 2 個必要です。必要な書き込みキャパシティーユニットの合計数は、項目サイズに応じて異なります。たとえば、項目のサイズが 2 KB の場合、1 秒あたり 1 回の書き込みリクエストを維持するには書き込みキャパシティーユニットが 2 個、またはトランザクション書き込みリクエストには書き込みキャパシティーユニットが 4 個必要です。
参考URL:読み込み/書き込みキャパシティーモード
問題5
次の AWS CloudFormation テンプレートがあります。
説明:共有コンテンツ用の新しい Amazon S3 バケットを作成します。
競合を回避するためにランダムなバケット名を使用します。
Resources:
 ContentBucket:
  Type: AWS::S3::Bucket
 Outputs:
  ContentBucketName:
   Value: !Ref ContentBucket
別の AWS CloudFormation テンプレートから新しい Amazon S3 バケットを参照する最も効率的な方法を選択してください。
A
元のテンプレートの Contentbucket に Exported: true を追加し、他のテンプレートで ImportResource を使用します。
B
元のテンプレートの Outputs セクションに Export 宣言を追加し、他のテンプレートで ImportValue を使用します。
C
最初のスタックの ContentBucket リソースからバケット名を取得するカスタム AWS CloudFormation リソースを作成します。
D
Fn::Include を使用して既存のテンプレートを他のテンプレートに含め、ContentBucket リソースを直接使用します。
問題 5 の説明および補足 
チュートリアル: 別の AWS CloudFormation スタックのリソース出力を参照する
クロススタックの参照を作成するには、Export 出力フィールドを使用してエクスポートのリソース出力の値を設定します。次に、値を Fn::ImportValue 組み込み関数を使用して値をインポートします。

※チュートリアル: 別の AWS CloudFormation スタックのリソース出力を参照する
ある AWS CloudFormation スタックから別のスタックへリソースをエクスポートするには、クロススタックの参照を作成します。クロススタックの参照により、多層またはサービス指向アーキテクチャを使用することができます。1 つのスタックにすべてのリソースを含める代わりに、別のスタックに関連した AWS リソースを作成し、必要なリソース出力を他のスタックから参照できます。クロススタックの参照を出力に制限することにより、他のスタックから参照されるスタックの部分を制御します。
たとえば、VPC のあるネットワークスタック、セキュリティグループ、パブリックウェブアプリケーションのサブネット、別個のパブリックウェブアプリケーションスタックがあるとします。ウェブアプリケーションで、ネットワークスタックのセキュリティグループとサブネットが使用されるようにするには、ウェブアプリケーションスタックがネットワークからのリソース出力を参照できるようにクロススタック参照を作成する必要があります。クロススタック参照を使用すると、ウェブアプリケーションスタックの所有者がネットワーキングのルールや資産を作成または維持する必要がなくなります。
クロススタックの参照を作成するには、Export 出力フィールドを使用してエクスポートのリソース出力の値を設定します。次に、値をFn::ImportValue 組み込み関数を使用して値をインポートします。
参考URL:チュートリアル: 別の AWS CloudFormation スタックのリソース出力を参照する
問題6
開発者は、既存のアプリケーションを AWS に移行しようとしています。これらのアプリケーションは、プライマリデータストアとして MongoDB を使用しており、Amazon EC2 インスタンスにデプロイされます。経営陣は、開発者が AWS サービスを使用している間、アプリケーションへの変更を最小限に抑えることを要求しています。開発者は、AWS で MongoDB をホストするためにどのソリューションを使用する必要がありますか?
A
既存の MongoDB ワークロードを Amazon DynamoDB に複製します。
B
Amazon API Gateway を使用して、API 呼び出しを MongoDB から Amazon DynamoDB に変換します。
C
Amazon DocumentDB を MongoDB 互換モードでデプロイします。
D
アプリケーションが実行されているのと同じインスタンスに MongoDB をインストールします。
問題 6 の説明および補足 
Amazon DocumentDB
MongoDB 互換モードの AmazonDocumentDB は、アプリケーションへの最小限の変更で AWS で MongoDB 互換を提供するため正解です。

※Amazon DocumentDB
Amazon DocumentDB は、ミッションクリティカルなMongoDB のワークロードを運用するための、スケーラブルかつ高い耐久性の、フルマネージドデータベースサービスです。自動レプリケーション、継続的なバックアップ、および厳格なネットワーク分離により、 99.999999999% の耐久性を実現します。
参考URL:Amazon DocumentDB

■以下は間違いです。
・Amazon API Gateway を使用して、API 呼び出しを MongoDB から Amazon DynamoDB に変換します。
・既存の MongoDB ワークロードを Amazon DynamoDB に複製します。
→Amazon DynamoDB は MongoDB 互換として動作しないため間違いです。

・アプリケーションが実行されているのと同じインスタンスに MongoDB をインストールします。
→同じインスタンスで MongoDB をホストすることは推奨されないため間違いです。
問題7
企業のウェブアプリケーションは、Amazon Virtual Private Cloud (VPC) 内にデプロイされ、IPSec VPN を介して企業のデータセンターに接続されています。アプリケーションは、オンプレミスの LDAP サーバーに対して認証を行う必要があります。認証後、ログインした各ユーザーは、そのユーザーに固有の Amazon Simple Storage Space (S3) バケットにのみアクセスできます。これらの目的を満たすことができる方法を選択してください。(2 つ選択)
A
LDAP に対して認証を行い、IAM セキュリティトークンサービスを呼び出して IAM フェデレーションされたユーザーの認証情報を取得する ID ブローカーを開発します。アプリケーションは ID ブローカーを呼び出して、適切な S3 バケットにアクセスして IAM フェデレーションユーザーの認証情報を取得します。
B
アプリケーションは、LDAP の認証情報を使用して IAM セキュリティトークンサービスに対して認証します。アプリケーションは、それらの一時的な AWS セキュリティ認証情報を使用して適切な S3 バケットにアクセスすることができます。
C
アプリケーションは LDAP に対して認証を行い、アプリケーションは AWS IAM セキュリティトークンサービスを呼び出して LDAP の認証情報を使って IAM にログインします。アプリケーションは IAM の一時的な認証情報を使って適切な S3 バケットにアクセスすることができます。
D
アプリケーションは LDAP に対して認証を行い、ユーザーに関連付けられた IAM ロールの名前を取得します。次に、アプリケーションは IAM セキュリティトークンサービスを呼び出して、その IAM ロールを引き継ぎます。アプリケーションは、一時的な認証情報を使用して適切な S3 バケットにアクセスすることができます。
E
IAM セキュリティトークンサービスに対して認証を行い、一時的な AWS セキュリティ認証情報を取得するために IAM ロールを引き受ける ID ブローカーを開発します。アプリケーションは ID ブローカーを呼び出して、適切な S3 バケットへのアクセス権を持つ AWS の一時的なセキュリティ認証情報を取得します。
問題 7 の説明および補足 
ID プロバイダーとフェデレーション
IAM ID プロバイダーとフェデレーションの理解に関する問題です。LDAP で認証し、AssumeRole を呼び出す選択肢と、カスタム ID ブローカーの実装を使用し、LDAP で認証し、フェデレーショントークンを使用する選択肢が正解です。
参考URL:ID プロバイダーとフェデレーション

■以下は間違いです。
・IAM セキュリティトークンサービスに対して認証を行い、一時的な AWS セキュリティ認証情報を取得するために IAM ロールを引き受ける ID ブローカーを開発します。アプリケーションは ID ブローカーを呼び出して、適切な S3 バケットへのアクセス権を持つ AWS の一時的なセキュリティ認証情報を取得します。
・アプリケーションは、LDAP の認証情報を使用して IAM セキュリティトークンサービスに対して認証します。アプリケーションは、それらの一時的な AWS セキュリティ認証情報を使用して適切な S3 バケットにアクセスすることができます。
→アプリケーションは IAM ではなく LDAP に対して認証する必要があるため間違いです。

・アプリケーションは LDAP に対して認証を行い、アプリケーションは AWS IAM セキュリティトークンサービスを呼び出して LDAP の認証情報を使って IAM にログインします。アプリケーションは IAM の一時的な認証情報を使って適切な S3 バケットにアクセスすることができます。
→LDAP 認証情報を使用して IAM にログインできないため間違いです。
お疲れさまでした。 クイズが完了したら、「クイズの結果を見る」ボタンをクリックしてください。あなたが完了していないアイテムは、間違いのマークがされます。 クイズの結果を見る
問題は全部で 7 問。全て答えられるように頑張りましょう!
リスト
戻る
網掛け部分は完了した項目です。
12345
67ゴール
戻る
error: コンテンツの複製・転用は禁止されております。