AWS DVA-C02 第1章 練習問題(100問)

AWS DVA-C02(デベロッパー アソシエイト)第1章の本番形式の練習問題です。

  1. Q1. ある企業の開発者がAmazon EC2インスタンス上でアプリケーションを実装しています。このアプリケーションは受信したトランザクションを処理する必要があります。アプリケーションが無効なトランザクションを検出した場合、開発者はサポートチームにチャットメッセージを送信する必要があります。メッセージ送信のため、アプリケーションはチャットAPIの認証に必要なアクセストークンを取得する必要があります。開発者は、アクセストークンを安全に保存するソリューションを実装する必要があります。アクセストークンは静止時および転送中の両方で暗号化される必要があります。また、他のAWSアカウントからもアクセス可能である必要があります。この要件を最小限の管理オーバーヘッドで満たすソリューションはどれですか?

    • A. AWS Systems Manager Parameter StoreのSecureStringパラメータを使用し、AWS Key Management Service (AWS KMS) のAWSマネージドキーでアクセストークンを保存します。他のアカウントからのアクセスを許可するリソースベースポリシーをパラメータに追加します。EC2インスタンスのIAMロールを更新してParameter Storeへのアクセス権限を付与します。デクリプトフラグを有効にしてParameter Storeからトークンを取得します。デクリプトされたアクセストークンを使用してチャットメッセージを送信します。
    • B. AWS Key Management Service (AWS KMS) のカスタマーマネージドキーでアクセストークンを暗号化します。アクセストークンをAmazon DynamoDBテーブルに保存します。EC2インスタンスのIAMロールを更新してDynamoDBおよびAWS KMSへのアクセス権限を付与します。EC2インスタンス上でAWS KMSを使用してトークンを取得・デクリプトします。デクリプトされたアクセストークンを使用してチャットメッセージを送信します。
    • C. AWS Secrets ManagerおよびAWS Key Management Service (AWS KMS) のカスタマーマネージドキーを使用してアクセストークンを保存します。他のアカウントからのアクセスを許可するリソースベースポリシーをシークレットに追加します。EC2インスタンスのIAMロールを更新してSecrets Managerへのアクセス権限を付与します。Secrets Managerからトークンを取得します。デクリプトされたアクセストークンを使用してチャットメッセージを送信します。
    • D. AWS Key Management Service (AWS KMS) のAWSマネージドキーでアクセストークンを暗号化します。アクセストークンをAmazon S3バケットに保存します。他のアカウントからのアクセスを許可するS3バケットポリシーを追加します。EC2インスタンスのIAMロールを更新してAmazon S3およびAWS KMSへのアクセス権限を付与します。S3バケットからトークンを取得し、EC2インスタンス上でAWS KMSを使用してデクリプトします。デクリプトされたアクセストークンを使用してチャットメッセージを送信します。

    この問題を見る →

  2. Q2. ある企業がAWS上でWebアプリケーションを構築しています。顧客がリクエストを送信すると、アプリケーションはレポートを生成し、その後8時間以内に顧客にレポートを配信します。顧客は8時間以内にレポートにアクセスできる必要があります。一部のレポートは1MBを超えるサイズです。各レポートは顧客ごとに固有です。アプリケーションは2日以上経過したレポートを削除する必要があります。この要件を最小限の運用オーバーヘッドで満たすソリューションはどれですか?

    • A. レポートを生成し、指定されたTTL(Time-To-Live)を持つAmazon DynamoDBアイテムとして保存します。DynamoDBからレポートを取得するURLを生成し、Webアプリケーション経由で顧客に提供します。
    • B. レポートを生成し、サーバーサイド暗号化を有効にしたAmazon S3バケットに保存します。レポートをAmazon Simple Notification Service (Amazon SNS) メッセージに添付します。顧客がAmazon SNSからの電子メール通知を購読できるようにします。
    • C. レポートを生成し、サーバーサイド暗号化を有効にしたAmazon S3バケットに保存します。有効期限を含む事前署名URLを生成し、Webアプリケーション経由で顧客に提供します。S3バケットにライフサイクル設定ルールを追加して古いレポートを自動削除します。
    • D. レポートを生成し、日付タイムスタンプ付きでAmazon RDSデータベースに保存します。RDSデータベースからレポートを取得するURLを生成し、Webアプリケーション経由で顧客に提供します。1時間ごとに実行されるAWS Lambda関数をスケジュールして、有効期限を過ぎた日付タイムスタンプを持つデータベースレコードを削除します。

    この問題を見る →

  3. Q3. 開発者は、モバイルクライアントが利用するAPIを備えたサーバーレスアプリケーションを構築・デプロイする必要があります。このAPIは、データソースとしてAmazon DynamoDBおよびAmazon OpenSearch Service (Amazon Elasticsearch Service) を使用します。クライアントに送信されるレスポンスには、これらの2つのデータソースから集約されたデータが含まれます。 開発者は、APIエンドポイントの数を最小限に抑え、必要なデータを取得するために必要なAPI呼び出しの回数も最小限に抑える必要があります。これらの要件を満たすために、開発者はどのソリューションを使用すべきですか?

    • A. AWS AppSync上のGraphQL API
    • B. Amazon API Gateway上のREST API
    • C. Amazon EC2インスタンス上のGraphQL API
    • D. AWS Elastic Beanstalk上のREST API

    この問題を見る →

  4. Q4. 開発者は、Amazon DynamoDBにアクセスするAWS Lambda関数を処理しています。このLambda関数は、項目を取得し、その特定の属性を更新するか、項目が存在しない場合は新規作成する必要があります。Lambda関数はプライマリキーにアクセス可能です。 この機能を実現するために、Lambda関数に付与すべきIAM権限はどれですか?

    • A. dynamodb:DeleteItem dynamodb:GetItem dynamodb:PutItem
    • B. dynamodb:UpdateItem dynamodb:GetItem dynamodb:DescribeTable
    • C. dynamodb:GetRecords dynamodb:PutItem dynamodb:UpdateTable
    • D. dynamodb:UpdateItem dynamodb:GetItem dynamodb:PutItem

    この問題を見る →

  5. Q5. ある企業は、顧客の敷地内にスマートメーターを設置しました。スマートメーターは1分ごとに電力使用量を測定し、その使用量の読み取り値を収集するエンドポイントに送信します。この企業は、スマートメーターの読み取り値を受け取るエンドポイントを作成し、読み取り値をデータベースに保存する必要があります。企業は、位置IDおよびタイムスタンプ情報を保存したいと考えています。また、顧客が現在および過去の使用状況を低遅延でリアルタイムにアクセスできるようにしたいと考えています。企業は、リクエスト数が大幅に増加すると予想しています。このソリューションは、スケーリング時にパフォーマンスに影響を与えてはならず、ダウンタイムを含んではなりません。これらの要件を最もコスト効率よく満たすソリューションはどれですか?

    • A. スマートメーターの読み取り値をAmazon RDSデータベースに保存します。位置IDおよびタイムスタンプ列にインデックスを作成します。列を使用して顧客データをフィルタリングします。
    • B. スマートメーターの読み取り値をAmazon DynamoDBテーブルに保存します。位置IDおよびタイムスタンプ列を使用してコンポジットキーを作成します。列を使用して顧客データをフィルタリングします。
    • C. スマートメーターの読み取り値をAmazon ElastiCache for Redisに保存します。位置IDおよびタイムスタンプ列を使用してSortedSetキーを作成します。列を使用して顧客データをフィルタリングします。
    • D. スマートメーターの読み取り値をAmazon S3に保存します。位置IDおよびタイムスタンプ列でデータをパーティション分割します。Amazon Athenaを使用して顧客データをフィルタリングします。

    この問題を見る →

  6. Q6. ある開発者は、AWS上でデプロイされる新しいアプリケーションの単体テストを実施しています。開発者は、単体テストですべてのプルリクエストを検証し、すべてのテストが成功した場合のみコードをメインブランチにマージしたいと考えています。開発者はコードをAWS CodeCommitに保存し、AWS CodeBuildを設定して単体テストを実行しています。また、CodeBuildタスクを起動するAWS Lambda関数を作成しました。開発者は、Amazon EventBridgeイベントバスでCodeCommitイベントを識別し、プルリクエストの作成または更新時にLambda関数を呼び出せるようにする必要があります。これらの要件を満たすCodeCommitイベントはどれですか?

    • A. {"source": ["aws.codecommit"],"detail":{"event":["pullRequestMergeStatusUpdated"]}}
    • B. {"source": ["aws.codecommit"],"detail":{"event":["pullRequestApprovalRuleCreated"]}}
    • C. {"source": ["aws.codecommit"],"detail":{"event": ["pullRequestSourceBranchUpdated","pullRequestCreated"]}}
    • D. {"source": ["aws.codecommit"],"detail":{"event":["pullRequestUpdated","pullRequestSourceBranchCreated"]}}

    この問題を見る →

  7. Q7. ある企業は、異なる顧客にAmazon S3バケット内のオブジェクトに対する読み取りアクセス権限を付与しています。この企業は、IAM権限を使用してS3バケットへのアクセスを制限しています。顧客は自身のファイルのみにアクセスできます。規制要件により、企業はAmazon S3とのやり取りにおいて転送中の暗号化を強制する必要があります。この要件を満たすソリューションはどれですか?

    • A. S3バケットにバケットポリシーを追加し、aws:SecureTransport条件がfalseの場合にS3操作を拒否します。
    • B. S3バケットにバケットポリシーを追加し、s3:x-amz-acl条件がpublic-readに等しい場合にS3操作を拒否します。
    • C. IAMユーザーにIAMポリシーを追加して、AWS SDKの使用を強制します。
    • D. IAMユーザーにIAMポリシーを追加し、s3:x-amz-acl条件がbucket-owner-readに等しい場合にS3操作を許可します。

    この問題を見る →

  8. Q8. ある開発者は、Amazon API GatewayおよびAWS Lambdaを使用して新しいREST APIを作成しています。APIを本番環境にデプロイする前に、開発チームはAPIをテストし、既知のユースケースに対するレスポンスを検証します。開発者は、ローカル環境でAPI Gatewayを操作してREST APIをテスト可能にしたいと考えています。この要件を満たすAWS Serverless Application Model Command Line Interface (AWS SAM CLI) コマンドはどれですか?

    • A. sam local invoke
    • B. sam local generate-event
    • C. sam local start-lambda
    • D. sam local start-api

    この問題を見る →

  9. Q9. ある会社が、Webアプリケーションのセッション情報をAmazon DynamoDBテーブルにキャッシュしています。この会社は、テーブル内の古い項目を自動的に削除する方法を望んでいます。 最もシンプルな方法は何ですか?

    • A. 古いレコードを削除するスクリプトを作成し、そのスクリプトをAmazon EC2インスタンス上のcronジョブとしてスケジュールする。
    • B. 有効期限属性を追加し、その属性に基づくTime-to-Live(TTL)機能を有効化する。
    • C. セッションデータを保存するために毎日新しいテーブルを作成し、前日のテーブルを削除する。
    • D. 有効期限を持つ属性を追加し、その属性名をItemExpirationとする。

    この問題を見る →

  10. Q10. 開発者はAWS CLIを使用して新しいAmazon EC2インスタンスを起動する必要があります。 開発者はどのAWS CLIコマンドを使用すべきですか?

    • A. aws ec2 bundle-instance
    • B. aws ec2 start-instances
    • C. aws ec2 confirm-product-instance
    • D. aws ec2 run-instances

    この問題を見る →

  11. Q11. ある開発者が、インターネット向けApplication Load Balancer(ALB)のHTTPSリスナーを通じて要求を受け付けるWeb APIを作成しました。開発者は、APIへのすべての要求がAmazon Cognitoユーザープールによって認証されるように設定しました。この要件を満たすために、開発者はどうすればよいですか?

    • A. リスナーにルールを追加し、Authorizationヘッダーが欠落している場合に固定の401 Unauthorizedレスポンスを返す。
    • B. ALBのリスナールールに認証アクションを作成する。ルールアクションタイプをauthenticate-cognitoに設定し、OnUnauthenticatedRequestフィールドを「deny」に設定する。
    • C. Amazon API Gateway APIを作成する。すべてのAPIメソッドをALBエンドポイントに転送するよう設定する。COGNITO_USER_POOLSタイプのオーソライザーを作成し、各APIメソッドがそのオーソライザーを使用するよう設定する。
    • D. 新しいターゲットグループを作成し、その中にAuthorizationヘッダーをAmazon Cognitoで検証するAWS Lambda関数を含める。このターゲットグループをリスナーに関連付ける。

    この問題を見る →

  12. Q12. ある会社が、Amazon API Gateway APIから受信した入力要求を処理するAWS Lambda関数を保有しています。APIはLambdaエイリアスを使用してLambda関数を呼び出しています。開発者は、入力要求に関連するより詳細な情報を処理するためにLambda関数のコードを更新しました。開発者は、他の開発者がテストできるよう新しいLambda関数をデプロイしたいと考えており、APIを利用する顧客に影響を与えないようにしたいです。この要件を最小限の運用コストで満たす解決策はどれですか?

    • A. Lambda関数の新バージョンを作成する。API Gateway上で新しいステージを作成し、そのステージを新しいLambdaバージョンと統合する。新しいAPI Gatewayステージを使用してLambda関数をテストする。
    • B. API Gatewayで使用されている既存のLambdaエイリアスを、加重エイリアスに更新する。新しいLambdaバージョンを追加のLambda関数として追加し、重みを10%に設定する。既存のAPI Gatewayステージを使用してテストする。
    • C. Lambda関数の新バージョンを作成する。API Gatewayからの入力要求をフィルタリングするための第2のLambda関数を作成・デプロイする。フィルタリングLambda関数がテスト要求を検出した場合、新しいLambdaバージョンのコードを呼び出す。それ以外の要求については、古いLambdaバージョンを呼び出す。API Gateway APIをフィルタリングLambda関数を使用するよう更新する。
    • D. Lambda関数の新バージョンを作成する。テスト目的で新しいAPI Gateway APIを作成する。新しいAPIを新しいLambdaバージョンと統合する。新しいAPIを使用してテストする。

    この問題を見る →

  13. Q13. ある会社が、Elastic Load Balancingを使用してAWS上にアプリケーションを展開する計画です。このアプリケーションはHTTP/HTTPSリスナーを使用し、クライアントのIPアドレスへのアクセスが必須です。この要件を満たすロードバランシングの解決策はどれですか?

    • A. Application Load Balancer(ALB)とX-Forwarded-Forヘッダーを使用する。
    • B. Network Load Balancer(NLB)を使用し、NLBおよびターゲットアプリケーションでプロキシプロトコルを有効化する。
    • C. Application Load Balancer(ALB)を使用し、インスタンスIDでターゲットを登録する。
    • D. Network Load Balancer(NLB)とX-Forwarded-Forヘッダーを使用する。

    この問題を見る →

  14. Q14. ある会社が、AWS上でサーバーレスアプリケーションを構築しています。このアプリケーションは、AWS Lambda関数を使用して、週7日・1日24時間で顧客注文を処理します。Lambda関数は、外部システムの支払い処理HTTP APIを呼び出して支払いを処理します。負荷テスト中に、開発者は外部支払い処理APIが時折タイムアウトまたはエラーを返すことを発見しました。この会社は、一部の支払い処理API呼び出しでエラーが発生することを予期しています。この会社は、支払い処理外部APIのエラー率が1時間あたりのトランザクション総数の5%を超えた場合にのみ、サポートチームがほぼリアルタイムで通知を受けることを望んでいます。開発者は、既存のAmazon Simple Notification Service(Amazon SNS)トピックを通知先として使用するよう設定済みです。この要件を満たす解決策はどれですか?

    • A. 支払い処理API呼び出しの結果をAmazon CloudWatch Logsに書き込む。Amazon CloudWatch Logs Insightsを使用してCloudWatchログをクエリする。Lambda関数をスケジュールしてCloudWatchログをチェックし、既存のSNSトピックに通知する。
    • B. 外部支払い処理API呼び出しの失敗を記録するカスタムメトリクスをCloudWatchに公開する。CloudWatchアラームを設定し、エラー率が指定されたしきい値を超えた際に既存のSNSトピックに通知する。
    • C. 外部支払い処理API呼び出しの結果を新しいAmazon SNSトピックに公開する。サポートチームメンバーが新しいSNSトピックを購読するよう設定する。
    • D. 外部支払い処理API呼び出しの結果をAmazon S3に書き込む。定期的にAmazon Athenaクエリを実行するようスケジュールする。Athenaがエラー率が指定されたしきい値を超えた場合に、既存のSNSトピックに通知するよう設定する。

    この問題を見る →

  15. Q15. ある開発者がアプリケーションのコードを完成させ、フィードバックを得るためにチーム内の他の開発者と共有したいと考えています。共有されるアプリケーションコードは長期保存され、複数のバージョン管理および一括変更履歴の追跡が必要です。開発者はどのAWSサービスを使用すべきですか?

    • A. AWS CodeBuild
    • B. Amazon S3
    • C. AWS CodeCommit
    • D. AWS Cloud9

    この問題を見る →

  16. Q16. 開発者のコードはAmazon S3バケットに格納されています。このコードは、同じAWSリージョン内の別のアカウントでAWS Lambda関数としてデプロイされます。各アカウントは、Lambda関数をデプロイするAWS CloudFormationテンプレートを実行します。CloudFormationがS3バケット内のLambdaコードにアクセスできるようにする最も安全な方法は何ですか?

    • A. CloudFormationサービスロールにS3 ListBucketおよびGetObject権限を付与する。Amazon S3バケットポリシーに、主体として「AWS」を指定し、許可対象のアカウント番号を含める。
    • B. CloudFormationサービスロールにS3 GetObject権限を付与する。Amazon S3バケットポリシーに、主体として「*」を指定する。
    • C. サービスリンクを使用し、リソース内に明示的にS3バケットのアカウント番号を追加することで、Lambda関数にS3 ListBucketおよびGetObject権限を付与する。
    • D. サービスリンクを使用し、Lambda関数にS3 GetObject権限を付与する。リソースを「*」として指定し、S3バケットへのアクセスを許可する。

    この問題を見る →

  17. Q17. アプリケーションベンダーは、処理フロー内でクライアントのIPアドレスを使用する必要があります。このアプリケーションはAWSに移行され、アプリケーションロードバランサー(ALB)の後ろに配置されています。しかし、現在すべてのクライアントIPアドレスが同一に見えます。アプリケーションは水平スケーリング能力を維持する必要があります。この状況において、最もコスト効率の良い解決策は何ですか?

    • A. ALBからアプリケーションを削除します。ALBを削除し、Amazon Route 53を変更してトラフィックをアプリケーションを実行するインスタンスに直接ルーティングします。
    • B. ALBからアプリケーションを削除します。その代わりにClassic Load Balancerを作成します。HTTPプロトコルを使用してアプリケーションにトラフィックをルーティングします。
    • C. アプリケーションコードを変更してX-Forwarded-Forヘッダーをチェックします。ヘッダー内でIPアドレスのリストが渡された場合、コードが正しく動作することを保証します。
    • D. アプリケーションコードを変更してカスタムヘッダーをチェックします。クライアントコードを変更して、カスタムヘッダー内にIPアドレスを渡すようにします。

    この問題を見る →

  18. Q18. ある開発者が、ユーザーがWebブラウザ経由で登録およびログインするゲーム向けにサーバーレスアプリケーションを設計しています。このアプリケーションは、Amazon API Gateway HTTP APIの背後に配置されたAWS Lambda関数に対して、ユーザーを代表してリクエストを送信します。開発者は、アプリケーションのログインページでユーザーの登録および認証を実装するソリューションを実現したいと考えています。このソリューションは、運用オーバーヘッドを最小限に抑え、ユーザーIDの継続的な管理を極力減らす必要があります。この要件を満たすソリューションはどれですか?

    • A. 外部ソーシャルIDプロバイダー向けにAmazon Cognitoユーザープールを作成します。IDプールに対してIAMロールを設定します。
    • B. ログインページを記述して、ユーザーのIAMグループを作成し、これらのグループにIAMロールをアタッチします。
    • C. ユーザーを保存し、AWSバックエンドリソースへのアクセス権限を管理するために、Amazon RDS for SQL Server DBインスタンスを作成します。
    • D. ログインページを設定して、IAMポリシーがアタッチされたAmazon DynamoDBテーブルにユーザーとパスワードを登録・保存します。

    この問題を見る →

  19. Q19. 企業は、AWS CloudFormationテンプレートを使用して、すべてのAmazon RDSデータベースインスタンスをデプロイする必要があります。これは、AWS CodePipelineによる継続的インテグレーション/継続的デリバリー(CI/CD)自動化の一部として実施されます。データベースインスタンスのマスターパスワードは、デプロイプロセス中に自動生成される必要があります。この要件を満たすために、開発作業量を最小限に抑えるソリューションはどれですか?

    • A. AWS Lambda対応のCloudFormationカスタムリソースを作成します。安全な文字列を生成するLambdaコードを記述します。安全な文字列の値をカスタムリソースのレスポンスオブジェクトのDataフィールドとして返します。CloudFormationのFn::GetAtt組み込み関数を使用して安全な文字列の値を取得し、それを用いてデータベースインスタンスを作成します。
    • B. CodePipelineのAWS CodeBuildアクションを使用し、以下のAWS CLIコマンドで安全な文字列を生成します:aws secretsmanager get-random-password。生成された安全な文字列をCloudFormationパラメータとして渡し、NoEcho属性をtrueに設定します。このパラメータ参照を用いてデータベースインスタンスを作成します。
    • C. AWS Lambda対応のCloudFormationカスタムリソースを作成します。安全な文字列を生成するLambdaコードを記述します。安全な文字列の値をカスタムリソースのレスポンスオブジェクトのDataフィールドとして返します。CloudFormationのFn::GetAtt組み込み関数を使用して安全な文字列の値を取得します。AWS Secrets Managerでシークレットを作成し、Secrets Managerの動的参照を使用して、そのシークレットに格納された値を用いてデータベースインスタンスを作成します。
    • D. AWS::SecretsManager::Secretリソースを使用して安全な文字列を生成します。安全な文字列をAWS Secrets Managerにシークレットとして保存します。Secrets Managerの動的参照を使用して、そのシークレットに格納された値を用いてデータベースインスタンスを作成します。

    この問題を見る →

  20. Q20. 開発者は、アプリケーションをローカルでテストした後、AWS Lambdaにデプロイします。ローカルテスト時に、Lambda関数が失敗し、「アクセス拒否」メッセージが表示されます。この問題を解決するにはどうすればよいですか?

    • A. Lambda関数の実行ロールを更新して、不足している権限を含めます。
    • B. Lambda関数のリソースポリシーを更新して、不足している権限を含めます。
    • C. デプロイパッケージのルートディレクトリにIAMポリシードキュメントを含め、Lambda関数を再デプロイします。
    • D. AdministratorAccessポリシーへのアクセス権を持つアカウントを使用して、Lambda関数を再デプロイします。

    この問題を見る →

  21. Q21. 開発者は、機密性の高いデータを含む10MBのドキュメントを処理するアプリケーションを開発しています。このアプリケーションはAWS KMSを使用してクライアント側暗号化を実行します。必要な手順は何ですか?

    • A. Encrypt APIを呼び出し、暗号化する平文データを渡し、KeyIDパラメータでカスタマーマネージドキー(CMK)のARNを参照します。
    • B. GenerateRandom APIを呼び出してデータ暗号化キー(DEK)を取得し、その後そのDEKでデータを暗号化します。
    • C. GenerateDataKey APIを呼び出して、データ暗号化キーの暗号化済みバージョンを取得し、それを使ってデータを暗号化します。
    • D. GenerateDataKey APIを呼び出して、データ暗号化キーの平文バージョンを取得し、それを使ってデータを暗号化します。

    この問題を見る →

  22. Q22. ある開発者は、AWS Lambda関数を非同期で呼び出すアプリケーションを持っています。開発者は、Lambda関数の呼び出しが失敗したメッセージを保存し、アプリケーションが後で再試行できるようにしたいと考えています。開発者は、運用上のオーバーヘッドを最小限に抑えてこの目標を達成するにはどうすればよいですか?

    • A. Amazon CloudWatch Logsのロググループを設定してメッセージをフィルタリングし、Amazon S3バケットに保存します。Lambda内でメッセージをインポートし、Lambda関数を再度実行します。
    • B. Amazon EventBridgeを設定して、メッセージをAmazon Simple Notification Service(Amazon SNS)に送信し、Lambda関数を再起動します。
    • C. 破棄されたメッセージ用のデッドレターキュー(DLQ)を実装します。デッドレターキューをLambda関数のイベントソースとして設定します。
    • D. Amazon EventBridgeイベントをAmazon Simple Queue Service(Amazon SQS)キューに送信します。Lambda関数がSQSキューからメッセージをプルするように設定し、Lambda関数を再度実行します。

    この問題を見る →

  23. Q23. 開発者は、オンプレミスでホストされているレガシーアプリケーションを管理しています。AWS上でホストされている他のアプリケーションは、このオンプレミスアプリケーションに依存して正常に動作します。アプリケーションエラーが発生した場合、開発者はAmazon CloudWatchを用いてすべてのアプリケーションを一元的に監視し、トラブルシューティングを行いたいと考えています。開発者はこの目標を達成するために何をすべきですか?

    • A. オンプレミスサーバーにAWS SDKをインストールし、ログを自動的にCloudWatchに送信します。
    • B. CloudWatchエージェントをオンプレミスサーバーにダウンロードし、CloudWatch権限を持つIAMユーザーの資格情報を用いてエージェントを設定します。
    • C. オンプレミスサーバーからログファイルをAmazon S3にアップロードし、CloudWatchがこれらのファイルを読み取るようにします。
    • D. オンプレミスサーバーからログファイルをAmazon EC2インスタンスにアップロードし、そのEC2インスタンスがログをCloudWatchに転送するようにします。

    この問題を見る →

  24. Q24. 開発者は、顧客注文をAmazon DynamoDBテーブルに挿入するアプリケーションを管理しています。注文はcustomer_idをパーティションキー、order_idをソートキー、order_dateを属性として使用します。新しいアクセスパターンでは、order_dateとorder_idを用いたデータアクセスが必要です。開発者は、この新しいアクセスパターンをサポートする新しいAWS Lambda関数を実装する必要があります。開発者は、運用効率を最大にする方法で新しいアクセスパターンをサポートするにはどうすればよいですか?

    • A. DynamoDBテーブルに新しいローカルセカンダリインデックス(LSI)を追加し、order_dateをパーティションキー、order_idをソートキーとして指定します。新しいLSIをクエリする新しいLambda関数を作成します。
    • B. 新しいLambda関数を作成し、DynamoDBテーブルをスキャンします。Lambda関数内で、order_dateとorder_idに基づいて結果を取得・集約するメソッドを記述します。
    • C. DynamoDBテーブルに新しいグローバルセカンダリインデックス(GSI)を追加し、order_dateをパーティションキー、order_idをソートキーとして指定します。新しいGSIをクエリする新しいLambda関数を作成します。
    • D. テーブルでDynamoDB Streamsを有効にします。新旧のイメージ情報をDynamoDBストリームに書き込むように選択します。新しいLambda関数を作成し、DynamoDBストリームをクエリします。

    この問題を見る →

  25. Q25. ある会社がAmazon S3バケットを所有しており、その中に機密データが格納されています。この会社は、自社のウェブサイトに登録した有料サブスクライバーのみがこれらの機密データにアクセスできるようにしたいと考えています。現在、S3バケットはデフォルトでオブジェクトのプライベート権限を設定しており、意図せず機密データが非サブスクライバーに公開されるのを防いでいます。 この会社は、有料サブスクライバーのみがS3バケット内の機密ファイルをダウンロードできるようにするには、どのように制限すべきでしょうか?

    • A. 匿名ユーザーがS3バケットからコンテンツをダウンロードすることを許可するバケットポリシーを適用する。
    • B. 有料サブスクライバーがダウンロードを要求した際に、機密ファイルの事前署名済みオブジェクトURLを生成する。
    • C. S3バケット内のオブジェクトへのアクセス要求に対して、多重認証(MFA)を必須とするバケットポリシーを追加する。
    • D. S3バケット上でサーバーサイド暗号化を有効化し、非有料ウェブサイト訪問者からのデータ保護を実現する。

    この問題を見る →

  26. Q26. 開発者は、本番環境へのリリース前にAWS CodeCommitリポジトリへの変更を凍結したいと考えています。QAチームによるリリーステスト期間中、開発者は新機能の開発を継続します。QAテストおよびすべてのバグ修正は、mainブランチから分離して実施する必要があります。リリース後、開発者はすべてのバグ修正をmainブランチに統合する必要があります。この要件を満たす解決策はどれでしょうか?

    • A. リリース予定の最新のGitコミットからリリースブランチを作成する。リリースブランチ上でバグ修正を適用する。新機能の開発を継続し、機能をmainブランチにマージする。リリース後にリリースブランチをmainブランチにマージする。
    • B. リリース予定の最新のGitコミットにGitタグを作成する。新機能の開発を継続し、機能をmainブランチにマージする。mainブランチ上でバグ修正を適用する。Gitタグをmainブランチ上の最新コミットに更新する。
    • C. リリース予定の最新のGitコミットからリリースブランチを作成する。リリースブランチ上でバグ修正を適用する。新機能の開発を継続し、機能をmainブランチにマージする。リリース後にmainブランチをリリースブランチに基づいて再ベースする。
    • D. リリース予定の最新のGitコミットにGitタグを作成する。新機能の開発を継続し、機能をmainブランチにマージする。リリースされたGitタグにバグ修正のGitコミットを適用する。

    この問題を見る →

  27. Q27. ある会社が、カスタムAmazon Machine Image(AMI)を使用してAmazon EC2インスタンス上でWebアプリケーションを実行しています。この会社はAWS CloudFormationを使用してアプリケーションを構成しています。アプリケーションはus-east-1リージョンで実行されており、同社はアプリケーションをus-west-1リージョンにもデプロイしたいと考えています。 us-west-1リージョンでAWS CloudFormationスタックを作成しようとしたところ、失敗しました。エラーメッセージは「AMI IDが存在しない」と示しています。開発者は、操作負荷を最小限に抑える解決策を採用する必要があります。 この要件を満たす解決策はどれでしょうか?

    • A. us-east-1およびus-west-1向けのAWS CloudFormationテンプレートを変更し、AWS提供のAMIを使用するようにする。両リージョンでスタックを再起動する。
    • B. カスタムAMIをus-east-1からus-west-1へコピーする。us-west-1のAWS CloudFormationテンプレートを更新し、コピーしたAMIのAMI IDを参照するようにする。スタックを再起動する。
    • C. us-west-1でカスタムAMIを構築する。新しいAWS CloudFormationテンプレートを作成し、us-west-1で新しいAMI IDを使用してスタックを起動する。
    • D. us-west-1のAWS CloudFormation外でアプリケーションを手動でデプロイする。

    この問題を見る →

  28. Q28. 開発者は、最終ユーザーと安全な文書を共有する必要があるWebアプリケーションを開発しています。これらの文書は、プライベートなAmazon S3バケットに保存されています。このアプリケーションは、認証済みユーザーのみが特定の文書をリクエスト時にダウンロードできるようにし、その有効期限は15分を超えてはならないとします。

    • A. 文書を別のS3バケットにコピーし、15分後に削除するライフサイクルポリシーを設定する。
    • B. AWS SDKを使用して、有効期限が15分の事前署名済みS3 URLを作成する。
    • C. AWS KMS管理キー(SSE-KMS)によるサーバーサイド暗号化を用い、HTTPSで文書をダウンロードする。
    • D. S3バケットポリシーを変更し、特定のユーザーのみが文書をダウンロードできるようにする。15分後に変更を元に戻す。

    この問題を見る →

  29. Q29. ある会社がAWS上で自社のウェブサイトを運用しています。この会社は、毎日ウェブサイト上で投票を公開し、翌日に投票結果を公開します。ウェブサイトは、ユーザーの回答をAmazon DynamoDBテーブルに保存します。投票結果の公開後、会社はユーザーの回答を保持する必要がなくなります。開発者は、DynamoDBテーブルから古いユーザー回答を自動的に削除する解決策を実装する必要があります。開発者は、DynamoDBテーブルに新しい属性expiration_dateを追加し、これを自動削除に使用する計画です。この要件を最小限の開発工数で満たす解決策はどれでしょうか?

    • A. expiration_date属性に基づいて古いユーザー回答を削除するAWS Lambda関数を作成する。Amazon EventBridgeのスケジュールを設定し、1日1回Lambda関数を実行する。
    • B. Amazon Elastic Container Service(Amazon ECS)でAWS Fargateタスクを作成し、expiration_date属性に基づいて古いユーザー回答を削除する。Amazon EventBridgeのスケジュールを設定し、1日1回Fargateタスクを実行する。
    • C. expiration_date属性に基づいて古いユーザー回答を削除するAWS Glueジョブを作成する。AWS Glueトリガーのスケジュールを設定し、1日1回ジョブを実行する。
    • D. DynamoDBテーブルでTTL(Time to Live)を有効化し、expiration_date属性を指定する。DynamoDB TTLを用いて古いユーザー回答を自動的に期限切れにする。

    この問題を見る →

  30. Q30. ある開発者が、複数の第三者支払い処理APIと通信する決済サービスプラットフォームを開発しています。これらの第三者サービスには、統合テスト環境がありません。開発者は、決済サービスプラットフォームと第三者支払い処理APIの統合を検証する必要があります。開発者は、第三者支払い処理APIを実際に呼び出さずに、API統合コードをテストする必要があります。この要件を満たす解決策はどれでしょうか?

    • A. Amazon API Gateway REST APIを設定し、ステータスコード200のゲートウェイレスポンスを構成する。実際の第三者APIからキャプチャしたサンプルレスポンスを含むレスポンステンプレートを追加する。
    • B. AWS AppSync GraphQL APIを設定し、各第三者APIに対してデータソースを構成する。統合タイプをMockに指定する。実際の第三者APIからキャプチャしたサンプルレスポンスで統合レスポンスを設定する。
    • C. 各第三者APIに対してAWS Lambda関数を作成する。実際の第三者APIからキャプチャしたレスポンスを埋め込む。Amazon Route 53 Resolverを使用して、各Lambda関数のAmazonリソースネーム(ARN)に対してインバウンドエンドポイントを設定する。
    • D. 各第三者APIに対してAmazon API Gateway REST APIを設定する。統合リクエストタイプをMockに指定する。実際の第三者APIからキャプチャしたサンプルレスポンスで統合レスポンスを設定する。

    この問題を見る →

  31. Q31. ある開発者が、統合環境におけるアプリケーションの問題を調査しています。このアプリケーションでは、Amazon Simple Queue Service(Amazon SQS)キューがメッセージを受信し、その後AWS Lambda関数がそれらのメッセージを処理します。Lambda関数はメッセージを処理した後、第三者サービスのAPIを呼び出します。アプリケーションの利用頻度が大幅に増加しました。第三者APIは頻繁にHTTP 429 Too Many Requestsエラーを返します。このエラーにより、多数のメッセージが正常に処理されません。開発者はこの問題をどのように解決すべきでしょうか?

    • A. SQSイベントソースのバッチサイズ設定を増加させる。
    • B. 第三者APIのドキュメント化されたレート制限に基づき、Lambda関数のプロビジョニング済み同時実行数を設定する。
    • C. Lambda関数の非同期設定で、再試行回数および最大イベント寿命を増加させる。
    • D. 第三者サービスのドキュメント化されたレート制限に基づき、SQSイベントソースで最大同時実行数を設定する。

    この問題を見る →

  32. Q32. ある開発チームが、医療請求の処理および審査を可能にするソリューションのケーススタディを検討しています。ユーザーはログインして、自身の医療および財務状況に関連する情報を表示します。 アプリケーションの一部として、医療記録、医療画像、銀行明細書、領収書などの機密ファイルがAmazon S3に保存されます。すべてのファイルは安全にアップロードおよび保存される必要があります。また、ファイルへのすべてのアクセスを記録し、監査対応を行う必要があります。 最も安全なアプローチはどれでしょうか?

    • A. ターゲットバケットでS3デフォルト暗号化を用いたAdvanced Encryption Standard 256(AES-256)を使用する。
    • B. Amazon Cognitoを用いて認証および承認を行い、アプリケーションおよび文書のセキュリティを確保する。
    • C. AWS Lambdaを用いて、オブジェクトをS3バケットに配置する際に暗号化および復号化を行う。
    • D. Amazon S3およびAWS KMSを用いたクライアント側暗号化/復号化を使用する。

    この問題を見る →

  33. Q33. ある開発者が、入力データをAmazon S3オブジェクト内のJSONファイルとして保存するアプリケーションを設計しました。その後、AWS Lambda関数内のカスタムビジネスロジックがこれらのオブジェクトを処理し、Lambda関数がデータをAmazon DynamoDBテーブルにロードします。最近、ワークロードは急激かつ顕著なトラフィック変動を経験しました。DynamoDBテーブルへのデータ流入速度が制限に達しています。開発者は、この制限を解消し、より一貫した方法でデータをDynamoDBテーブルにロードするソリューションを実装する必要があります。このソリューションは、これらの要件を満たす必要があります。

    • A. Lambda関数を2つの関数に再構成します。1つ目の関数はデータ変換を担当し、2つ目の関数はデータをDynamoDBテーブルにロードします。この2つの関数間には、Amazon Simple Queue Service (Amazon SQS) キューを作成し、項目をメッセージとして保持して2つ目の関数を呼び出します。
    • B. DynamoDBテーブルの自動スケーリングを有効にします。Amazon CloudWatchを使用してテーブルの読み取りおよび書き込みキャパシティメトリクスを監視し、消費されたキャパシティを追跡します。
    • C. Lambda関数のエイリアスを作成します。アプリケーションに対して事前設定された同時実行数を構成します。
    • D. Lambda関数を2つの関数に再構成します。1つ目の関数はデータをDynamoDBテーブルに保存します。2つ目の関数はデータを処理し、データがDynamoDBに保存された後に項目を更新します。データ保存後に2つ目の関数を呼び出すためにDynamoDBストリームを作成します。

    この問題を見る →

  34. Q34. ある開発者がRubyアプリケーションを作成しており、基盤となるインフラストラクチャの詳細を理解することなく、デプロイ、スケーリング、および環境管理を自動化したいと考えています。このタスクを実行するのに最も適したAWSサービスはどれですか?

    • A. AWS CodeDeploy
    • B. AWS CloudFormation
    • C. AWS OpsWorks
    • D. AWS Elastic Beanstalk

    この問題を見る →

  35. Q35. アプリケーションは、受信した各トランザクションに処理日付を追加します。このアプリケーションはPutItem操作を使用して、各トランザクションをAmazon DynamoDBテーブルに挿入します。各トランザクションには一意のID(transactionID)があります。時折、アプリケーションが同一トランザクションを複数回受信することがあります。 開発者は、DynamoDB内の重複トランザクションが最初に受信された日付ではなく、最新の処理日付を保持していることに気づきました。重複レコードは頻繁に発生しますが、大多数のトランザクションは一意です。 開発者が、PutItemが既存のレコードを更新しないように保証する、最もコスト効率の良いソリューションは何ですか?

    • A. まずGetItem操作を呼び出してレコードの存在を確認し、その後PutItemを呼び出します。
    • B. DynamoDBテーブル上でTTL(Time-To-Live)属性を有効にします。
    • C. attribute_exists(transactionID)条件式を用いた条件付きPutを実装します。
    • D. attribute_not_exists(transactionID)条件式を用いた条件付きPutを実装します。

    この問題を見る →

  36. Q36. 開発者はus-east-2リージョンで、Amazon API Gateway REST APIを含むアプリケーションを作成しています。開発者は、Amazon CloudFrontとAPIのカスタムドメイン名を使用したいと考えています。開発者はすでに、該当ドメインのSSL/TLS証明書を取得済みです。開発者は、アプリケーションのカスタムドメインをどのように構成すべきでしょうか?

    • A. SSL/TLS証明書を、APIと同じリージョン(us-east-2)のAWS Certificate Manager(ACM)にインポートします。カスタムドメインに対してDNS Aレコードを作成します。
    • B. SSL/TLS証明書をCloudFrontにインポートします。カスタムドメインに対してDNS CNAMEレコードを作成します。
    • C. SSL/TLS証明書を、APIと同じリージョン(us-east-2)のAWS Certificate Manager(ACM)にインポートします。カスタムドメインに対してDNS CNAMEレコードを作成します。
    • D. SSL/TLS証明書をus-east-1リージョンのAWS Certificate Manager(ACM)にインポートします。カスタムドメインに対してDNS CNAMEレコードを作成します。

    この問題を見る →

  37. Q37. 開発者はAWS CloudFormationを使用してAWSクラウド内にアプリケーションをデプロイしています。このアプリケーションは既存のAmazon RDSデータベースに接続します。RDSデータベースのホスト名は、AWS Systems Manager Parameter Storeに平文で保存されています。開発者は、CloudFormationテンプレート内でデータベースホスト名を参照し、スタック作成時にアプリケーションを初期化したいと考えています。 開発者は、データベースホスト名を含むパラメータをどのように参照すべきでしょうか?

    • A. ssmダイナミック参照を使用します。
    • B. Ref組み込み関数を使用します。
    • C. Fn::ImportValue組み込み関数を使用します。
    • D. ssm-secureダイナミック参照を使用します。

    この問題を見る →

  38. Q38. ある開発者がPythonで記述されたAWS Lambda関数を作成しました。このLambda関数はAmazon S3内のオブジェクトからデータを読み取り、Amazon DynamoDBテーブルにデータをロードします。S3イベント通知により、オブジェクト作成時にこの関数が正常にトリガーされます。しかし、DynamoDBテーブルへのロードを試みると、関数が失敗します。この問題の最も可能性の高い原因は何ですか?

    • A. Lambda関数の同時実行制限を超えました。
    • B. DynamoDBテーブルは書き込み操作をサポートするためにグローバルセカンダリインデックス(GSI)を必要とします。
    • C. Lambda関数にはDynamoDBへの書き込み権限がないIAM権限が付与されていません。
    • D. DynamoDBテーブルはLambda関数と同じ可用性ゾーンで実行されていません。

    この問題を見る →

  39. Q39. ある開発者が、Amazon DynamoDBテーブルの変更を処理するサーバーレスアプリケーションを開発しています。開発者は、Lambda関数がDynamoDBテーブルの変更を検出できるように構成する必要があります。開発者は、Lambda関数をどのように構成すべきでしょうか?

    • A. Amazon Kinesisデータストリームを作成し、DynamoDBテーブルにアタッチします。データストリームをLambda関数に接続するトリガーを作成します。
    • B. Amazon EventBridgeルールを作成して定期的にLambda関数を呼び出します。Lambda関数からDynamoDBテーブルに接続して変更を検出します。
    • C. テーブル上でDynamoDB Streamsを有効にします。DynamoDBストリームをLambda関数に接続するトリガーを作成します。
    • D. Amazon Kinesis Data Firehose配信ストリームを作成し、DynamoDBテーブルにアタッチします。配信ストリームのターゲットをLambda関数に設定します。

    この問題を見る →

  40. Q40. 開発者は、別のアカウント内のリソースに一時的にアクセスする必要があります。最も安全な方法は何ですか?

    • A. Amazon Cognitoユーザープールを使用して、2番目のアカウントの短期認証情報を取得します。
    • B. 2番目のアカウント用に専用のIAMアクセスキーを作成し、メールで送信します。
    • C. クロスアカウントアクセスロールを作成し、sts:AssumeRole APIを使用して短期認証情報を取得します。
    • D. 信頼関係を確立し、IAMユーザーに2番目のアカウントのSSHキーを追加します。

    この問題を見る →

  41. Q41. ある企業がAWS Lambda関数を使用してサーバーレスアプリケーションを開発しています。そのLambda関数はAmazon RDSデータベースインスタンスにアクセスする必要があります。このデータベースインスタンスはVPC内のプライベートサブネットに配置されています。企業は、データベースインスタンスへのアクセス権限を含むIAMロールを作成し、そのロールをLambda関数にアタッチしました。その後、開発者はLambda関数がデータベースインスタンスにアクセスできるようにするために追加の手順を実行する必要があります。これらの要件を満たすために、開発者は何を行うべきですか?

    • A. データベースインスタンスにパブリックIPアドレスを割り当てます。データベースインスタンスのセキュリティグループを変更し、Lambda関数のIPアドレスからの着信トラフィックを許可します。
    • B. Lambda関数とデータベースインスタンスの間にAWS Direct Connect接続を確立します。
    • C. Lambda関数とデータベースインスタンス間の安全な接続を作成するためにAmazon CloudFrontディストリビューションを設定します。
    • D. Lambda関数をVPC内のプライベートサブネットに接続するように設定します。Lambda関数からデータベースインスタンスへのトラフィックを許可するセキュリティグループルールを追加します。

    この問題を見る →

  42. Q42. アプリケーションはAmazon Kinesis Data Streamsを使用して、大量のデータレコードストリームをリアルタイムで取り込みおよび処理します。Amazon EC2インスタンスはAmazon Kinesis Client Library(KCL)を使用して、Kinesisデータストリームのシャードからデータを消費および処理します。このアプリケーションは障害シナリオを最小限に抑え、バックアップワーカーを必要としません。アプリケーションは、特定のシャードが予期よりも多くのデータを受信していると報告しています。データストリームのレート変化に対応するため、「ホット」シャードが再シャーディングされます。 Kinesisデータストリームの初期シャード数が4であり、再シャーディング後にシャード数が6に増加したと仮定した場合、すべてのシャードからデータを処理するためにデプロイ可能な最大EC2インスタンス数はいくつですか?

    • A. 12_
    • B. 6_
    • C. 4-
    • D. 1_

    この問題を見る →

  43. Q43. 開発者は、アプリケーションをAmazon EC2インスタンスに自動展開するソリューションをコードテンプレートで作成する必要があります。このテンプレートは、展開、インストール、およびアプリケーションの更新を繰り返し実行できるように構成される必要があります。また、テンプレートは複数の環境を作成でき、以前のバージョンへロールバック可能である必要があります。このような要件を満たすソリューションはどれですか?

    • A. AWS Amplifyを使用して自動展開テンプレートを作成します。トラフィック分割展開を使用して展開を複製します。必要に応じて、Amplifyが作成したリソースを変更します。
    • B. AWS CodeBuildを使用して自動展開を行います。必要なAppSpecファイルテンプレートをアップロードします。AppSpec.ymlファイルをリビジョンのルートディレクトリに保存します。EC2インスタンスを含むデプロイメントグループを指定して展開します。
    • C. AWS CloudFormationを使用して、EC2インスタンスを展開するためのJSON形式のインフラストラクチャテンプレートを作成します。CloudFormationヘルパースクリプト(例:UserDataまたはcfn-init)を使用して必要なソフトウェアをインストールし、アプリケーションを起動します。これらのスクリプトをテンプレートから直接呼び出します。
    • D. AWS AppSyncを使用してアプリケーションを展開します。テンプレートをGraphQLスキーマとしてアップロードします。EC2インスタンスをアプリケーション展開先として指定します。リゾルバーをバージョン管理メカニズムとして使用し、展開を更新します。

    この問題を見る →

  44. Q44. ある開発者がAmazon CloudWatch APIを呼び出す際に、時折HTTP 400エラー(ThrottlingException)を受け取っています。API呼び出しが失敗すると、データは取得されません。この問題を解決するために、まず適用すべきベストプラクティスはどれですか?

    • A. AWSサポートに連絡して制限を増加させます。
    • B. AWS CLIを使用してメトリクスを取得します。
    • C. アプリケーションを分析し、API呼び出しを削除します。
    • D. 指数バックオフによる再試行で呼び出しを実行します。

    この問題を見る →

  45. Q45. ある研究機関が、毎日1回使用されるWebアプリケーションを持ち、ユーザーが入力したウェブフォームに基づいて科学計算を実行しています。この計算はCPU集約型です。AWS Lambda関数が毎日1回この計算を実行しています。しかし、Lambda関数がタイムアウトし、ユーザーが時折エラーを受信しています。 どの変更がLambda関数の実行時間を短縮しますか?

    • A. Lambda関数をAmazon EC2のバースト可能なインスタンスタイプ上で実行するように設定します。
    • B. Lambda関数を高性能計算(HPC)ワークロード向けに推奨されるAmazon EC2インスタンスタイプ上で実行するように設定します。
    • C. Lambda関数をより大きな予約同時実行値で実行するように設定します。
    • D. Lambda関数をより大きなメモリ値で実行するように設定します。

    この問題を見る →

  46. Q46. ある企業が株式取引アプリケーションを開発しています。このアプリケーションは、各取引要求の処理に対するレイテンシ要件をサブミリ秒レベルで求めています。企業は、各取引要求の処理に必要なすべての取引データをAmazon DynamoDBに保存しています。ある開発チームがアプリケーションの負荷テストを実施したところ、データ検索時間が期待値よりも長くなっていることが判明しました。開発チームは、作業量を最小限に抑えつつデータ検索時間を短縮できるソリューションを求めています。この要件を満たすソリューションはどれですか?

    • A. 取引データにローカルセカンダリインデックス(LSI)を追加します。
    • B. 取引データをAmazon S3に保存し、S3 Transfer Accelerationを使用します。
    • C. DynamoDBクエリに指数バックオフ付きの再試行を追加します。
    • D. DynamoDB Accelerator(DAX)を使用して取引データをキャッシュします。

    この問題を見る →

  47. Q47. ある企業が、毎日1回実行されるAWS Lambda関数を持ち、Amazon S3に保存されたログファイルを読み取り、条件に応じて警告をAmazon Simple Notification Service(Amazon SNS)に送信しています。開発者は、Lambda関数にカスタムメトリクスを追加して、毎日の実行ごとに各タイプの警告の発生回数を追跡したいと考えています。開発者は、この情報をAmazon CloudWatchの「Lambda/AlertCounts」という名前のメトリクスに記録したいと考えています。 開発者は、この要件を最も少ない操作オーバーヘッドで満たすためにLambda関数をどのように変更すべきですか?

    • A. 各警告とその発生回数に対して標準出力にプリントステートメントを追加します。
    • B. PutMetricData API操作の呼び出しを追加します。「Lambda/AlertCounts」名前空間を使用し、警告の配列および値とカウントフィールドに発生回数を渡します。
    • C. PutMetricAlarm API操作の呼び出しを追加します。「Lambda/AlertCounts」名前空間のメトリクスメンバーに警告のセットを渡します。
    • D. PutDashboard API操作の呼び出しを追加します。「Lambda/AlertCounts」名前空間のメトリクスメンバーに警告のセットを渡します。

    この問題を見る →

  48. Q48. ある開発者が、VPC内のリソースにアクセスするAWS Lambda関数を作成しました。このLambda関数はVPCエンドポイント経由でAmazon Simple Queue Service(Amazon SQS)キューをポーリングし、新しいメッセージを取得します。その後、この関数はメッセージに含まれる数値のローリング平均を計算します。Lambda関数の初期テストの結果、関数が返すローリング平均が不正確であることが判明しました。開発者は、関数が正確なローリング平均を計算できるようにするにはどうすればよいですか?

    • A. 関数の保留同時実行数を1に設定します。関数内でローリング平均を計算し、計算結果をAmazon ElastiCacheに保存します。
    • B. 関数を変更して値をAmazon ElastiCacheに保存します。関数初期化時にキャッシュ内の以前の値を使用してローリング平均を計算します。
    • C. 関数の予約同時実行数を1に設定します。関数内でローリング平均を計算し、計算結果をAmazon ElastiCacheに保存します。
    • D. 関数を変更して値を関数のレイヤーに保存します。関数初期化時に以前に保存された値を使用してローリング平均を計算します。

    この問題を見る →

  49. Q49. AWS CodeDeploy を使用するには、appspec.yml ファイルをどこに配置する必要がありますか?

    • A. アプリケーションのソースコードディレクトリ構造のルートディレクトリ内
    • B. bin フォルダーおよびすべてのコンパイル済みコード内
    • C. Amazon S3 バケット内
    • D. アプリケーション設定ファイルと同じフォルダー内

    この問題を見る →

  50. Q50. 開発者は静的ウェブサイトを作成しました。開発者はその静的アセットを Amazon S3 バケットにデプロイし、Amazon CloudFront を使用してこれらのアセットを配信しています。開発者は CloudFront ディストリビューションでオリジンアクセス制御(OAC)を有効にして S3 バケットにアクセスしています。開発者は、ユーザーがルート URL や特定のページ(例:/products/index.html)にはアクセスできるものの、ファイル名を明示せずにディレクトリにアクセスできないことに気づきました(例:/products/ ではエラーが発生)。開発者は、S3 バケットを公開しないまま、ファイル名を指定せずにディレクトリにアクセスできるようにしたいと考えています。この要件を満たす解決策はどれですか?

    • A. CloudFront ディストリビューションの設定を更新し、index.html をデフォルトのルートオブジェクトとして設定する。
    • B. Amazon S3 バケットの設定を更新し、静的ウェブサイトホスティングを有効化する。インデックスドキュメントとして index.html を指定する。S3 バケットポリシーを更新してアクセスを許可する。CloudFront ディストリビューションのオリジンを S3 ウェブサイトエンドポイントに変更する。
    • C. CloudFront 関数を作成し、リクエスト URL をチェックして、ディレクトリへのアクセス時に index.html を追加する。この関数を CloudFront ディストリビューションの動作における「ビューアーリクエスト」CloudFront 関数として追加する。
    • D. CloudFront ディストリビューション上でカスタムエラー応答を作成し、HTTP エラーコードを HTTP 404 Not Found に設定し、応答ページパスを /index.html に設定する。HTTP 応答コードを HTTP 200 OK に設定する。

    この問題を見る →

  51. Q51. ある開発者が、オンプレミスのデータを Amazon S3 に移行しようとしています。データは暗号化される必要があり、暗号化キーは自動的な年次ローテーションをサポートしなければなりません。企業は AWS Key Management Service(AWS KMS)を使用してデータを暗号化する必要があります。これらの要件を満たすために、開発者はどのタイプのキーを使用すべきですか?

    • A. Amazon S3 マネージドキー
    • B. AWS が生成した対称カスタマーマネージドキーのキーマテリアル
    • C. AWS が生成した非対称カスタマーマネージドキーのキーマテリアル
    • D. インポートされたキーマテリアルを持つ対称カスタマーマネージドキー

    この問題を見る →

  52. Q52. 開発者は、Amazon EC2 インスタンス上で実行されるアプリケーションを AWS X-Ray を使用して監視する必要があります。開発者は既に X-Ray SDK を使用してアプリケーションを準備しています。 開発者はどのように監視を実施すべきですか?

    • A. X-Ray SDK のサンプリングルールとターゲットを設定する。EC2 コンソールまたは AWS CLI の modify-instance-attribute コマンドを使用して X-Ray デーモンを有効化し、XRayEnabled フラグを設定する。
    • B. X-Ray デーモンをインストールする。IAM ロールを EC2 インスタンスに割り当て、X-Ray への書き込みを許可するポリシーを適用する。
    • C. X-Ray デーモンをインストールする。これを Amazon EventBridge(Amazon CloudWatch Events)にデータを転送するように設定する。EC2 インスタンスに EventBridge(CloudWatch Events)への書き込み権限を付与する。
    • D. アプリケーションに X-Ray SDK をデプロイし、アプリケーションコードをトレース可能にする。SDK ロガーを使用してイベントをキャプチャおよび送信する。

    この問題を見る →

  53. Q53. ある企業は、オンプレミスで実行されている Windows レガシーアプリケーションを持っています。このアプリケーションは、XML 形式で構成ファイルを格納するネットワーク共有フォルダーを集中構成ストアとして使用しています。この企業はアプリケーションを Amazon EC2 インスタンスに移行しようとしています。AWS への移行の一環として、開発者はこのストアの高可用性を確保する解決策を検討する必要があります。 この要件を最も経済的に満たす解決策はどれですか?

    • A. Amazon Elastic Block Store(Amazon EBS)ボリュームをいずれかの EC2 インスタンスにマウントする。EBS ボリューム上にファイルシステムを展開する。ホスト OS を使用してフォルダーを共有する。アプリケーションコードを更新し、共有フォルダーから構成ファイルを読み書きするようにする。
    • B. インスタンスストアボリュームを搭載したマイクロサイズの EC2 インスタンスをデプロイする。ホスト OS を使用してフォルダーを共有する。アプリケーションコードを更新し、共有フォルダーから構成ファイルを読み書きするようにする。
    • C. 構成ストアをホストするための Amazon S3 バケットを作成する。既存の XML ファイルを S3 バケットに移行する。アプリケーションコードを更新し、AWS SDK を使用して Amazon S3 から構成ファイルを読み書きするようにする。
    • D. 構成ストアをホストするための Amazon S3 バケットを作成する。既存の XML ファイルを S3 バケットに移行する。S3 バケットを EC2 インスタンスにローカルボリュームとしてマウントする。アプリケーションコードを更新し、ディスクから構成ファイルを読み書きするようにする。

    この問題を見る →

  54. Q54. ある企業は、AWS 内で固定ライセンスキーを安全に管理する計画を立てています。開発チームは、Amazon EC2 インスタンスおよび AWS CloudFormation スタック内で実行される自動化スクリプトからライセンスキーにアクセスする必要があります。これらの要件を満たしつつ、コスト面で最も効率的な解決策はどれですか?

    • A. 「config」で始まるプレフィックスを持つ暗号化されたファイルを格納する Amazon S3
    • B. 「SecretString」というタグを持つ AWS Secrets Manager のシークレット
    • C. AWS Systems Manager Parameter Store の SecureString パラメーター
    • D. CloudFormation NoEcho パラメーター

    この問題を見る →

  55. Q55. AWS CodeDeploy を使用したインプレイスデプロイにおいて、フックの実行順序はどれですか?

    • A. BeforeInstall > ApplicationStop > ApplicationStart > AfterInstall
    • B. ApplicationStop > BeforeInstall > AfterInstall > ApplicationStart
    • C. BeforeInstall > ApplicationStop > ValidateService > ApplicationStart
    • D. ApplicationStop > BeforeInstall > ValidateService > ApplicationStart

    この問題を見る →

  56. Q56. ある企業は、AWS 上で画像ストレージ型のウェブアプリケーションを実行しています。このアプリケーションは Auto Scaling グループ内の Amazon EC2 インスタンスでホストされており、Application Load Balancer(ALB)のターゲットグループとして機能しています。また、販売用画像は Amazon S3 バケットに保存されています。 この企業は、システム要件をテストする新機能を開発したいと考えています。この機能は、アプリケーションの新テスト版をホストする別個のターゲットグループにトラフィックをルーティングする必要があります。 この要件を最小限の労力で満たす解決策はどれですか?

    • A. アプリケーションのベータ版用に新しい Auto Scaling グループおよびターゲットグループを作成する。ALB のルーティングルールを更新し、「version」のクッキーを検索し、その値が「beta」である条件を適用する。テストシステムのコードを更新し、このクッキーを使用してアプリケーションのベータ版をテストする。
    • B. アプリケーションのベータ版用に新しい ALB、Auto Scaling グループおよびターゲットグループを作成する。新しい ALB エンドポイントに対して代替の Amazon Route 53 レコードを設定する。テストシステムのリクエストで代替 Route 53 エンドポイントを使用してアプリケーションのベータ版をテストする。
    • C. アプリケーションのベータ版用に新しい ALB、Auto Scaling グループおよびターゲットグループを作成する。Amazon CloudFront と Lambda@Edge を組み合わせて、特定のリクエストを新しい ALB に送信するかどうかを判定する。CloudFront エンドポイントを使用してテストシステムのリクエストを送信し、アプリケーションのベータ版をテストする。
    • D. アプリケーションのベータ版用に新しい Auto Scaling グループおよびターゲットグループを作成する。ALB のルーティングルールを更新し、「version」のクッキーを検索し、その値が「beta」である条件を適用する。Amazon CloudFront と Lambda@Edge を組み合わせてテストシステムのリクエストを更新し、ALB に送信される際に必要なクッキーを追加する。

    この問題を見る →

  57. Q57. 開発者は、無サーバーアプリケーションを構築しており、そのアプリケーションは10分ごとにAWS Lambda関数を呼び出す必要があります。 この関数を自動的かつ無サーバー方式で呼び出すには、どの方法が適切ですか?

    • A. LinuxベースのAmazon EC2インスタンスをデプロイし、/etc/crontabファイルを編集して、Lambda関数を定期的に呼び出すコマンドを追加します。
    • B. Lambda関数に「PERIOD」という名前の環境変数を設定し、その値を600に設定します。
    • C. 定期実行されるAmazon EventBridge(Amazon CloudWatch Events)ルールを作成して、Lambda関数を呼び出します。
    • D. Amazon Simple Notification Service(Amazon SNS)トピックを作成し、そのトピックを600秒のタイマーを持つLambda関数がサブスクライブします。

    この問題を見る →

  58. Q58. 企業は、AWS CloudFormationテンプレートをAWS CodePipelineと統合したCI/CD(継続的インテグレーション/継続的デリバリー)パイプラインの一部として使用し、すべてのAmazon RDS DBインスタンスをデプロイしています。DBインスタンスのマスターパスワードは、デプロイプロセス中に自動生成される必要があります。この要件を満たすために、開発作業量が最小となる解決策はどれですか?

    • A. AWS LambdaでサポートされるCloudFormationカスタムリソースを作成します。安全な文字列を生成するLambdaコードを記述し、その文字列をカスタムリソースのレスポンスオブジェクトのDataフィールドとして返します。CloudFormationの組み込み関数Fn::GetAttを使用して安全な文字列の値を取得し、その値でDBインスタンスを作成します。
    • B. CodePipelineのAWS CodeBuildアクションを使用し、AWS CLIコマンド「aws secretsmanager get-random-password」で安全な文字列を生成します。生成された安全な文字列をCloudFormationパラメータとして渡し、NoEcho属性をtrueに設定します。パラメータ参照を使用してDBインスタンスを作成します。
    • C. AWS LambdaでサポートされるCloudFormationカスタムリソースを作成します。安全な文字列を生成するLambdaコードを記述し、その文字列をカスタムリソースのレスポンスオブジェクトのDataフィールドとして返します。CloudFormationの組み込み関数Fn::GetAttを使用して安全な文字列の値を取得し、AWS Secrets Managerにシークレットを作成します。secretsmanager動的参照を使用して、シークレットに格納された値でDBインスタンスを作成します。
    • D. AWS::SecretsManager::Secretリソースを使用して安全な文字列を生成し、AWS Secrets Managerにシークレットとして保存します。secretsmanager動的参照を使用して、シークレットに格納された値でDBインスタンスを作成します。

    この問題を見る →

  59. Q59. ある企業は、オンプレミスのデータセンターでソフトウェア・アズ・ア・サービス(SaaS)アプリケーションを実行しています。アプリケーションのアーキテクチャでは、フロントエンドのApache Webサーバーが多数の顧客固有のWebサイトをサポートしています。Apache Webサーバーは、初期リクエストのHostヘッダーで指定されたドメイン名に基づいてトラフィックを異なるバックエンドサービスにルーティングします。 この企業は、そのアーキテクチャをAWSへ移行することを決定しました。開発者は、顧客固有のバックエンドサービスをAmazon EC2インスタンスに移行しています。各顧客に対してAuto ScalingグループでEC2インスタンスを設定し、異なるターゲットグループにインスタンスを登録する必要があります。また、開発者は、フロントエンドのApache WebサーバーをElastic Load Balancing(ELB)ロードバランサーで置き換える必要があります。さらに、特定のドメイン名へのクエリを適切なターゲットグループに送信する必要があります。 これらの要件を満たすAWSの構成はどれですか?

    • A. ネットワークロードバランサーと、それぞれのバックエンドターゲットグループへのホストベースのルーティングを使用します。
    • B. ネットワークロードバランサーと、それぞれのバックエンドターゲットグループへのパスベースのルーティングを使用します。
    • C. Application Load Balancerと、それぞれのバックエンドターゲットグループへのホストベースのルーティングを使用します。
    • D. Application Load Balancerと、それぞれのバックエンドターゲットグループへのパスベースのルーティングを使用します。

    この問題を見る →

  60. Q60. 開発者は、一般ユーザーとゲストユーザーという2種類のユーザー向けにWebおよびモバイルアプリケーションを構築しています。一般ユーザーはログインが必要ですが、ゲストユーザーはログイン不要です。ユーザーは、認証の有無に関わらず自身のデータのみを表示すべきです。また、ユーザーはAWSリソースにアクセスするためにAWS資格情報を必要とします。

    • A. Amazon Cognito資格情報プロバイダーを使用して、必要なリソースへのアクセス権限を持つ未認証ロールに紐付けられた一時的な資格情報を発行します。
    • B. 必要なリソースへのアクセス権限を持つIAMユーザーを設定し、Webおよびモバイルアプリケーション内にIAM資格情報をハードコードします。
    • C. AWS Key Management Service(AWS KMS)に保存された一時キーを生成し、その一時キーを使用して必要なリソースにアクセスします。
    • D. 一時的な資格情報を生成し、それをAWS Secrets Managerに保存して、その資格情報を使用して必要なリソースにアクセスします。

    この問題を見る →

  61. Q61. 開発者は、アプリケーションのデバッグのためにログデータを検索およびフィルタリングしたいと考えています。アプリケーションのログはAmazon CloudWatch Logsに保存されています。開発者は、アプリケーションログ内の異常をカウントする新しいメトリクスフィルターを作成しましたが、ログから結果が返されていません。

    • A. VPC内のCloudWatch Logsをフィルタリングするには、Amazon CloudWatchインターフェイスVPCエンドポイントを設定する必要があります。
    • B. CloudWatch Logsは、フィルター作成後に発生したイベントのみについてメトリクスデータを発行します。
    • C. メトリクスフィルターが結果を返す前に、CloudWatch LogsのロググループをまずAmazon OpenSearch Serviceにストリーミングする必要があります。
    • D. ロググループのメトリクスデータポイントは、Amazon S3バケットにエクスポートされた後でなければフィルタリングできません。

    この問題を見る →

  62. Q62. ある企業がAWS Elastic Beanstalkにアプリケーションをデプロイしました。同社は、Elastic Beanstalk環境に関連付けられたAuto Scalingグループを、6台のAmazon EC2インスタンスで構成するように設定しました。デプロイ中に6台より少ないEC2インスタンスが起動した場合、アプリケーションのパフォーマンスが低下する可能性があります。同社は現在、あるデプロイ戦略を使用しています。

    • A. Auto Scalingグループを6台の必要なインスタンスに変更します。
    • B. デプロイ戦略をトラフィック分割に変更し、評価時間を1時間に指定します。
    • C. デプロイ戦略をローリング追加バッチに変更し、バッチサイズを1に指定します。
    • D. デプロイ戦略をローリングに変更し、バッチサイズを2に指定します。

    この問題を見る →

  63. Q63. 開発者はAPIの地理的負荷テストを実施する必要があります。開発者は、APIの負荷テストをサポートするために、複数のAWSリージョンにリソースをデプロイする必要があります。開発者は、追加のアプリケーションコードを追加せずにこの要件を満たすにはどうすればよいですか?

    • A. 各必要なリージョンでAWS Lambda関数を作成・デプロイし、Lambda関数を呼び出した際にAWS CloudFormationテンプレートからスタックを作成するように設定します。
    • B. 負荷テストリソースを定義するAWS CloudFormationテンプレートを作成し、AWS CLIのcreate-stack-setコマンドを使用して必要なリージョンでスタックセットを作成します。
    • C. リソースを定義するAWS Systems Managerドキュメントを作成し、そのドキュメントを使用して必要なリージョンでリソースを作成します。
    • D. 負荷テストリソースを定義するAWS CloudFormationテンプレートを作成し、AWS CLIのdeployコマンドを使用して各リージョンでスタックを作成します。

    この問題を見る →

  64. Q64. 企業は、AWS CloudFormationテンプレートを使用して、開発・ステージング・本番環境におけるすべてのアプリケーションのインフラストラクチャを管理しています。企業は、増加する顧客需要に対応するためのスケーリングを必要としています。開発者は、ステージング環境でCloudFormationスタックの更新を実行し、Amazon RDS DBインスタンスのタイプをより大きなインスタンスタイプに変更しました。しかし、スタックがUPDATE_ROLLBACK_FAILED状態にあることに気づきました。この問題の原因は何ですか?

    • A. CloudFormationテンプレートで指定された新しいインスタンスタイプが無効です。
    • B. データベースがCloudFormationスタックの外部で手動で削除または変更されました。
    • C. CloudFormationテンプレートに構文エラーがあります。
    • D. 開発者は、指定されたインスタンスタイプをプロビジョニングするのに十分なIAM権限を持っていません。

    この問題を見る →

  65. Q65. 由于业务需求增加,应用程序遇到了性能问题。这种增加的业务需求是从具有自定义视图和查询的Amazon RDS托管数据库中检索只读历史记录。开发人员必须在不更改数据库架构的情况下解决性能问题。 哪种方案可以最小化性能问题并降低管理开销?

    • A. 部署Amazon DynamoDB,迁移所有数据,并将应用程序指向DynamoDB。
    • B. 部署Amazon ElastiCache for Redis并缓存应用程序的数据。
    • C. 在Amazon EC2上部署Memcached并缓存应用程序的数据。
    • D. 在Amazon RDS上部署Amazon DynamoDB Accelerator (DAX)以提高缓存性能。

    この問題を見る →

  66. Q66. 两个容器化微服务托管在Amazon EC2上的Amazon ECS中。第一个微服务读取Amazon RDS Aurora数据库实例,第二个微服务读取Amazon DynamoDB表。 如何为每个微服务授予最小权限?

    • A. 在ECS代理配置文件中,EC2实例启动时将ECS_ENABLE_TASK_IAM_ROLE设置为false。为ECS任务运行第一个微服务,并为其分配具有Aurora数据库只读访问权限的IAM角色。为ECS任务运行第二个微服务,并为其分配具有DynamoDB只读访问权限的IAM角色。
    • B. 在ECS代理配置文件中,EC2实例启动时将ECS_ENABLE_TASK_IAM_ROLE设置为false。向实例配置文件角色授予对Aurora数据库和DynamoDB的只读访问权限。
    • C. 在ECS代理配置文件中,EC2实例启动时将ECS_ENABLE_TASK_IAM_ROLE设置为true。为ECS任务运行第一个微服务,并为其分配具有Aurora数据库只读访问权限的IAM角色。为ECS任务运行第二个微服务,并为其分配具有DynamoDB只读访问权限的IAM角色。
    • D. 在ECS代理配置文件中,EC2实例启动时将ECS_ENABLE_TASK_IAM_ROLE设置为true。向实例配置文件角色授予对Aurora数据库和DynamoDB的只读访问权限。

    この問題を見る →

  67. Q67. 一位开发人员正在使用AWS Cloud Development Kit(AWS CDK)构建无服务器应用程序。在AWS CloudFormation堆栈创建期间,开发人员已成功部署一个AWS Lambda函数和Amazon API Gateway API。开发人员的工作环境已配置好本地的AWS Serverless Application Model(AWS SAM)和AWS CDK。开发人员如何在本地测试特定的Lambda函数?

    • A. 运行sam package和sam deploy命令。从AWS管理控制台创建Lambda测试事件。测试Lambda函数。
    • B. 运行cdk synth和cdk deploy命令。从AWS管理控制台创建Lambda测试事件。测试Lambda函数。
    • C. 运行cdk synth和sam local invoke命令,使用函数构造标识符和合成CloudFormation模板的路径。
    • D. 运行cdk synth和sam local start-lambda命令,使用函数构造标识符和合成CloudFormation模板的路径。

    この問題を見る →

  68. Q68. 一家公司正使用Amazon RDS作为其应用程序的后端数据库。最近开展的一次营销活动导致数据库读取请求激增,增加了数据库检索数据的延迟。公司计划在数据库前端实现一个缓存层。该缓存必须加密,且必须具备高可用性。 哪种解决方案可满足这些要求?

    • A. Amazon CloudFront
    • B. Amazon ElastiCache for Memcached
    • C. Amazon ElastiCache for Redis(集群模式)
    • D. Amazon DynamoDB Accelerator(DAX)

    この問題を見る →

  69. Q69. 开发人员正在使用AWS CodePipeline流水线为Java应用程序提供持续集成与持续交付(CI/CD)支持。开发人员需要更新流水线以支持引入新的应用程序依赖项JAR文件。当新版本JAR文件可用时,流水线必须自动启动构建。 哪种解决方案可满足这些要求?

    • A. 创建一个Amazon S3存储桶来存储依赖项JAR文件。将依赖项JAR文件发布到S3存储桶。使用Amazon Simple Notification Service(Amazon SNS)通知触发CodePipeline流水线构建。
    • B. 创建一个Amazon Elastic Container Registry(Amazon ECR)私有存储库。将依赖JAR文件发布到该存储库。使用ECR源操作触发CodePipeline流水线构建。
    • C. 创建一个Amazon Elastic Container Registry(Amazon ECR)私有存储库。将依赖项JAR文件发布到该存储库。使用Amazon Simple Notification Service(Amazon SNS)通知触发CodePipeline流水线构建。
    • D. 创建一个AWS CodeArtifact存储库。将依赖项JAR文件发布到该存储库。使用Amazon EventBridge(Amazon CloudWatch Events)规则触发CodePipeline流水线构建。

    この問題を見る →

  70. Q70. 开发人员在AWS CloudFormation部署过程中收到以下错误消息:DELETE_FAILED(删除资源失败:[ASGInstanceRole12345678])。开发人员应采取什么措施来解决此错误?

    • A. 联系AWS支持,报告Auto Scaling Groups(ASG)服务的问题。
    • B. 在CloudFormation模板中为ASGInstanceRole12345678资源添加DependsOn属性,然后删除堆栈。
    • C. 修改CloudFormation模板以保留ASGInstanceRole12345678资源,然后在部署后手动删除该资源。
    • D. 在调用CloudFormation时添加一个force参数,并指定ASGInstanceRole12345678的role-arn。

    この問題を見る →

  71. Q71. 一家公司希望使用AWS CloudFormation模板部署其云资源。开发人员需创建一个Amazon Simple Notification Service(Amazon SNS)告警通知,以协助执行该策略。开发人员创建了一个SNS主题,并将公司安全团队的多个电子邮件地址订阅至该SNS主题。安全团队必须在未使用CloudFormation创建IAM角色时立即收到通知。 哪种解决方案能够满足这一要求?

    • A. 创建一个AWS Lambda函数来过滤来自CloudTrail的事件,若未使用CloudFormation创建角色,则发布至SNS主题。配置Lambda函数以每15分钟触发一次的方式创建一个Amazon EventBridge调度。
    • B. 在Amazon Elastic Container Service(Amazon ECS)中创建一个AWS Fargate任务来过滤来自CloudTrail的事件,若未使用CloudFormation创建角色,则发布至SNS主题。配置Fargate任务以每15分钟运行一次的方式创建一个Amazon EventBridge调度。
    • C. 启动一个Amazon EC2实例,其中包含一个脚本来过滤来自CloudTrail的事件,若未使用CloudFormation创建角色,则发布至SNS主题。配置脚本以每15分钟在EC2实例上运行一次的方式创建一个cron任务。
    • D. 创建一个Amazon EventBridge规则来过滤来自CloudTrail的事件,若未使用CloudFormation创建角色,则将SNS主题指定为EventBridge规则的目标。

    この問題を見る →

  72. Q72. 开发人员正在部署一个将文件存储在Amazon S3存储桶中的应用程序。这些文件必须在静态时加密。开发人员希望将文件复制到不同AWS区域中的S3存储桶以实现灾难恢复。开发人员如何以最少的配置完成此项任务?

    • A. 使用带有S3托管加密密钥(SSE-S3)的服务器端加密来加密文件。启用S3存储桶复制。
    • B. 使用服务器端加密(SSE)和AWS Key Management Service(AWS KMS)客户主密钥(CMK)来加密文件。启用S3存储桶复制。
    • C. 使用s3sync命令将文件同步到其他Region的S3 bucket中。
    • D. 配置S3生命周期配置以自动将文件传输到其他区域中的S3存储桶。

    この問題を見る →

  73. Q73. この開発者は、AWS CloudFormationおよびAWS Lambda関数を使用して、デュアルアカウントの概念実証(PoC)デモを構築しています。このデモでは、既存のLambda関数をCloudFormationテンプレートでデプロイします。Lambda関数は、Amazon S3に保存されたデプロイパッケージおよび依存関係を使用します。開発者はCloudFormationテンプレート内でAWS::Lambda::Functionリソースを定義しました。開発者は、CloudFormationテンプレートにS3バケットを追加する必要があります。これらの要件を満たすために、開発者が最小限の開発作業量で実施すべき措置は何ですか?

    • A. 関数コードをCloudFormationテンプレート内にインラインで追加し、codeプロパティとして指定します。
    • B. 関数コードをZipFileプロパティとしてCloudFormationテンプレートに追加します。
    • C. Lambda関数のS3キーを特定し、そのS3キーをZipFileプロパティとしてCloudFormationテンプレートに追加します。
    • D. CloudFormationテンプレート内のS3BucketおよびS3Keyプロパティに、対応するバケット名とキーを指定します。

    この問題を見る →

  74. Q74. ある企業は、機密データを含むAmazon S3バケットを保有しています。データは転送中および静止時において暗号化される必要があります。この企業は、AWS Key Management Service (AWS KMS) キーを使用してS3バケット内のデータを暗号化しています。開発者は、他の複数のAWSアカウントがS3GetObject操作を通じてこのS3バケット内のデータを取得できるようにアクセス権を付与する必要があります。開発者は、データ取得要求がすべて暗号化された転送(HTTPS)経由で行われることを強制するには、どうすればよいですか?

    • A. S3バケット上でリソースベースポリシーを定義し、「aws:SecureTransport」が「false」である場合にアクセスを拒否します。
    • B. S3バケット上でリソースベースポリシーを定義し、「aws:SecureTransport」が「false」である場合にアクセスを許可します。
    • C. 他のアカウントのロールに対してロールベースポリシーを定義し、「aws:SecureTransport」が「false」である場合にアクセスを拒否します。
    • D. KMSキー上でリソースベースポリシーを定義し、「aws:SecureTransport」が「false」である場合にアクセスを拒否します。

    この問題を見る →

  75. Q75. ある企業は、一連のAmazon S3バケット内のデータテーブルにデータを保存しています。企業は、顧客のクレジットカード情報が、同社の何らかのパブリックアプリケーションのデータテーブル内で漏洩した可能性があるという警告を受けました。開発者は、アプリケーション環境内の潜在的なリスクをすべて特定する必要があります。この要件を満たす解決策はどれですか?

    • A. Amazon Athenaを使用して、影響を受けるデータを含むS3バケット上でジョブを実行します。SensitiveData:S3Object/Personal発見タイプを使用して結果をフィルタリングします。
    • B. Amazon Macieを使用して、影響を受けるデータを含むS3バケット上でジョブを実行します。SensitiveData:S3Object/Financial発見タイプを使用して結果をフィルタリングします。
    • C. Amazon Macieを使用して、影響を受けるデータを含むS3バケット上でジョブを実行します。SensitiveData:S3Object/Personal発見タイプを使用して結果をフィルタリングします。
    • D. Amazon Athenaを使用して、影響を受けるデータを含むS3バケット上でジョブを実行します。SensitiveData:S3Object/Financial発見タイプを使用して結果をフィルタリングします。

    この問題を見る →

  76. Q76. 企業は、AWS上でアプリケーションをホストしています。このアプリケーションは、AWS Fargateを使用するAmazon Elastic Container Service(Amazon ECS)クラスター上で実行されています。クラスターはアプリケーションロードバランサーの後ろで動作しています。アプリケーションは、Amazon Auroraデータベースにデータを保存しています。開発者は、アプリケーション内でデータベースの認証情報を暗号化・管理しています。企業は、より安全な認証情報保管方法を採用し、定期的な認証情報ローテーションを実現したいと考えています。この要件を、運用上のオーバーヘッドを最小限に抑えつつ満たす解決策はどれですか?

    • A. シークレット認証情報をAmazon RDSパラメータグループに移行します。AWS Key Management Service(AWS KMS)キーを使用してパラメータを暗号化します。認証情報ローテーションを有効にします。IAMポリシーおよびロールを使用して、AWS KMSがAmazon RDSにアクセスするための権限を付与します。
    • B. 認証情報をAWS Systems Manager Parameter Storeに移行します。AWS Key Management Service(AWS KMS)キーを使用してパラメータを暗号化します。認証情報ローテーションを有効にします。IAMポリシーおよびロールを使用して、Amazon ECS FargateがAWS Secrets Managerにアクセスするための権限を付与します。
    • C. 認証情報をECS Fargateの環境変数に移行します。AWS Key Management Service(AWS KMS)キーを使用して認証情報を暗号化します。認証情報ローテーションを有効にします。IAMポリシーおよびロールを使用して、Amazon ECS FargateがAWS Secrets Managerにアクセスするための権限を付与します。
    • D. 認証情報をAWS Secrets Managerに移行します。AWS Key Management Service(AWS KMS)キーを使用して認証情報を暗号化します。認証情報ローテーションを有効にします。IAMポリシーおよびロールを使用して、Amazon ECS FargateがAWS Secrets Managerにアクセスするための権限を付与します。

    この問題を見る →

  77. Q77. ある開発者は、AWS Serverless Application Model(AWS SAM)を用いてサーバーレスアプリケーションを構築しています。現在、開発者はこのアプリケーションを開発環境でテストしています。アプリケーションが完成に近づいた際、開発者は品質保証チーム向けに追加のテスト環境およびステージング環境を設定する必要があります。開発者は、AWS SAMの機能を活用して各環境へのデプロイを設定したいと考えています。この要件を、最小限の開発作業量で満たす解決策はどれですか?

    • A. TOML形式の設定ファイルを追加し、各環境ごとに設定エントリをグループ化します。各テストおよびステージング環境に対してセクションを追加します。sam deployコマンドと、各環境に対応する--config-envフラグを用いて、更新を環境にデプロイします。
    • B. 各テストおよびステージング環境ごとに追加のAWS SAMテンプレートを作成します。sam deployコマンドと--template-fileフラグを用いて更新を環境にデプロイするカスタムシェルスクリプトを作成します。
    • C. デフォルトパラメータを含むAWS SAM設定ファイルを作成します。AWS SAM CLIで--parameter-overridesフラグを用い、テストおよびステージング環境で上書きするパラメータを更新してデプロイを実行します。
    • D. 既存のAWS SAMテンプレートを使用します。各環境におけるサーバーレス関数およびデータベーステーブルリソースの特定属性を設定するための追加パラメータを追加します。sam deployコマンドを用いて、テストおよびステージング環境に更新をデプロイします。

    この問題を見る →

  78. Q78. 開発者は、Amazon API GatewayおよびAWS Lambdaを用いてREST APIを構築する予定です。開発者は、開発、テスト、本番の3つの異なる環境を管理する必要があります。リソースの管理数を最小限に抑えつつ、アプリケーションをデプロイするには、どのようにすべきですか?

    • A. 同一リージョン内で、各環境ごとに個別のAPI Gatewayおよび個別のLambda関数を作成します。
    • B. 各環境に別々のリージョンを割り当て、API GatewayおよびLambdaをそれぞれのリージョンにデプロイします。
    • C. 1つのLambda関数を複数のエイリアスとともに使用し、1つのAPI Gatewayを複数のステージとともに使用します。
    • D. 1つのAPI Gatewayおよび1つのLambda関数を作成し、1つのRESTパラメータを用いて環境を識別します。

    この問題を見る →

  79. Q79. ある企業は、AWS上でアプリケーションを実行しています。このアプリケーションはAmazon EC2インスタンス上でホストされており、データはAmazon Auroraに保存されています。アプリケーションは最近、Amazon CloudWatchログに特定のアプリケーション定義エラー「DECRYP_ERROR」を記録しました。この問題は、30分ごとに実行される自動化テストが失敗した際に初めて検出されました。開発者は、これらのカスタムエラーを監視し、本番環境でリアルタイムで発生時に開発チームに通知するソリューションを実装する必要があります。この要件を、最小限の運用オーバーヘッドで満たす解決策はどれですか?

    • A. アプリケーションがカスタムメトリクスを作成し、それをCloudWatchにプッシュするよう設定します。AWS CloudTrailアラームを作成します。CloudTrailアラームがAmazon Simple Notification Service(Amazon SNS)トピックを用いて通知を送信するよう設定します。
    • B. 5分ごとに実行されるAWS Lambda関数を作成し、CloudWatchログを「DECRYP_ERROR」キーワードでスキャンします。Lambda関数がAmazon Simple Notification Service(Amazon SNS)を用いて通知を送信するよう設定します。
    • C. Amazon CloudWatch Logsで「DECRYP_ERROR」のフィルターパターンを持つメトリクスフィルターを作成します。このメトリクスに対して、しきい値>=1のCloudWatchアラームを作成します。アラームがAmazon Simple Notification Service(Amazon SNS)通知を送信するよう設定します。
    • D. EC2インスタンスにCloudWatch統合エージェントをインストールします。アプリケーションが「DECRYP_ERROR」キーワードのエラーを含むメトリクスを生成するよう設定します。エージェントがAmazon Simple Notification Service(Amazon SNS)通知を送信するよう設定します。

    この問題を見る →

  80. Q80. ある開発者は、境界ゲートウェイプロトコル(Border Gateway Protocol、BGP)に基づくAWS VPN接続を用いて、オンプレミス環境からAWSアカウント内のAmazon EC2インスタンスに接続しています。開発者はサブネットA内のEC2インスタンスにはアクセスできますが、同一VPC内のサブネットB内のEC2インスタンスにはアクセスできません。開発者は、トラフィックがサブネットBに到達しているかどうかを確認するために、どのログを活用できますか?

    • A. VPNログ
    • B. BGPログ
    • C. VPCフローログ
    • D. AWS CloudTrailログ

    この問題を見る →

  81. Q81. ある開発者が、Amazon API Gateway APIから受信したリクエストを処理するAWS Lambda関数を実装しています。APIはLambdaエイリアスを使用してLambda関数を呼び出します。開発者は、リクエストに関連するより詳細な処理を行うためにLambda関数のコードを更新しました。開発者は、既存のAPIを利用する顧客に影響を与えることなく、新しいデプロイメントでLambda関数をテストしたいと考えています。この要件を満たし、運用コストを最小限に抑えるソリューションはどれですか?

    • A. Lambda関数の新バージョンを作成します。API Gateway上で新しいステージを作成し、そのステージを新しいLambdaバージョンと統合します。新しいAPI Gatewayステージを使用してLambda関数をテストします。
    • B. API Gatewayで使用されている既存のLambdaエイリアスを、加重エイリアスとして更新します。新しいLambdaバージョンを追加のLambda関数として追加し、重みを10%に設定します。既存のAPI Gatewayステージ内でテストを行います。
    • C. Lambda関数の新バージョンを作成します。API Gatewayからの受信リクエストをフィルタリングするための2番目のLambda関数を作成・デプロイします。フィルタリング用Lambda関数がテストリクエストを検出した場合、その関数は新しいLambdaバージョンを呼び出します。それ以外のリクエストについては、古いLambdaバージョンを呼び出します。API Gateway APIをフィルタリング用Lambda関数を使用するように更新します。
    • D. Lambda関数の新バージョンを作成します。テスト目的で新しいAPI Gateway APIを作成します。新しいAPIを新しいLambdaバージョンと統合するように更新します。新しいAPIを使用してテストを行います。

    この問題を見る →

  82. Q82. ある企業が、AWS上のElastic Load Balancerの後ろにアプリケーションをデプロイする計画です。このアプリケーションはHTTP/HTTPSリスナーを使用し、クライアントのIPアドレスへのアクセスが必要です。この要件を満たすロードバランシングソリューションはどれですか?

    • A. Application Load BalancerとX-Forwarded-Forヘッダーを使用します。
    • B. ネットワークロードバランサー(NLB)を使用します。NLBおよびターゲットアプリケーションでプロキシプロトコルを有効にします。
    • C. Application Load Balancerを使用します。インスタンスIDでターゲットを登録します。
    • D. ネットワークロードバランサーとX-Forwarded-Forヘッダーを使用します。

    この問題を見る →

  83. Q83. ある開発者がAWS上でアプリケーションを構築しています。このアプリケーションには、Amazon Simple Queue Service(Amazon SQS)キューからメッセージを処理するAWS Lambda関数が含まれています。Lambda関数は、時折失敗またはタイムアウトします。開発者は、特定のメッセージがLambda関数によって処理されない原因を特定したいと考えています。この要件を満たし、運用コストを最小限に抑えるソリューションはどれですか?

    • A. Lambda関数の最大タイムアウト時間を15分に増加させます。エラーの詳細情報を得るためにAWS CloudTrailイベント履歴を確認します。
    • B. SQSキューの可視性タイムアウトを増加させます。エラーの詳細情報を得るためにAmazon CloudWatch Logsを確認します。
    • C. デッドレターキュー(DLQ)を作成します。Lambda関数が失敗したメッセージをデッドレターキューに送信するように設定します。
    • D. Amazon DynamoDBテーブルを作成します。Lambda関数を更新し、失敗したメッセージをDynamoDBテーブルに送信するようにします。

    この問題を見る →

  84. Q84. ある開発者が、いくつかのパブリックAPIエンドポイントからデータを取得・処理するAWS Lambda関数を作成しました。このLambda関数は、VPCのプライベートサブネットに接続するよう設定されています。VPCにはInternet Gatewayがアタッチされています。VPCはデフォルトのネットワークACLおよびセキュリティグループ設定を使用しています。開発者は、Lambda関数が現在パブリックAPIにアクセスできないことに気づきました。開発者はパブリックAPI自体がアクセス可能であることを確認済みですが、Lambda関数がAPIに接続できません。この接続問題を解決するにはどうすればよいですか?

    • A. ネットワークACLがパブリックインターネットへのアウトバウンドトラフィックを許可していることを確認します。
    • B. セキュリティグループがパブリックインターネットへのアウトバウンドトラフィックを許可していることを確認します。
    • C. プライベートサブネットのアウトバウンドトラフィックがパブリックNATゲートウェイへルーティングされていることを確認します。
    • D. プライベートサブネットのアウトバウンドトラフィックが新しいInternet Gatewayへルーティングされていることを確認します。

    この問題を見る →

  85. Q85. ある開発者が、Webアプリケーション向けの継続的インテグレーションおよび継続的デリバリー(CI/CD)メカニズムとしてAWS CodePipelineパイプラインを使用しています。開発者は、アプリケーションコードの機能を自動的にテストするユニットテストを実装しました。ユニットテストは、各個別のチェック結果を表示するテストレポートを生成します。開発者は、CI/CDパイプライン内でこれらのテストを自動実行したいと考えています。この要件を満たし、運用作業量を最小限に抑えるソリューションはどれですか?

    • A. Gitのプリコミットフックを作成し、各コミット前にテストを実行します。プロジェクトに参加するすべての開発者がローカルにこのプリコミットフックをインストールするよう保証します。AWS CodeCommitへ変更をプッシュする前に、テストレポートを確認し、問題を解決します。
    • B. パイプラインに新しいステージを追加します。プロバイダーとしてAWS CodeBuildを使用します。コードリビジョンをテスト環境へデプロイするステージの後に新しいステージを追加します。テストが失敗した場合は、CodeBuildステージが失敗するようなビルド仕様を記述します。CodeBuildのテストレポート機能を使用して、レポートをCodeBuildコンソールと統合します。CodeBuild内でテスト結果を確認し、問題を解決します。
    • C. パイプラインに新しいステージを追加します。プロバイダーとしてAWS CodeBuildを使用します。コードリビジョンをテスト環境へデプロイするステージの前に新しいステージを追加します。テストが失敗した場合は、CodeBuildステージが失敗するようなビルド仕様を記述します。CodeBuildのテストレポート機能を使用して、レポートをCodeBuildコンソールと統合します。CodeBuild内でテスト結果を確認し、問題を解決します。
    • D. パイプラインに新しいステージを追加します。プロバイダーとしてJenkinsを使用します。CodePipelineをJenkinsでユニットテストを実行するように設定します。テストが失敗した場合は、Jenkinsfileでステージが失敗するように記述します。Jenkinsのテストレポートプラグインを使用して、レポートをJenkinsダッシュボードと統合します。Jenkins内でテスト結果を確認し、問題を解決します。

    この問題を見る →

  86. Q86. ある企業が、パブリックアクセス権限を持たないプライベートなAmazon S3バケットへ機密ファイルを移行しました。企業は、従業員がログインして他のユーザーとファイルを共有できるサーバーレスアプリケーションを開発したいと考えています。このファイルの安全な共有およびアクセスには、どのAWS機能を使用すべきですか?

    • A. Amazon Cognitoユーザープール
    • B. S3プリサインドURL
    • C. S3バケットポリシー
    • D. Amazon Cognito IDプール

    この問題を見る →

  87. Q87. ある企業が、単一のAWS Lambda関数を呼び出すAmazon API Gateway REST APIをホストしています。この関数は多数のクライアントから同時に呼び出されます。コードは最適化されていますが、企業は関数の起動時間を短縮したいと考えています。開発者は、関数の初期化を最適化するために何を行うことができますか?

    • A. REST APIに対してAPI Gatewayキャッシュを有効にします。
    • B. Lambda関数に対してプロビジョニング済み同時実行数を設定します。
    • C. REST APIに対してLambdaプロキシ統合を使用します。
    • D. Lambda関数に対してAWS Global Acceleratorを設定します。

    この問題を見る →

  88. Q88. ある開発者が、AWS Amplify Hostingを使用してアプリケーションをビルドおよびデプロイしています。開発者は、ユーザーから多数のバグ報告を受け取りました。開発者は、バグが本番環境に到達する前にできる限り早期にそれらを排除するために、アプリケーションにエンドツーエンドテストを追加したいと考えています。この要件を満たすために、開発者が実装すべきソリューションはどれですか?

    • A. Amplify CLIで amplify add test コマンドを実行します。
    • B. アプリケーション内にユニットテストを作成します。Amplify CLIの amplify push コマンドを使用してユニットテストをデプロイします。
    • C. アプリケーションの amplify.yml ビルド設定にテストステージを追加します。
    • D. アプリケーションの aws-exports.js ファイルにテストステージを追加します。

    この問題を見る →

  89. Q89. ある開発者がAWS Lambda関数の開発を行っています。開発者は、Lambda関数が実行される際に重要なイベントを記録したいと考えています。また、これらのイベントを特定の関数呼び出しと関連付けるための固有の識別子を含めたいと考えています。開発者は、以下のコードをLambda関数に追加しました:Function handler (event, context) {} この要件を満たす解決策はどれですか?

    • A. コンテキスト(context)オブジェクトのAWSリクエストIDフィールドからリクエスト識別子を取得します。アプリケーションが標準出力にログを書き込むように設定します。
    • B. イベント(event)オブジェクトのAWSリクエストIDフィールドからリクエスト識別子を取得します。アプリケーションがファイルにログを書き込むように設定します。
    • C. イベント(event)オブジェクトのAWSリクエストIDフィールドからリクエスト識別子を取得します。アプリケーションが標準出力にログを書き込むように設定します。
    • D. コンテキスト(context)オブジェクトのAWSリクエストIDフィールドからリクエスト識別子を取得します。アプリケーションがファイルにログを書き込むように設定します。

    この問題を見る →

  90. Q90. ある開発者が、新しいAmazon S3バケットが作成されるたびに実行されるAWS Lambda関数をデプロイしました。このLambda関数は、各新しいS3バケットにS3ライフサイクルポリシーをアタッチする必要があります。しかし、開発者は、新しく作成されたS3バケットにライフサイクルポリシーがアタッチされていないことに気づきました。開発者は、Lambda関数内で発生している可能性のあるエラーを調査するために、どのAWSサービスを使用すべきですか?

    • A. AWS CloudTrail
    • B. Amazon S3
    • C. AWS CloudFormation
    • D. Amazon CloudWatch

    この問題を見る →

  91. Q91. ある企業が、Amazon S3バケット内のS3オブジェクトイベントをAmazon EventBridge(旧称Amazon CloudWatch Events)に送信するよう設定しました。EventBridgeルールは、受信した各S3オブジェクトイベントごとにAWS Lambda関数を呼び出します。開発者は、新しいバージョンのLambda関数を開発中です。新しいLambda関数が期待通りに動作することを保証するため、開発者は、実際のS3バケットオブジェクトイベントを使用した再現可能なテストを実行する必要があります。また、テストをサポートするコードおよびインフラストラクチャの量を最小限に抑える必要があります。これらの要件を満たす解決策はどれですか?

    • A. 別のS3バケットを作成し、そのバケットからオブジェクトイベントをEventBridgeに送信できるようにします。新しいS3バケットからのデータイベントを新しいLambda関数に渡すための追加のEventBridgeルールを追加します。テスト用のS3オブジェクトイベントを生成するために、新しいS3バケット内のオブジェクトを更新するツールを開発します。
    • B. 既存のEventBridgeルールに新しいLambda関数を追加のターゲットとして登録します。S3オブジェクトイベントを既存のLambda関数と新しいLambda関数の両方に同時に送信します。
    • C. EventBridgeのアーカイブおよび再生機能を用いて、本番環境のS3オブジェクトイベントを再生します。再生されたS3オブジェクトイベントを新しいLambda関数に送信するための新しいEventBridgeルールを設定します。
    • D. EventBridge PutEvents API操作を使用してaws.s3データイベントを発行するツールを開発します。aws.s3イベントを新しいLambda関数に送信するための新しいEventBridgeルールを追加します。

    この問題を見る →

  92. Q92. ある開発者は、データをAmazon S3バケットに保存するアプリケーションを持っています。このアプリケーションはHTTP APIを用いてオブジェクトの保存および取得を行います。PutObject API操作によってオブジェクトがS3バケットに追加された際、開発者はAmazon S3が管理するサーバーサイド暗号化(SSE-S3)を用いた静的暗号化を適用する必要があります。この要件を満たす解決策はどれですか?

    • A. AWS Key Management Service(AWS KMS)キーを作成し、そのKMSキーをS3バケットに割り当てます。
    • B. PutObject API操作を呼び出す際にx-amz-server-side-encryptionヘッダーを設定します。
    • C. 各リクエストのHTTPヘッダーで暗号化キーを提供します。
    • D. S3バケットへのトラフィックにTLS暗号化を適用します。

    この問題を見る →

  93. Q93. ある企業が、Amazon Cognitoユーザープールを認証システムとして使用するアプリケーションを運用しています。この企業は、ユーザー記録へのアクセスを保護する必要があります。すでに多要素認証(MFA)が有効化されています。さらに、ユーザーが毎回ログインする際に、メールでログインアクティビティ通知を送信したいと考えています。この要件を満たす最も効率的な解決策は何ですか?

    • A. Amazon Simple Email Service(Amazon SES)を用いてメール通知を送信するAWS Lambda関数を作成します。この関数を呼び出すためのAmazon API Gateway APIを追加します。クライアント側でログイン確認を受け取った後にAPIを呼び出します。
    • B. Amazon Simple Email Service(Amazon SES)を用いてメール通知を送信するAWS Lambda関数を作成します。この関数にAmazon Cognitoの認証後Lambdaトリガーを追加します。
    • C. Amazon Simple Email Service(Amazon SES)を用いてメール通知を送信するAWS Lambda関数を作成します。Amazon CloudWatch Logsのログサブスクリプションフィルターを作成し、ログインステータスに基づいて関数を呼び出します。
    • D. Amazon Cognitoを設定して、すべてのログをAmazon Kinesis Data Firehoseにストリーミングします。ストリーミングされたログを処理し、各ユーザーのログインステータスに基づいてメール通知を送信するAWS Lambda関数を作成します。

    この問題を見る →

  94. Q94. ある企業が、Amazon API Gateway APIのバックエンドとして複数のAWS Lambda関数を用いるサーバーレスアプリケーションを開発しています。開発者は、Lambda関数のコードを自動化してデプロイしたいと考えています。開発者は、AWS CodeDeployを用いて更新されたLambda関数をデプロイします。デプロイは、最終ユーザーが遭遇する可能性のある潜在的なエラーを最小限に抑える必要があります。アプリケーションが本番環境で稼働している際には、指定されたメンテナンスウィンドウ以外でダウンタイムが発生してはなりません。これらの要件を最短のデプロイ時間で満たすデプロイ構成はどれですか?

    • A. Lambda関数に対してAWS CodeDeployのインプレースデプロイ構成を使用し、デプロイ直後に全トラフィックを移行します。
    • B. AWS CodeDeployのリニアデプロイ構成を使用し、1分ごとに10%のトラフィックを移行します。
    • C. AWS CodeDeployのワンショットデプロイ構成を使用し、全トラフィックを即座に新バージョンに移行します。
    • D. AWS CodeDeployの事前定義カナリアデプロイ構成を使用し、即座に10%のトラフィックを移行し、5分後に残りのトラフィックを移行します。

    この問題を見る →

  95. Q95. アプリケーションがコンテナイメージを安全に実行する前にその脆弱性を強化するため、企業はAmazon Elastic Container Registry(Amazon ECR)をイメージレジストリ、Amazon Elastic Kubernetes Service(Amazon EKS)をコンピューティングプラットフォーム、およびAWS CodePipelineをコンテナ統合およびデリバリー(CI/CD)ワークフローとして使用しています。現在、アプリケーションのセキュリティテストは、CI/CDパイプラインの最終段階、つまり新規イメージがEKSクラスター内の開発名前空間にデプロイされた後に実行されています。開発者は、このデプロイ前のCI/CDパイプラインの早期段階でコンテナイメージの分析を実施したいと考えています。これらの要件を最も運用効率よく満たす解決策はどれですか?

    • A. コンテナイメージを構築し、ローカルでdocker scanコマンドを実行します。ソースコードリポジトリに変更をプッシュする前に問題を解決します。コミット前にこのワークフローを強制するpre-commitフックを作成します。
    • B. コンテナイメージの構築後に発生する新しいCodePipelineステージを作成します。ECRの基本イメージスキャンを、イメージのプッシュ時に実行するよう設定します。AWS Lambda関数をアクションプロバイダーとして使用します。Lambda関数がスキャン結果をチェックし、問題が検出された場合にパイプラインを失敗させるよう設定します。
    • C. ソースコードリポジトリからソースコードを取得した後に発生する新しいCodePipelineステージを作成します。最新版のソースコードに対してセキュリティスキャンを実行します。問題が検出された場合、パイプラインを失敗させます。
    • D. デプロイステージに、EKSクラスターへのデプロイ前に実行されるアクションを追加します。ECRの基本イメージスキャンを、イメージのプッシュ時に実行するよう設定します。AWS Lambda関数をアクションプロバイダーとして使用します。Lambda関数がスキャン結果をチェックし、問題が検出された場合にパイプラインを失敗させるよう設定します。

    この問題を見る →

  96. Q96. ある企業が、多数の消費者向けサービスを提供しています。各消費者は、1つまたは複数のサービスに接続できます。これにより、管理が困難で、拡張性に乏しい複雑なアーキテクチャが生まれています。企業は、これらの消費者向けサービスを管理するための単一のインターフェイスが必要です。このアーキテクチャを再構築するために、どのAWSサービスを使用すべきですか?

    • A. AWS Lambda
    • B. AWS X-Ray
    • C. Amazon SQS
    • D. Amazon API Gateway

    この問題を見る →

  97. Q97. Ika Koushiは、Amazon ECS上でDockerアプリケーションを実行しています。このアプリケーションは、過去15秒間のユーザー負荷に基づいてスケーリングする必要があります。 開発者は、この要件を満たすためにコードをどのように検出(モニタリング)すべきでしょうか?

    • A. ユーザー活動データに対して高解像度のカスタムAmazon CloudWatchメトリクスを作成し、30秒ごとにデータを送信する。
    • B. ユーザー活動データに対して高解像度のカスタムAmazon CloudWatchメトリクスを作成し、5秒ごとにデータを送信する。
    • C. ユーザー活動データに対して標準解像度のカスタムAmazon CloudWatchメトリクスを作成し、30秒ごとにデータを送信する。
    • D. ユーザー活動データに対して標準解像度のカスタムAmazon CloudWatchメトリクスを作成し、5秒ごとにデータを送信する。

    この問題を見る →

  98. Q98. ローカル環境でセッション状態を共有するWebアプリケーションをAWSへ移行しています。このアプリケーションは、フォールトトレランス機能を持ち、スケーラビリティが高く、サービス中断があってもユーザーエクスペリエンスに影響を与えてはなりません。 セッション状態を保存するための最適な選択肢は何ですか?

    • A. セッション状態をAmazon ElastiCacheに保存する。
    • B. セッション状態をAmazon CloudFrontに保存する。
    • C. セッション状態をAmazon S3に保存する。
    • D. Elastic Load Balancingでセッションアフィニティ(セッションスティッキネス)を有効化する。

    この問題を見る →

  99. Q99. ある会社は、アプリケーション負荷分散器(Application Load Balancer)の後ろでAmazon EC2インスタンス上にアプリケーションを実行しています。EC2インスタンスは、複数の可用性ゾーンにまたがるAuto Scalingグループで実行されています。アプリケーションは起動時にアプリケーションキーを取得し、それを環境変数としてエクスポートする必要があります。これらのキーは静止時(at rest)に暗号化され、毎月ローテーションされる必要があります。この要件を最小限の開発工数で満たす最も適切なソリューションはどれですか?

    • A. キーをテキストファイルに保存し、そのファイルをAmazon S3に格納する。カスタムマネージドキーを提供し、Amazon S3内でそのキーを使ってキーを暗号化する。テキストファイルの内容を読み込み、環境変数としてエクスポートする。S3 Object Lambdaを設定して、テキストファイルを毎月ローテーションする。
    • B. キーをAWS Systems Manager Parameter Storeの文字列として保存し、デフォルトのAWS Key Management Service (AWS KMS) キーを使用する。Amazon EC2のユーザーデータスクリプトを設定し、起動時にキーを取得して環境変数としてエクスポートする。AWS Lambda関数を設定し、Parameter Store内のキーを毎月ローテーションする。
    • C. キーをBase64エンコーディングされた環境変数としてアプリケーションプロパティに保存する。アプリケーション起動時にキーを取得し、アプリケーションコード内で参照する。環境変数として保存されたキーをローテーションするスクリプトを作成する。
    • D. キーをAWS Secrets Managerに格納する。新しいカスタマーマスターキー(CMK)を提供し、そのキーでキーを暗号化する。自動ローテーションを有効化する。Amazon EC2のユーザーデータスクリプトを設定し、起動時にプログラム的にキーを取得して環境変数としてエクスポートする。

    この問題を見る →

  100. Q100. 開発者は、AWS CodeArtifactおよびAWS CodeBuildを用いた継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインを構築しています。ビルド成果物のサイズは0.5GBから1.5GBの間です。ビルドは頻繁に実行され、毎回CodeArtifactから多数の依存関係を取得しています。依存関係のダウンロードにかかる時間が長いため、ビルド速度が低下しています。開発者は、毎回のビルドで取得する依存関係の数を削減することでビルドパフォーマンスを向上させたいと考えています。この要件を満たす最も適切なソリューションはどれですか?

    • A. CodeBuildでAmazon S3キャッシュを指定し、buildspec.yamlファイルにS3キャッシュのフォルダパスを追加する。
    • B. CodeBuildでローカルキャッシュを指定し、buildspec.yamlファイルにCodeArtifactリポジトリ名を追加する。
    • C. CodeBuildでローカルキャッシュを指定し、buildspec.yamlファイルにキャッシュフォルダパスを追加する。
    • D. buildspec.yamlファイルを直接CodeArtifactから取得し、buildspec.yamlファイルにCodeArtifactリポジトリ名を追加する。

    この問題を見る →