-
Q1. ある企業のDevOpsエンジニアが、AWS Organizationsで組織を管理しています。この組織には多数のアカウントが含まれています。企業は、本番アカウント内のすべてのAWS CloudFormationスタックに対して終了保護(Termination Protection)を有効化する必要があります。一方、非本番アカウントでは終了保護は不要です。
企業は、AWS Configの集約設定のために1つの集約アカウントを指定し、本番アカウントをCloudFormationおよびAWS Configをサポートするように構成しました。また、本番アカウントをOU(Organizational Unit)にグループ化しています。
これらの要件を満たすソリューションはどれですか?
- A. 終了保護が有効になっていないスタックを検出するAWS Configルールを作成します。このルールに終了保護を有効化する修復アクションを追加します。PutOrganizationConfigRule API操作を使用して、組織全体にこのルールを展開します。
- B. 終了保護が有効になっていないスタックを検出するAWS Configルールを含むCloudFormationテンプレートを作成します。このルールに終了保護を有効化する修復アクションを追加します。CloudFormation StackSetsを使用して、このテンプレートを本番アカウントのOUに展開します。
- C. cloudformation:DeleteStack操作を拒否するSCP(Service Control Policy)を作成します。CloudFormation StackSetsを使用して、このSCPを本番アカウントのOUに適用します。
- D. Update:Delete操作を拒否するCloudFormationスタックポリシーを作成します。CloudFormation StackSetsを使用して、このポリシーを本番アカウントのOUに適用します。
この問題を見る →
-
Q2. DevOpsエンジニアが、EC2 Auto Scalingグループ内のAmazon EC2インスタンス群に対してAWS CodeDeployを実行しています。EC2 Auto Scalingと連携するCodeDeployデプロイメントグループは、CodeDeployDefault.OneAtATimeによるインプレースデプロイメントを実行するよう構成されています。進行中の新規デプロイメントにおいて、エンジニアは、全体のデプロイメントは成功したものの、インスタンスの約2/3が以前のアプリケーションリビジョンにロールバックされたことを発見しました。残りの3台のインスタンスは最新のアプリケーションリビジョンを実行しています。
この現象の原因として考えられるのは何ですか?
- A. 影響を受けた2台のインスタンスが新しいデプロイメントを取得できませんでした。
- B. 失敗したAfterInstallライフサイクルイベントフックにより、CodeDeployエージェントが影響を受けたインスタンス上で以前のバージョンへロールバックしました。
- C. 影響を受けた2台のインスタンスにCodeDeployエージェントがインストールされていません。
- D. 新規デプロイメントが完了する前にEC2 Auto Scalingが2台の新規インスタンスを起動し、それらに以前のバージョンがデプロイされました。
この問題を見る →
-
Q3. ある企業は、ファイルアップロードアプリケーションを運用しており、ファイルをAmazon EC2インスタンス上で実行されるデータベースに保存しています。法規制により、企業は特定の時刻にEC2インスタンス上のファイルを毎日削除する必要があります。また、企業は60日を超えるデータベースレコードを削除する必要があります。
データベースレコードの削除は、ファイル削除の後に行う必要があります。企業は、ファイルおよびデータベースレコードを削除するスクリプトを作成しました。この削除スクリプトが失敗した場合、企業は電子メール通知を受信する必要があります。
これらの要件を最小限の開発工数で満たすソリューションはどれですか?
- A. AWS Systems Manager State Managerを使用して、指定時刻にSystems Manager Automationドキュメントを自動呼び出しします。Automationドキュメントを、Run Commandを使用して順次削除スクリプトを実行するように構成します。Amazon EventBridgeルールを作成し、Amazon Simple Notification Service (Amazon SNS)を介して失敗通知を企業に送信します。
- B. AWS Systems Manager State Managerを使用して、指定時刻にSystems Manager Automationドキュメントを自動呼び出しします。Automationドキュメントを、Run Commandを使用して順次削除スクリプトを実行するように構成します。Automationドキュメント内にエラー検出の最終ステップとして条件文を作成し、Amazon Simple Email Service (Amazon SES)を使用して障害通知を電子メールで企業に送信します。
- C. 指定時刻にAWS Lambda関数を呼び出すAmazon EventBridgeルールを作成します。Lambda関数のリソースベースポリシーに必要な呼び出し権限を追加します。Lambda関数を、順次削除スクリプトを実行するように構成します。Lambda関数を、Amazon Simple Notification Service (Amazon SNS)を介して失敗通知を企業に送信するように構成します。
- D. 指定時刻にAWS Lambda関数を呼び出すAmazon EventBridgeルールを作成します。Lambda関数のリソースベースポリシーに必要な呼び出し権限を追加します。Lambda関数を、順次削除スクリプトを実行するように構成します。Lambda関数を、Amazon Simple Email Service (Amazon SES)を使用して失敗通知を電子メールで企業に送信するように構成します。
この問題を見る →
-
Q4. 開発チームが、フルスタックサーバーレスWebアプリケーションを構築しています。このサーバーレスアプリケーションは、バックエンドのREST APIと、シングルページアプリケーション(SPA)フレームワークで構築されたフロントエンドで構成されます。
チームは、Gitベースのワークフローを用いた開発およびデプロイを希望しています。チームは、アプリケーションコードを格納するためにAWS CodeCommitリポジトリを作成しました。複数の開発ブランチを用いて新機能のテストを行いたいと考えています。さらに、開発ブランチ上のコード変更を異なる開発環境にデプロイしたいと考えています。また、mainブランチへのコード変更は、自動的に本番環境にリリースされる必要があります。
開発およびデプロイのタイミングでは、アプリケーションのメインドメインのサブドメインが提供され、このドメインはAmazon Route 53のパブリックホステッドゾーンでホストされています。
DevOpsエンジニアは、これらの要件を満たすために何を行うべきですか?
- A. AWS Amplifyコンソールでアプリケーションを作成し、CodeCommitリポジトリを接続します。各環境に対して機能ブランチデプロイを作成します。Route 53ドメインをアプリケーションに接続し、サブドメインの自動作成を有効化します。
- B. CodeCommitリポジトリをソースとするAWS CodePipelineパイプラインを作成します。パイプラインを、変更されたブランチに基づいて異なる環境へデプロイするように構成します。ソースブランチ名に基づいて新しいサブドメインを作成するAWS Lambda関数を作成し、デプロイワークフロー内でこのLambda関数を呼び出します。
- C. CodeCommitリポジトリをソースとするAWS Elastic Beanstalkアプリケーションを作成します。Elastic Beanstalkを、変更されたブランチに基づいて新しいアプリケーション環境を作成するように構成します。Route 53ドメインをアプリケーションに接続し、サブドメインの自動作成を有効化します。
- D. CodeCommitリポジトリをソースとする複数のAWS CodePipelineパイプラインを作成します。各パイプラインを、構成されたブランチに基づいて特定の環境へデプロイするように構成します。パイプライン内でAWS CodeDeployステップを構成し、アプリケーションコンポーネントをデプロイし、Route 53パブリックホステッドゾーンを作成します。
この問題を見る →
-
Q5. 米国に本社を置く小売企業は、今後6か月以内に欧州およびアジア市場への事業拡大を計画しています。現在のアプリケーションはApplication Load Balancerの背後でAmazon EC2インスタンス上に実行されており、複数の可用性ゾーンにまたがるAmazon EC2 Auto Scalingグループで動作しています。アプリケーションデータはすべてAmazon Auroraデータベースインスタンスに保存されています。
アプリケーションを複数のリージョンにデプロイする際、企業はすべてのリージョンで単一の製品カタログを共有したいと考えていますが、コンプライアンス要件により、顧客情報および購入情報は各リージョンにローカルに保存する必要があります。
- A. 製品カタログにはAmazon Redshiftを使用し、顧客情報および購入情報にはAmazon DynamoDBテーブルを使用します。
- B. 製品カタログにはAmazon DynamoDBグローバルテーブルを使用し、顧客情報および購入情報にはリージョン固有のテーブルを使用します。
- C. 製品カタログにはAuroraの読み取り専用レプリカを使用し、各リージョンで顧客情報および購入情報用に追加のローカルAuroraインスタンスを使用します。
- D. 製品カタログにはAuroraを使用し、顧客情報および購入情報にはAmazon DynamoDBグローバルテーブルを使用します。
この問題を見る →
-
Q6. ある企業は、自社のEC2インスタンスのセキュリティを確保したいと考えています。インスタンス上で新たに発見された脆弱性について通知を受け取りたいほか、インスタンス上のすべてのログイン活動を監査追跡したいと考えています。
- A. AWS Systems Managerを使用してEC2インスタンス上の脆弱性を検出します。Amazon Kinesis Agentをインストールしてシステムログをキャプチャし、Amazon S3に送信します。
- B. AWS Systems Managerを使用してEC2インスタンス上の脆弱性を検出します。Systems Manager Agentをインストールしてシステムログをキャプチャし、CloudTrailコンソールでログイン活動を確認します。
- C. Amazon CloudWatchを使用してEC2インスタンス上の脆弱性を検出します。AWS Configデーモンをインストールしてシステムログをキャプチャし、AWS Configコンソールでそれらを表示します。
- D. Amazon Inspectorを使用してEC2インスタンス上の脆弱性を検出します。Amazon CloudWatch Agentをインストールしてシステムログをキャプチャし、Amazon CloudWatch Logsに記録します。
この問題を見る →
-
Q7. 開発者チームがアプリケーションのインフラストラクチャを管理しています。このアプリケーションは、長時間実行されるプロセスを使用して、Amazon Simple Queue Service(SQS)キューからアイテムを処理します。アプリケーションはAuto Scalingグループにデプロイされています。
最近発生した問題として、アイテムの処理時間が長くなりすぎています。キューが予期を超えて膨張し、さまざまなビジネスプロセスが正常に動作しなくなっています。アプリケーションはサードパーティツールにログを記録しています。
チームは現在、Amazon Simple Notification Service(Amazon SNS)トピックをサブスクライブしており、アラート通知に使用しています。キューが予期を超えて膨張した場合、チームに通知する必要があります。
これらの要件を最も効果的に満たすソリューションはどれですか?
- A. 1時間周期のAmazon CloudWatchメトリクスアラームを作成し、平均値が予期値を超えた場合に静的しきい値を設定します。アラームをSNSトピックに通知するように構成します。
- B. 1時間周期のAmazon CloudWatchメトリクスアラームを作成し、静的しきい値を設定して、メトリクス値の合計が予期値を超えた場合にアラームを発火させます。アラームをSNSトピックに通知するように構成します。
- C. 近似メッセージ数(ApproximateNumberOfMessagesVisible)をSQSキュー属性から取得し、それを新しいCloudWatchカスタムメトリクスとして公開するAWS Lambda関数を作成します。Amazon EventBridgeルールを作成し、5分ごとにLambda関数を呼び出すようにスケジュールします。新しいカスタムメトリクスの合計値が予期値を超えた場合、1時間のCloudWatchメトリクスアラームと静的しきい値アラームを設定します。
- D. 近似メッセージ遅延(ApproximateAgeOfOldestMessage)をSQSキュー属性からチェックし、関数内で定義された予期サイズと比較するAWS Lambda関数を作成します。Amazon EventBridgeルールを作成し、5分ごとにLambda関数を呼び出すようにスケジュールします。近似メッセージ遅延が予期サイズを超えた場合、SNSトピックに通知を送信します。
この問題を見る →
-
Q8. ある企業がAmazon EC2インスタンス上でアプリケーションを実行しています。アプリケーションのメタデータはAmazon S3に保存されており、インスタンスの再起動時に取得されます。インスタンスが停止した場合、インスタンスは再起動または自動的に再起動されます。
- A. StatusCheckFailedメトリクスに対してAmazon CloudWatchアラームを作成します。復旧アクションとしてインスタンスを停止および起動します。インスタンスが復旧して実行中になった時点で、S3イベント通知を用いてメタデータをインスタンスにプッシュします。
- B. AWS OpsWorksを構成し、自動修復機能を用いてインスタンスを停止および起動します。OpsWorksのライフサイクルイベントを用いて、Amazon S3からメタデータを取得し、インスタンス上で更新します。
- C. EC2 Auto Recoveryを用いて、障害発生時に自動的にインスタンスを停止および起動します。インスタンスが復旧して実行中になった時点で、S3イベント通知を用いてメタデータをインスタンスにプッシュします。
- D. AWS CloudFormationを使用して、UserData属性を含むEC2インスタンスを作成します。UserData内に、Amazon S3からアプリケーションメタデータを取得するコマンドを追加します。
この問題を見る →
-
Q9. ある企業が最近、アプリケーションのレスポンスをAWSに移行しました。アプリケーションはApplication Load Balancer(ALB)の後ろで実行されるAmazon EC2インスタンス上にホストされており、ALBはAmazon API Gatewayの後ろに配置されています。企業は、新しいアプリケーションバージョンをデプロイする際にユーザーへの中断を最小限に抑えたいと考えています。また、問題が発生した場合に迅速にロールバックできるようにしたいと考えています。
これらの要件を満たし、アプリケーションへの変更を最小限に抑えるソリューションはどれですか?
- A. 変更を既存環境と並行して独立した環境として導入します。API GatewayをCanaryリリースデプロイメントを使用するように設定し、新環境に少量のユーザー トラフィックを送信します。
- B. 変更を既存環境と並行して独立した環境として導入します。アプリケーションのDNSエイリアスレコードを更新して、新環境を指すようにします。
- C. 変更を既存のApplication Load Balancerの背後にある別個のターゲットグループとして導入します。API Gatewayを構成して、ユーザー トラフィックを段階的に新しいターゲットグループにルーティングします。
- D. 変更を既存のApplication Load Balancerの背後にある別個のターゲットグループとして導入します。API Gatewayを構成してすべてのトラフィックをApplication Load Balancerにルーティングし、その後ALBがトラフィックを新しいターゲットグループに送信します。
この問題を見る →
-
Q10. ある企業が、オンプレミスのデータセンターからハイブリッド環境へソフトウェア開発チームを移行しています。新しい環境では4つのAWSリージョンを含み、開発者が地理的に最も近いリージョンを利用できるようになります。
すべての開発チームは共通のLinuxアプリケーションセットを使用します。現在のデータセンターでは、これらのアプリケーションがネットワークファイルシステム(NFS)サーバー上に保存されています。ストレージは、開発用VM内にマウントされた読み取り専用共有ボリュームです。企業は週1回、共有ボリューム上のアプリケーションを更新します。
DevOpsエンジニアは、データを新しい各リージョンにレプリケートする必要があります。また、データが常に最新であることを保証し、オンプレミスのストレージデバイスへの依存を排除しなければなりません。
- A. オンプレミスのデータセンターにAmazon S3 File Gatewayを作成します。各リージョンにS3バケットを作成します。CRONジョブを設定して、ストレージデバイスからS3 File Gatewayへデータをコピーします。各リージョンでS3クロスリージョンレプリケーション(CRR)をS3バケットへ設定します。
- B. 1つのリージョンにAmazon FSx File Gatewayを作成します。各リージョンのWindowsファイルサーバー用にAmazon FSxでファイルサーバーを作成します。CRONジョブを設定して、ストレージデバイスからFSx File Gatewayへデータをコピーします。
- C. 各リージョン向けにNetApp ONTAPを活用したマルチAZ Amazon FSxを作成します。オンプレミスのストレージデバイスとFSx間で、オンデマンドインスタンスが利用可能な予約済みスナップショットミラー関係を構成します。
- D. 各リージョンにAmazon Elastic File System(Amazon EFS)ファイルシステムを作成します。オンプレミスのデータセンターにAWS DataSyncエージェントを展開します。毎日のスケジュールを設定して、DataSyncがデータをAmazon EFSへレプリケートするようにします。
この問題を見る →
-
Q11. ある企業は単一のAWSアカウントを1つのAWSリージョンで運用しており、数百台のAmazon EC2インスタンスを実行しています。同社は毎日多数の新しいEC2インスタンスを起動・終了させています。このアカウントには、1週間以上継続して実行される既存のEC2インスタンスも含まれます。
セキュリティポリシーでは、実行中のすべてのEC2インスタンスにEC2インスタンスプロファイルがアタッチされている必要があります。企業は既にデフォルトのEC2インスタンスプロファイルを作成済みであり、このデフォルトプロファイルは、プロファイルがアタッチされていない任意のEC2インスタンスに自動的にアタッチされるように設定されています。
- A. Amazon EC2のRunInstances API呼び出しに一致するAmazon EventBridgeルールを設定します。このルールを、デフォルトのインスタンスプロファイルをEC2インスタンスにアタッチするAWS Lambda関数を呼び出すように構成します。
- B. AWS Configを設定します。AWS ConfigのEC2インスタンスプロファイルアタッチ管理ルールをデプロイします。自動修復アクションを構成し、AWS Systems Manager Automationランブックを呼び出してデフォルトのインスタンスプロファイルをEC2インスタンスにアタッチします。
- C. Amazon EC2のStartInstances API呼び出しに一致するAmazon EventBridgeルールを設定します。このルールを、AWS Systems Manager Automationランブックを呼び出してデフォルトのインスタンスプロファイルをEC2インスタンスにアタッチするように構成します。
- D. AWS Configを設定します。AWS Configのロール管理ポリシーチェック管理ルールをデプロイします。自動修復アクションを構成し、デフォルトのインスタンスプロファイルをEC2インスタンスにアタッチするAWS Lambda関数を呼び出します。
この問題を見る →
-
Q12. ある企業のアプリケーション開発チームは、LinuxベースのAmazon EC2インスタンスをバステーションホストとして使用しています。バステーションホストへのSSHアクセスは、セキュリティグループで指定された特定のIPアドレスに制限されています。セキュリティグループルールを変更して、任意のIPアドレスからのSSHアクセスを許可した場合、セキュリティチームは通知を受け取ることを望んでいます。
- A. aws.cloudtrailソースおよびイベント名AuthorizeSecurityGroupIngressを使用してAmazon EventBridge(Amazon CloudWatch Events)ルールを作成します。Amazon Simple Notification Service(Amazon SNS)トピックをターゲットとして定義します。
- B. Amazon GuardDutyを有効化し、AWS Security Hub内のセキュリティグループ結果を確認します。GuardDutyイベントをNON_COMPLIANT出力と一致させるカスタムパターンでAmazon EventBridge(Amazon CloudWatch Events)ルールを構成します。Amazon Simple Notification Service(Amazon SNS)トピックをターゲットとして定義します。
- C. セキュリティグループが制限のない受信SSHトラフィックを許可しないことをチェックするためのAWS Configルールとして、restricted-sshマネージドルールを作成します。自動修復を構成して、メッセージをAmazon Simple Notification Service(Amazon SNS)トピックに公開します。
- D. Amazon Inspectorを有効化します。バステーションホストに関連付けられたセキュリティグループをチェックするため、Common Vulnerabilities and Exposures-1.1ルールパッケージを含めます。Amazon InspectorがメッセージをAmazon Simple Notification Service(Amazon SNS)トピックに公開するように設定します。
この問題を見る →
-
Q13. DevOpsエンジニアは、AWS Lambda関数を使用するサーバーレスアプリケーション向けに継続的デプロイパイプラインを構築しています。企業は、デプロイ失敗による顧客への影響を最小限に抑えたいと考えています。また、問題をモニタリングしたいと考えています。
- A. AWS Serverless Application Model(AWS SAM)テンプレートを使用してサーバーレスアプリケーションを定義します。AWS CodeDeployでCanary10Percent15Minutesデプロイメントプリファレンスタイプを使用してLambda関数をデプロイします。Amazon CloudWatchアラームを使用して関数の健全性をモニタリングします。
- B. AWS CloudFormationを使用して新しいスタック更新をリリースし、すべてのリソースにAmazon CloudWatchアラームを含めます。開発者向けにAWS CodePipelineの承認操作を設定して、AWS CloudFormationの変更セットを検証および承認します。
- C. AWS CloudFormationを使用して、各スタック更新時に新バージョンをリリースし、すべてのリソースにAmazon CloudWatchアラームを含めます。スタック更新中にトラフィックルーティングを更新するために、AWS::Lambda::AliasリソースのRoutingConfigプロパティを使用します。
- D. AWS CodeBuildを使用して、Lambda関数のテスト用サンプルイベントペイロードを追加します。新バージョンの関数をリリースし、Amazon CloudWatchアラームを含めます。本番エイリアスを新バージョンを指すように更新します。アラームがALARM状態になった場合にロールバックを実行するように構成します。
この問題を見る →
-
Q14. ある企業はAWS Organizationsを使用して複数のAWSアカウントを管理しています。同社はAWS CloudFormation StackSetsを使用して、各メンバー アカウントでAWS Configを有効化しています。Organizations内でAWS Configの信頼アクセスを設定し、メンバー アカウントの1つをAWS Configの委任管理者アカウントとして設定しています。
DevOpsエンジニアは新たなセキュリティポリシーを実装する必要があります。このポリシーは、現在および将来のすべてのAWSメンバー アカウントが共通のAWS Configルール基盤を使用することを要求し、その基盤には中央アカウントが管理する修復措置が含まれます。メンバー アカウントへのアクセスを持つ非管理者ユーザーは、各メンバー アカウントにデプロイされたAWS Configルールのこの共通基盤を変更できないようにする必要があります。
- A. AWS Configルールおよび修復措置を含むCloudFormationテンプレートを作成します。OrganizationsのマスターアカウントからCloudFormation StackSetsを使用してテンプレートをデプロイします。
- B. AWS Configルールおよび修復措置を含むAWS Configコンプライアンスパックを作成します。OrganizationsのマスターアカウントからCloudFormation StackSetsを使用してパックをデプロイします。
- C. AWS Configルールおよび修復措置を含むCloudFormationテンプレートを作成します。委任管理者アカウントからAWS Configを使用してテンプレートをデプロイします。
- D. AWS Configルールおよび修復措置を含むAWS Configコンプライアンスパックを作成します。委任管理者アカウントからAWS Configを使用してパックをデプロイします。
この問題を見る →
-
Q15. ある企業はAWS CodeDeployアプリケーションを運用しています。アプリケーションはデプロイグループを使用しており、このデプロイグループはタグベースでアプリケーションをデプロイするEC2インスタンスを選択します。現在の単一タググループは、環境=本番および名前=アプリケーションというタグを持つインスタンスを対象としています。
- A. 現在の単一タググループを変更し、環境=本番タグのみを含めるようにします。別の単一タググループを追加し、名前=アプリケーションタグのみを含めるようにします。
- B. 現在の単一タググループを変更し、部門=マーケティング、環境=本番、および名前=アプリケーションタグを含めるようにします。
- C. 別の単一タググループを追加し、部門=マーケティングタグのみを含めるようにします。環境=本番および名前=アプリケーションタグは現在の単一タググループに残します。
- D. 現在の単一タググループを変更し、環境=本番タグのみを含めるようにします。別の単一タググループを追加し、部門=マーケティングタグのみを含めるようにします。
この問題を見る →
-
Q16. ある企業が、API経由で受信した注文を処理するAWS Lambda関数を開発しました。同社はAWS CodeDeployを使用して、CI/CDパイプラインの最終ステップとしてLambda関数をデプロイしています。DevOpsエンジニアは、デプロイ直後の数秒間に注文APIで一時的な障害が発生することに気づきました。調査の結果、この障害はLambda関数が呼び出される前にデータベースの変更が完全に伝播していないことが原因であると判明しました。DevOpsエンジニアはこの問題をどのように解決すべきですか?
- A. AppSpecファイルにBeforeAllowTrafficフックを追加し、トラフィックが新しいLambda関数バージョンに流れ始める前に、必要なデータベース変更をテストおよび待機します。
- B. AppSpecファイルにAfterAllowTrafficフックを追加し、新しいLambda関数バージョンが応答を許可される前に、保留中のデータベース変更を待機するように強制します。
- C. AppSpecファイルにBeforeInstallフックを追加し、新しいLambda関数バージョンをデプロイする前に、必要なデータベース変更をテストおよび待機します。
- D. AppSpecファイルにValidateServiceフックを追加し、着信トラフィックをチェックし、データベースなどの依存サービスが準備できていない場合にペイロードを拒否します。
この問題を見る →
-
Q17. ある企業が、組織のルートアカウントを使用して組織全体のアクセス管理を実施しています。組織のルートは1つの子OU(Organization Unit)を持ち、その子OUにはさらに「エンジニアリング」という名前の別の子OUがあります。ルート、親OU、およびエンジニアリングOUの各レベルに、デフォルトのアクセスポリシーがアタッチされています。
企業はエンジニアリングOU内に多数のAWSアカウントを保有しており、各アカウントには管理情報システム(MIS)があり、MISへのアクセスを許可するポリシーがアタッチされています。また、各アカウントにはデフォルトの実行ポリシーがアタッチされています。
あるエンジニアが、エンジニアリングOUで「静的Webサイトホスティングアクセスポリシー」を削除することを計画しています。このエンジニアは、Amazon EC2 API操作に対する許可ステートメントのみを含む新しいポリシーに置き換えます。
この変更後、MISロールのアクセス制限はどのように影響を受けますか?
- A. すべてのリソースに対するすべてのAPI操作が許可されます。
- B. EC2リソースに対するすべてのAPI操作が許可されます。他のすべてのAPI操作は拒否されます。
- C. すべてのリソースに対するすべてのAPI操作が拒否されます。
- D. EC2リソースに対するすべてのAPI操作が拒否されます。他のすべてのAPI操作が許可されます。
この問題を見る →
-
Q18. ある企業がAmazon EC2インスタンス上でアプリケーションを実行しています。DevOpsエンジニアは、アプリケーションログを中央集約システムに収集し、アプリケーションチームが検索できるようにする必要があります。重大なエラーメッセージが定期的にログファイルに出現します。これらのエラーメッセージが発生した際には、DevOpsエンジニアがメールでアプリケーションチームに通知する必要があります。
これらの要件を最も効率的に満たすソリューションはどれですか?
- A. EC2インスタンス上で統合Amazon CloudWatch Agentを構成し、アプリケーションログファイルをCloudWatch Logsグループに送信します。CloudWatch Logsグループ上でメトリクスフィルターを設定して重大なエラーを検出し、カスタムメトリクスを作成します。Amazon Simple Notification Service(Amazon SNS)トピックを作成します。CloudWatchアラームを設定し、カスタムメトリクスに基づいてSNSトピックに通知します。アプリケーションチームのメールアドレスをSNSトピックにサブスクライブさせます。
- B. EC2インスタンスにAmazon Kinesis Agentをインストールします。ログファイルの場所を指定してKinesis Agentを構成します。ログをKinesis Data Firehose配信ストリームにストリーミングし、そのストリームの宛先をAmazon CloudWatch Metricsストリームに設定します。AWS Lambda関数を構成してエラーメッセージを検出し、カスタムメトリクスを作成します。Lambda関数をストリームに関連付けます。Amazon Simple Notification Service(Amazon SNS)トピックを作成します。CloudWatchアラームを設定し、カスタムメトリクスに基づいてSNSトピックに通知します。アプリケーションチームのメールアドレスをSNSトピックにサブスクライブさせます。
- C. EC2インスタンスにAWS X-Rayデーモンをインストールします。AWS Distro for Open-Telemetry(ADOT)を使用してアプリケーションをトレース可能にします。カスタムログファイルの場所とAmazon CloudWatch Logsグループの名前を指定してADOTコレクターを構成します。CloudWatch埋め込みメトリクス形式を使用してエラーメッセージに基づくカスタムメトリクスを生成します。Amazon Simple Notification Service(Amazon SNS)トピックを作成します。CloudWatchアラームを設定し、カスタムメトリクスに基づいてSNSトピックに通知します。アプリケーションチームのメールアドレスをSNSトピックにサブスクライブさせます。
- D. EC2インスタンス上で統合Amazon CloudWatch Agentを構成し、アプリケーションログファイルをCloudWatch Logsグループに送信します。Amazon OpenSearch Serviceドメインを作成します。CloudWatch LogsグループをOpenSearch Serviceドメインにサブスクライブさせます。Amazon Simple Notification Service(Amazon SNS)トピックを作成します。OpenSearch Serviceアラートモニターを構成し、SNSトピックに通知します。アプリケーションチームのメールアドレスをSNSトピックにサブスクライブさせます。
この問題を見る →
-
Q19. ある企業が最近別の企業を買収しました。買収された企業を既存のAWS Organizationsに追加し、新しい組織単位(OU)として統合することになりました。
ある開発者エンジニアが、買収された企業が自社アプリケーションのワークロードに対応するためにT3インスタンスタイプのAmazon EC2インスタンスを起動する必要があることを確認しました。買収された企業は、米国(US)リージョンのみでこれらのインスタンスを展開する必要があります。
エンジニアは、買収された企業の新しいOUに対してService Control Policy(SCP)を適用し、T3インスタンスタイプのみを起動できるように制限する必要があります。
これらの要件を満たすソリューションはどれですか?
- A. EC2:RunInstancesアクションを、EC2:InstanceType条件がT3と等しくない場合にすべてのEC2インスタンスリソースに対して拒否するステートメントを設定します。別のステートメントを設定し、aws:RequestedRegion条件がus-*と等しくない場合に、すべてのEC2インスタンスリソースに対してEC2:RunInstancesアクションを拒否します。
- B. EC2:RunInstancesアクションを、EC2:InstanceType条件がT3と等しくない場合にすべてのEC2インスタンスリソースに対して許可するステートメントを設定します。別のステートメントを設定し、aws:RequestedRegion条件がus-*と等しくない場合に、すべてのEC2インスタンスリソースに対してEC2:RunInstancesアクションを許可します。
- C. EC2:RunInstancesアクションを、EC2:InstanceType条件がT3と等しい場合にすべてのEC2インスタンスリソースに対して拒否するステートメントを設定します。別のステートメントを設定し、aws:RequestedRegion条件がus-*と等しい場合に、すべてのEC2インスタンスリソースに対してEC2:RunInstancesアクションを拒否します。
- D. EC2:RunInstancesアクションを、EC2:InstanceType条件がT3と等しい場合にすべてのEC2インスタンスリソースに対して許可するステートメントを設定します。別のステートメントを設定し、aws:RequestedRegion条件がus-*と等しい場合に、すべてのEC2インスタンスリソースに対してEC2:RunInstancesアクションを許可します。
この問題を見る →
-
Q20. ある企業がAWS Organizations内で組織単位(OU)を使用してAWSアカウントを管理しています。同社の自動化アカウントには、新しいAWSアカウントの作成および設定を行うCI/CDパイプラインが含まれています。
同社には、組織内のアカウントにサービスを提供する内部サービスチームがあり、一連のサービスアカウントを介して運用されています。CreateAccount API呼び出しによって新しいアカウントが作成された際に、サービスチームはサービスアカウント内でAWS CloudTrailイベントを受信したいと考えています。
企業は、このCloudTrailイベントをサービスアカウントとどのように共有すべきですか?
- A. 自動化アカウントでAmazon EventBridgeルールを作成し、アカウント作成イベントをサービスアカウントのデフォルトイベントバスに送信します。サービスアカウントのデフォルトイベントバスのリソースポリシーを更新し、自動化アカウントからのイベントを許可します。
- B. サービスアカウントでカスタムのAmazon EventBridgeイベントバスを作成します。カスタムイベントバスを更新し、自動化アカウントからのイベントを許可します。サービスアカウントでEventBridgeルールを作成し、自動化アカウントから直接CloudTrailイベントをリッスンします。
- C. 自動化アカウントおよびサービスアカウントでカスタムのAmazon EventBridgeイベントバスを作成します。自動化アカウントとサービスアカウントのカスタムイベントバスを接続するEventBridgeルールおよびポリシーを作成します。
- D. 自動化アカウントでカスタムのAmazon EventBridgeイベントバスを作成します。カスタムイベントバスをサービスアカウントのデフォルトイベントバスに接続するEventBridgeルールおよびポリシーを作成します。
この問題を見る →
-
Q21. ある企業がAWS Organizations内で組織単位(OU)を使用してAWSアカウントを管理しています。開発者エンジニアは、組織内の異なるUSリージョンのアカウントを複数管理する必要があります。対象となるリソース(例:あるアカウント内のIAMポリシーおよびAmazon S3ポリシー)はすべてAWS CloudFormationテンプレートでデプロイされています。これらのテンプレートおよびコードは、AWS CodeCommitリポジトリに保存されています。最近、一部の開発者が組織内の特定のアカウントでS3バケットへのアクセスができなくなりました。
以下のポリシーがS3バケットにアタッチされています:
開発者エンジニアは、このアクセス問題を解決するために何を行うべきですか?
- A. S3バケットポリシーを修正します。S3バケット上のS3 Block Public Access設定を無効にします。S3ポリシーにaws:SourceAccount条件を追加し、この問題に直面しているすべての開発者のAWSアカウントIDを指定します。
- B. IAMパーミッション境界が開発者のS3バケットへのアクセスを拒否していないか確認します。必要に応じてIAMパーミッション境界を変更します。問題が発生している個々の開発者アカウントでAWS Config Recorderを使用して、アクセスをブロックしている可能性のある変更を復元します。修正をCodeCommitリポジトリにコミットし、CloudFormationデプロイを呼び出して変更を適用します。
- C. 誰も開発者OU内のIAMリソースを変更できないようにするSCPを設定します。S3ポリシーにaws:SourceAccount条件を追加し、この問題に直面しているすべての開発者のAWSアカウントIDを指定します。修正をCodeCommitリポジトリにコミットし、CloudFormationデプロイを呼び出して変更を適用します。
- D. SCPが開発者のS3バケットへのアクセスをブロックしていないことを確認します。IAMポリシーのパーミッション境界が開発者のIAMユーザーへのアクセスを拒否していないことを確認します。CodeCommitリポジトリ内のSCPおよびIAMポリシーのパーミッション境界について必要な変更を行い、CloudFormationデプロイを呼び出して変更を適用します。
この問題を見る →
-
Q22. DevOpsエンジニアが、AWS上で画像処理クラスターを実装する際のコスト最適化方法を調査しています。このアプリケーションはDockerコンテナでは実行できず、Amazon EC2上で実行する必要があります。画像処理ジョブはNFS上にチェックポイントデータを保存し、中断を許容します。EC2 Linuxイメージ上でクラスターソフトウェアを構成するには30分かかります。
- A. チェックポイントデータにAmazon EFSを使用します。この作業を完了するために、EC2 Auto Scalingグループとオンデマンド価格モデルを使用して一時的にEC2インスタンスを構成します。
- B. EC2インスタンス上でGlusterFSを使用してチェックポイントデータを取得します。バッチジョブを実行するために、手動でEC2インスタンスを構成します。ジョブが完了したら、手動でインスタンスを停止します。
- C. チェックポイントデータにAmazon EFSを使用します。EC2 Fleetを使用してEC2 Spotインスタンスを起動し、ユーザーデータを利用して起動時にEC2 Linuxインスタンスを構成します。
- D. チェックポイントデータにAmazon EFSを使用します。EC2 Fleetを使用してEC2 Spotインスタンスを起動します。クラスター用のカスタムAMIを作成し、インスタンス作成時に最新のAMIを使用します。
この問題を見る →
-
Q23. ある企業が、複数の可用性ゾーンにまたがるWebアプリケーションを実行しています。同社はApplication Load Balancer(ALB)を使用してトラフィックをルーティングし、AWS WAFによるアプリケーション層の保護およびAmazon CloudFrontによるコンテンツ配信を行っています。同社はAWS CloudFormationテンプレートを使用してアプリケーションをデプロイしています。同社は、同一AWSアカウントおよび同一AWSリージョン内のAmazon Elastic Container Registry(Amazon ECR)リポジトリに、アプリケーションのDockerイメージを保存しています。
ある開発者エンジニアが、別のリージョンにディザスタリカバリ(DR)環境を構築する必要があります。このソリューションは、8時間以内のRTO(Recovery Time Objective)および2時間以内のRPO(Recovery Point Objective)を満たす必要があります。同社は、DockerfileからDockerイメージをビルドするのに2時間以上かかるという制約があります。
- A. CloudFormationテンプレートおよびDockerfileをDRリージョンのAmazon S3バケットにコピーします。AWS Backupを使用してAuroraの跨リージョン毎時スナップショットを自動化します。DR発生時に、最新のDockerイメージをビルドし、DRリージョンのECRリポジトリにアップロードします。最新のAuroraスナップショット、CloudFormationテンプレート、およびECRリポジトリ内のDockerイメージを使用して、新しいCloudFormationスタックを起動します。アプリケーションのDNSレコードを新しいALBを指すように更新します。
- B. CloudFormationテンプレートをDRリージョンのAmazon S3バケットにコピーします。Auroraの自動バックアップの跨リージョンレプリケーションを構成します。ECRの跨リージョンレプリケーションを構成します。DR発生時に、最新のAuroraスナップショットおよびローカルECRリポジトリ内のDockerイメージを用いたCloudFormationテンプレートで、DRリージョンに新しいCloudFormationスタックを起動します。アプリケーションのDNSレコードを新しいALBを指すように更新します。
- C. CloudFormationテンプレートをDRリージョンのAmazon S3バケットにコピーします。Amazon EventBridge Schedulerを使用して、AWS Lambda関数を毎時実行し、ECRリポジトリおよびAuroraデータベースの最新スナップショットを取得します。スナップショットおよびDockerイメージをDRリージョンにコピーします。DR発生時に、最新のAuroraスナップショットおよびローカルECRリポジトリ内のDockerイメージを用いたCloudFormationテンプレートで、DRリージョンに新しいCloudFormationスタックを起動します。
- D. CloudFormationテンプレートをDRリージョンのAmazon S3バケットにコピーします。DRリージョンに2番目のアプリケーションクラウドスタックをデプロイします。Auroraをグローバルデータベースとして再構成します。現在のリージョンで新しいアプリケーションをリリースする際には、両方のCloudFormationスタックを更新します。DNS切り替え時に、アプリケーションのDNSレコードを新しいALBを指すように更新します。
この問題を見る →
-
Q24. DevOpsチームが企業のAWSアカウントを管理しています。企業は、特定のAWSリソースの構成変更を自動的に復元することを保証したいと考えています。
- A. AWS Configルールを使用してリソース構成の変更を検出し、AWS Systems Manager Automationドキュメントを用いた修復アクションを構成して構成変更を復元します。
- B. Amazon CloudWatchアラームを使用してリソースのメトリクスを監視します。アラームがアクティブになった後に、Amazon Simple Notification Service(Amazon SNS)トピックを使用して管理者に通知し、手動で構成変更を復元します。
- C. AWS CloudFormationを使用して、必要な構成変更をデプロイするスタックを作成します。構成変更を復元する必要があるときにスタックを更新します。
- D. AWS Trusted Advisorを使用して非準拠の構成をチェックし、Trusted Advisorの推奨事項に基づいて手動で必要な変更を適用します。
この問題を見る →
-
Q25. DevOpsエンジニアは、AWS Trusted AdvisorがパブリックソースコードリポジトリでIAMアクセスキーを検出した場合に自動応答を実装したいと考えています。この自動応答は、暴露されたアクセスキーを削除し、セキュリティチームに通知する必要があります。
- A. IAMアクセスキーを削除するAWS Lambda関数を作成します。AWS CloudTrailログをAmazon CloudWatch Logsにストリーミングするように設定します。AWS_RISK_CREDENTIALS_EXPOSEDイベントに対してCloudWatch Logsのメトリクスフィルタを作成し、2つのアクションを設定します。まずLambda関数を実行し、次にAmazon Simple Notification Service(Amazon SNS)を使用してセキュリティチームに通知します。
- B. IAMアクセスキーを削除するAWS Lambda関数を作成します。AWS Configルールを「aws.trustedadvisor」と「Exposed Access Keys」のステータス変更に対して作成します。まずLambda関数を実行し、次にAmazon Simple Notification Service(Amazon SNS)を使用してセキュリティチームに通知します。
- C. IAMアクセスキーを削除するAWS Lambda関数を作成し、その後Amazon Simple Notification Service(Amazon SNS)でセキュリティチームに通知します。AWS_RISK_CREDENTIALS_EXPOSEDイベントに対してAWS Personal Health Dashboardルールを作成し、そのターゲットとしてLambda関数のARNを設定します。
- D. IAMアクセスキーを削除するAWS Lambda関数を作成します。Amazon EventBridge(Amazon CloudWatch Events)ルールを「aws.trustedadvisor」イベントソースと「Exposed Access Keys」ステータスで作成します。EventBridge(CloudWatch Events)ルールのターゲットとしてLambda関数と、セキュリティチームに通知するAmazon Simple Notification Service(Amazon SNS)トピックを設定します。
この問題を見る →
-
Q26. ある企業は、us-east-1リージョン内のAmazon CloudWatch Logsロググループにアプリケーションログを送信しています。同社は、これらのログを週単位でus-east-1からus-west-2リージョンへエクスポートする必要があります。また、ログは両リージョンで暗号化される必要があります。
- A. us-west-2にAmazon S3バケットを作成します。Amazon S3管理の暗号化キー(SSE-S3)を使用してS3バケットのサーバーサイド暗号化を設定します。AWS Lambda関数を作成・スケジュールし、毎週1回実行して前週分のCloudWatchログをus-west-2のS3バケットへエクスポートします。
- B. us-west-2にAmazon S3バケットを作成します。AWS KMSキー(SSE-KMS)を使用してS3バケットのサーバーサイド暗号化を設定します。AWS Lambda関数を作成・スケジュールし、毎週1回実行して前週分のCloudWatchログをus-west-2のS3バケットへエクスポートします。
- C. us-east-1にAmazon S3バケットを作成します。us-west-2にもS3バケットを作成します。Amazon S3管理の暗号化キー(SSE-S3)でサーバーサイド暗号化を設定し、両S3バケットでバージョニングを有効化します。AWS Lambda関数を作成・スケジュールし、毎週1回実行して前週分のCloudWatchログをus-east-1のS3バケットへエクスポートします。us-east-1のS3バケットにレプリケーションルールを設定し、ログをus-west-2のS3バケットへ複製します。
- D. us-east-1にAmazon S3バケットを作成します。us-west-2にもS3バケットを作成します。AWS KMSキー(SSE-KMS)でサーバーサイド暗号化を設定し、両S3バケットでバージョニングを有効化します。AWS Lambda関数を作成・スケジュールし、毎週1回実行して前週分のCloudWatchログをus-east-1のS3バケットへエクスポートします。us-east-1のS3バケットにレプリケーションルールを設定し、ログをus-west-2のS3バケットへ複製します。
この問題を見る →
-
Q27. ある企業は、パブリックサブネットとプライベートサブネットから構成されるVPCを所有しています。アプリケーションはプライベートサブネット内のAmazon EC2インスタンスで実行され、ロードバランサーはパブリックサブネットに配置され、EC2インスタンスにトラフィックを分散します。同社は、アカウントでAmazon GuardDutyを有効化しています。DevOpsチームは、外部IP範囲リストを毎日更新しており、このリストはアカウントのAmazon S3バケットに保存されています。DevOpsエンジニアは、アプリケーションのトラフィックが外部IP範囲リスト内のIPアドレスから発生した場合にGuardDutyが結果を生成するよう設定する必要があります。
- A. 毎日実行されるAmazon EventBridgeルールを作成し、AWS Lambda関数を呼び出します。Lambda関数を設定して、S3バケットから最新の外部IP範囲リストを取得します。リスト内の各IP範囲に対して、Lambda関数でpublicIpフィルター属性に基づくGuardDuty結果フィルターを作成します。
- B. GuardDutyで脅威リストを設定します。ソースをS3バケット内の外部IP範囲リストに設定します。毎日実行されるAmazon EventBridgeルールを作成し、AWS Lambda関数を呼び出します。Lambda関数を設定して、S3バケット内の外部IP範囲リストに一致するようGuardDutyの脅威リストを更新します。
- C. GuardDutyで信頼済みIPリストを設定します。ソースをS3バケット内の外部IP範囲リストに設定します。毎日実行されるAmazon EventBridgeルールを作成し、AWS Lambda関数を呼び出します。Lambda関数を設定して、S3バケット内の外部IP範囲リストに一致するようGuardDutyの信頼済みIPリストを更新します。
- D. 毎日実行されるAmazon EventBridgeルールを作成し、AWS Lambda関数を呼び出します。Lambda関数を設定して、S3バケットから最新の外部IP範囲リストを取得します。リスト内の各IP範囲に対して、Lambda関数でlocalIpフィルター属性に基づくGuardDuty結果フィルターを作成します。
この問題を見る →
-
Q28. 電子医療記録(EMR)を扱う企業が、Amazon Linuxオペレーティングシステムを実行するAmazon EC2インスタンスのセットを運用しています。患者のプライバシー要件の一環として、同社はEC2インスタンス上で実行されるOSおよびアプリケーションのパッチ適用状況を継続的にコンプライアンスに保つ必要があります。
- A. AWS Systems Managerを使用して、カスタムリポジトリを含む新しいパッチベースラインを作成します。runコマンドでAWS-RunPatchBaselineドキュメントを実行し、パッチの検証およびインストールを行います。
- B. AWS Direct Connectを使用して社内リポジトリと統合し、Amazon CloudWatchスケジュールイベントでパッチを展開し、CloudWatchダッシュボードでレポートを作成します。
- C. yum-config-managerを使用して/etc/yum.repos.d下にカスタムリポジトリを追加し、yum-config-manager-enableコマンドでリポジトリを有効化します。
- D. AWS Systems Managerを使用して、社内リポジトリを含む新しいパッチベースラインを作成します。runコマンドでAWS-AmazonLinuxDefaultPatchBaselineドキュメントを実行し、パッチの検証およびインストールを行います。
この問題を見る →
-
Q29. ある企業は、本番環境および災害復旧(DR)環境を同一AWSリージョンにデプロイしていることを発見しました。本番アプリケーションはすべてAmazon EC2インスタンス上で実行され、AWS CloudFormationによってデプロイされています。これらのアプリケーションはAmazon FSx for NetApp ONTAPストレージを活用しており、EC2インスタンス上にはアプリケーションデータは保持されていません。DevOpsエンジニアは、DRシステムを新しいリージョンへ移行し、CloudFormationコードを更新してリージョンをパラメーターとして受け取れるようにしました。ストレージには10分のRPO(復旧時点目標)が求められます。
- A. 両リージョンにAmazon S3バケットを作成します。S3クロスリージョンレプリケーション(CRR)を設定します。予約されたAWS Lambda関数を作成し、FSxから新規コンテンツを取得して本番リージョンのS3バケットへコピーします。
- B. AWS Backupを使用してバックアップリポジトリと10分間隔のカスタムバックアップ計画を作成します。DRリージョンをターゲットリージョンとして指定し、本番リージョンのEC2インスタンスをバックアップ計画に登録します。
- C. EC2インスタンスに接続されたインスタンスストアボリュームのスナップショットを作成するAWS Lambda関数を作成します。Lambda関数を設定してスナップショットをDRリージョンへコピーし、以前のコピーを削除します。Amazon EventBridgeスケジュールルールを作成し、10分ごとにLambda関数を呼び出します。
- D. Amazon FSx for NetApp ONTAPを構築し、5分間隔のSnapMirrorスケジュールを設定して、本番リージョンからDRリージョンへ容量レベルのデータをレプリケートします。
この問題を見る →
-
Q30. 開発者エンジニアが、AWS CodeDeployおよびAWS CloudFormationを用いたAmazon ECSアプリケーションのブルー/グリーンデプロイメントを構築しています。デプロイ期間中、アプリケーションは高可用性を維持する必要があり、CodeDeployは毎分10%のトラフィックを新バージョンへ徐々に移行し、最終的に全トラフィックを移行します。
- A. デフォルトのCodeDeploy設定を持つAppSpecファイルを追加します。
- B. Aws::CodeDeploy::BlueGreenDeploymentTransformおよび::CodeDeploy::BlueGreenDeploymentHookパラメーターを追加し、CodeDeployデフォルト設定を含めます。
- C. 5分間隔で10%のトラフィック割合を指定したデプロイ構成を持つAppSpecファイルを追加します。
- D. Aws::CodeDeploy::BlueGreenDeploymentTransformおよびAws::CodeDeploy::BlueGreenDeploymentHookパラメーターを追加し、10%のトラフィック割合と5分間隔のデプロイ構成を含めます。
この問題を見る →
-
Q31. ある企業は、従業員に限定されたAWS権限を付与しています。DevOpsエンジニアには管理者ロールが付与されています。監査目的で、セキュリティチームは管理者ロールを引き受ける際にほぼリアルタイムの通知を受け取りたいと考えています。
- A. AWS Configを設定してログをAmazon S3バケットへ送信します。Amazon Athenaでログをクエリし、管理者ロールを引き受けた際にセキュリティチームへ通知します。
- B. Amazon GuardDutyを設定して、管理者ロールの引き受けを監視し、セキュリティチームへ通知します。
- C. AWSマネジメントコンソールログインイベントのイベントパターンを使用してAmazon EventBridge(Amazon CloudWatch Events)ルールを作成し、管理者ロールを引き受けた場合にAmazon SNSトピックへメッセージを発行します。
- D. AWS API呼び出しを使用してAmazon EventBridge(Amazon CloudWatch Events)ルールを作成し、AWS CloudTrailイベントパターンでAWS Lambda関数をトリガーします。このLambda関数は、管理者ロールを引き受けた場合にAmazon SNSトピックへメッセージを発行します。
この問題を見る →
-
Q32. ある企業は、AWS Organizations内の組織のAWSアカウントでアプリケーションを実行しています。これらのアプリケーションはAmazon EC2インスタンスおよびAmazon S3を使用しています。同社は、自社が所有するAWSアカウントおよび自社が作成していない任意のAWSアカウントにおいて、侵害された可能性のあるEC2インスタンス、疑わしいネットワーク活動、異常なAPI活動を検出したいと考えています。検出されたイベントに対して、同社は関連するAmazon Simple Notification Service(Amazon SNS)トピックを使用して運用サポートチームへ調査および是正措置のための通知を送信したいと考えています。
- A. 組織のマスターアカウントで、AWSアカウントをAmazon GuardDutyの管理者アカウントとして設定します。GuardDuty管理者アカウントで、既存のAWSアカウントをGuardDutyメンバーとして追加します。GuardDuty管理者アカウントで、GuardDutyイベントに一致するイベントパターンを使用したAmazon EventBridge(Amazon CloudWatch Events)ルールを作成し、一致したイベントをSNSトピックへ転送します。
- B. 組織のマスターアカウントで、Amazon GuardDutyが新規作成されたAWSアカウントを招待により追加するよう設定し、既存のAWSアカウントへ招待を送信します。GuardDuty招待を承諾するAWS CloudFormationスタックセットを作成し、Amazon EventBridge(Amazon CloudWatch Events)ルールを作成します。イベントパターンを設定してGuardDutyイベントに一致させ、一致したイベントをSNSトピックへ転送します。CloudFormationスタックセットを組織内のすべてのAWSアカウントへデプロイするよう設定します。
- C. 組織のマスターアカウントで、AWS CloudTrailの組織トレースを作成します。組織内のすべてのAWSアカウントで組織トレースを有効化します。組織内の各アカウントでVPCフローログを有効化するサービスコントロールポリシー(SCP)を作成し、組織全体でAWS Security Hubを設定します。Security Hubイベントに一致するイベントパターンを使用したAmazon EventBridge(Amazon CloudWatch Events)ルールを作成し、一致したイベントをSNSトピックへ転送します。
- D. 組織のマスターアカウントで、AWSアカウントをAWS CloudTrail管理者アカウントとして設定します。CloudTrail管理者アカウントで、CloudTrail組織トレースを作成します。既存のAWSアカウントを組織トレースに追加します。組織内の各アカウントでVPCフローログを有効化するSCPを作成し、組織全体でAWS Security Hubを設定します。Security Hubイベントに一致するイベントパターンを使用したAmazon EventBridge(Amazon CloudWatch Events)ルールを作成し、一致したイベントをSNSトピックへ転送します。
この問題を見る →
-
Q33. ある企業が、1つのAWSアカウントで1つのAWSリージョン内で数百のAmazon EC2インスタンスを実行しています。このアカウントでは、常に新しいEC2インスタンスの起動と終了が行われています。また、このアカウントには、1週間以上実行中の既存のEC2インスタンスも含まれています。
企業のセキュリティポリシーでは、実行中のすべてのEC2インスタンスにEC2インスタンスプロファイルを適用することが義務付けられています。インスタンスプロファイルがアタッチされていないEC2インスタンスは、未割り当てのIAM権限を持つデフォルトのインスタンスプロファイルを使用することになります。
DevOpsエンジニアがアカウントを調査したところ、インスタンスプロファイルがアタッチされていないEC2インスタンスが実行されていることが確認されました。さらに、レビュー中に、新しいEC2インスタンスがインスタンスプロファイルなしで起動していることも観察されました。
このリージョン内の現在実行中および今後作成されるすべてのEC2インスタンスにインスタンスプロファイルを確実にアタッチするためのソリューションはどれですか?
- A. Amazon EventBridgeルールを設定し、EC2 RunInstances API呼び出しに応答させます。このルールを、AWS Lambda関数を呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチするように構成します。
- B. AWS Configマネージドルール「ec2-instance-profile-attached」を、構成変更をトリガーとして設定します。自動修復アクションを構成し、AWS Systems Manager Automation runbookを呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチします。
- C. Amazon EventBridgeルールを設定し、EC2 StartInstances API呼び出しに応答させます。このルールを、AWS Systems Manager Automation Runbookを呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチするように構成します。
- D. AWS Configマネージドルール「iam-role-managed-policy-check」を、構成変更をトリガーとして設定します。自動修復アクションを構成し、AWS Lambda関数を呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチします。
この問題を見る →
-
Q34. ある企業は複数のチームに分かれています。各チームは個別のAWSアカウントを所有しており、これらのアカウントはすべてAWS Organizations内の単一の組織に属しています。各チームは、自社のAWSアカウントに対する完全なセキュリティ管理権限を持っています。また、各チームは、企業が承認したAWSサービスのみにアクセスできるよう制限されています。AWSサービスへのアクセスは、リクエストおよび承認プロセスを通じて許可されます。
- A. AWS CloudFormationスタックセットを使用して、各アカウントにIAMポリシーを展開し、制限されたAWSサービスへのアクセスを拒否します。各アカウントでAWS Configルールを構成し、ポリシーがアカウント内のIAMエンティティにアタッチされていることを保証します。
- B. AWS Control Towerを使用して、アカウントを組織内のOU(Organizational Unit)に配置します。AWS Control Towerを構成してAWS IAM Identity Center(AWS SSO)を有効化します。IAM Identity Centerを構成して管理アクセス権限を提供し、制限されたAWSサービスへのアクセスを拒否するユーザーロールにポリシーを含めます。
- C. すべてのアカウントを組織内の新しい最上位OUの下に配置します。制限されたAWSサービスへのアクセスを拒否するSCP(Service Control Policy)を作成し、そのSCPをOUにアタッチします。
- D. 承認済みのAWSサービスへのアクセスのみを許可するSCPを作成し、そのSCPを組織のルートOUにアタッチします。組織のルートOUからFullAWSAccess SCPを削除します。
この問題を見る →
-
Q35. ある企業が、複数のチームでAWSを活用し始めました。各チームは複数のアカウントを保有し、それぞれ独自のセキュリティ構成を持っています。この企業は、業界標準のセキュリティ規範に基づいて、組織全体のアカウントを管理しています。各アカウントには独自の構成およびセキュリティコントロールが適用されています。
開発チームは、予防的および検知的なコントロールを活用して、現在のアカウントのコンプライアンスを管理したいと考えています。また、組織内で新しいアカウントが作成される際には、セキュリティチームが既存および将来のアカウントのセキュリティを確実に保証する必要があります。
- A. 組織によって作成されたOUに適切なSCPをアタッチし、各チームのアカウントを適切なOUに配置してセキュリティ制御を実施します。新しいチームアカウントは適切なOU内に作成します。
- B. AWS Control Towerのランディングゾーンを構築します。既存のチームに対して、OUおよびAWS Control Tower内の適切なガードレール(コントロール)を構成します。AWS Control Towerの信頼されたアクセスを構成し、各チームの適切なセキュリティポリシーに合致する適切なOUに既存のアカウントを登録します。新しいアカウントはAWS Control Towerを介して提供します。
- C. 組織の管理アカウントでAWS CloudFormationスタックセットを作成します。スタックセットを構成し、組織内のすべてのアカウントに構成ルールおよびすべてのコントロールの修復アクションを展開します。新規アカウント作成時にスタックセットを更新して、そのアカウントにも展開します。
- D. AWS Configを構成して、組織内のすべてのAWSアカウントでAWS Configルールを管理します。コンシステンシーパックをデプロイし、組織全体でAWS Configルールおよび修復アクションを提供します。
この問題を見る →
-
Q36. ある企業が、重要な文書を保存するためにAmazon S3バケットを使用しています。同社は、一部のS3バケットが暗号化されていないことに気づきました。現在、同社のIAMユーザーは、暗号化されていない新しいS3バケットを作成できます。同社は新たな要件を導入し、すべてのS3バケットが暗号化されることを義務付けました。
DevOpsエンジニアは、既存および今後作成されるすべてのS3バケットでサーバーサイド暗号化(SSE)を確実に有効化するソリューションを実装する必要があります。S3バケットが作成された時点で、新しいS3バケットには即座に暗号化が有効化される必要があります。デフォルトの暗号化タイプは、256ビットAES(AES-256)である必要があります。
- A. Amazon EventBridgeのスケジュールルールにより定期的に呼び出されるAWS Lambda関数を作成します。このLambda関数を、すべての現在のS3バケットの暗号化ステータスをスキャンし、暗号化設定がないS3バケットに対してAES-256をデフォルト暗号化として設定するようにプログラミングします。
- B. AWS Configマネージドルール「s3-bucket-server-side-encryption-enabled」を設定および有効化します。このルールを、修復アクションとしてAWS Systems Manager Automation runbook「AWS-enable-s3-bucket-encryption」を使用するように構成します。手動で再評価プロセスを実行し、既存のS3バケットが要件を満たすことを保証します。
- C. Amazon EventBridgeのイベントルールにより呼び出されるAWS Lambda関数を作成します。このルールは、新しいS3バケットの作成に一致するイベントパターンで定義します。Lambda関数をEventBridgeイベントを解析し、イベント内のS3バケットの構成を確認し、AES-256をデフォルト暗号化として設定するように記述します。
- D. S3:x-amz-server-side-encryption条件キーの値がAES-256でない場合、s3:CreateBucket操作を拒否するIAMポリシーを構成します。企業のすべてのIAMユーザーに対してIAMグループを作成し、このIAMポリシーをIAMグループに関連付けます。
この問題を見る →
-
Q37. ある企業が、金字塔型アプリケーションコードをAWS CodeCommitに格納しています。同社はAWS CodePipelineを用いてアプリケーションをデプロイしています。コードコミットリポジトリおよびコードパイプラインは、同一のAWSアカウントにデプロイされています。
同社のセキュリティチームは、コードが本番環境にデプロイされる前に、すべてのコードを脆弱性スキャンし、問題を検出することを要求しています。脆弱性が検出された場合、デプロイは停止しなければなりません。
- A. 新しいCodeBuildプロジェクトを作成します。このプロジェクトを、Amazon CodeGuru Securityを用いたセキュリティスキャンを実行するように構成します。CodeGuru Securityが脆弱性を検出した場合にエラーを発生させるようにCodeBuildプロジェクトを構成します。CodeGuru Securityスキャンを実行するのに十分な権限を持つ新しいIAMロールを作成し、CodeBuildプロジェクトに割り当てます。パイプラインに、デプロイ段階の前に新しい段階を追加します。この新しい段階のアクションプロバイダーとしてAWS CodeBuildを選択し、CodeCommitリポジトリからのソースアーティファクトを使用します。この段階の操作を、CodeBuildプロジェクトを使用するように構成します。
- B. 新しいCodeBuildプロジェクトを作成します。このプロジェクトを、Amazon Inspectorを用いたコードのセキュリティスキャンを実行するように構成します。Amazon Inspectorが脆弱性を検出した場合にエラーを発生させるようにCodeBuildプロジェクトを構成します。Amazon Inspectorスキャンを実行するのに十分な権限を持つ新しいIAMロールを作成し、CodeBuildプロジェクトに割り当てます。パイプラインに、デプロイ段階の前に新しい段階を追加します。この新しい段階のアクションプロバイダーとしてAWS CodeBuildを選択し、CodeCommitリポジトリからのソースアーティファクトを使用します。この段階の操作を、CodeBuildプロジェクトを使用するように構成します。
- C. CodePipelineにアタッチされたIAMロールを更新し、Amazon DevOps Guruを呼び出すのに十分な権限を含めるようにします。パイプラインに、デプロイ段階の前に新しい段階を追加します。この新しい段階のアクションプロバイダーとしてDevOps Guruを選択し、CodeCommitリポジトリからのソースアーティファクトを使用します。
- D. CodePipelineにアタッチされたIAMロールを更新し、Amazon DevOps Guruを呼び出すのに十分な権限を含めるようにします。パイプラインに、デプロイ段階の前に新しい段階を追加します。この新しい段階のアクションプロバイダーとしてCodeGuru Securityを選択し、CodeCommitリポジトリからのソースアーティファクトを使用します。
この問題を見る →
-
Q38. ある企業が、Amazon EBSストレージでサポートされたAmazon EC2インスタンスを用いて、Webアプリケーションをホストしています。同社は、EC2インスタンス上でネットワーク接続障害または電源障害が発生した場合に、最小限のデータ損失で迅速に復旧できるようにしたいと考えています。
- A. このインスタンスをEC2 Auto Scalingグループに追加し、最小、最大、および必要容量を1に設定します。
- B. ライフサイクルフックを使用してインスタンスをEC2 Auto Scalingグループに追加し、EC2インスタンスがシャットダウンまたは終了する際にEBSボリュームを分離します。
- C. StatusCheckFailedシステムメトリクスに対してAmazon CloudWatchアラームを作成し、EC2の復旧操作を選択します。
- D. StatusCheckFailedインスタンスメトリクスに対してAmazon CloudWatchアラームを作成し、EC2の再起動操作を選択します。
この問題を見る →
-
Q39. ある企業が、AWS CloudFormationを用いたインフラストラクチャデプロイを希望しています。同社は厳格なタグ付けおよびリソース要件を有しており、デプロイを特定のリージョン内に限定したいと考えています。開発者は、同一アプリケーションの複数のバージョンをデプロイする必要があります。どのソリューションが、企業ポリシーに従ってリソースをデプロイすることを保証しますか?
- A. 承認されていないCloudFormation StackSetsを検出し修正するためのAWS Trusted Advisorチェックを作成します。
- B. 承認されていないCloudFormation StackSetを検出し修正するためのCloudFormationドリフト検出操作を作成します。
- C. 承認済みのCloudFormationテンプレートを用いてCloudFormation StackSetsを作成します。
- D. 承認済みのCloudFormationテンプレートを用いてAWS Service Catalog製品を作成します。
この問題を見る →
-
Q40. ある企業が、Amazon S3イベントソースをAWS Lambda関数に設定しました。特定のS3バケットにおいて、新しいオブジェクトが作成されたとき、または既存のオブジェクトが更新されたときに、このLambda関数を実行する必要があります。Lambda関数は、S3イベントのバケット名およびS3オブジェクトキーを用いて、新しいまたは更新されたS3オブジェクトの内容を取得します。Lambda関数は、その内容を解析し、解析結果をAmazon DynamoDBテーブルに保存します。
Lambda関数の実行ロールには、対象S3バケットから読み取る権限およびDynamoDBテーブルに書き込む権限が付与されています。テスト中に、開発者がS3バケットにオブジェクトが追加されたとき、または既存のオブジェクトが更新されたときに、Lambda関数が実行されないことを発見しました。
- A. S3バケットに対してS3バケットポリシーを作成し、S3バケットがLambda関数を呼び出す権限を付与します。
- B. Lambda関数のリソースポリシーを作成し、Amazon S3がS3バケット上でLambda関数を呼び出す権限を付与します。
- C. Amazon Simple Queue Service(Amazon SQS)キューをLambda関数の失敗先として構成します。Lambda関数を更新し、SQSキューおよびS3イベント通知からのメッセージを処理できるようにします。
- D. Amazon Simple Queue Service(Amazon SQS)キューをS3バケットイベント通知の送信先として構成します。Lambda関数の実行ロールを更新し、SQSキューから読み取る権限を付与します。Lambda関数を更新し、SQSキューからのメッセージを処理できるようにします。
この問題を見る →
-
Q41. 企業は、デプロイ前にコードをスキャンしてセキュリティ問題を検出し、非コンプライアンスなコードのデプロイを防止する必要があります。企業は、コード変更時に起動するAWS CodePipelineパイプラインを使用しています。コード変更は1日に複数回発生します。
セキュリティチームはサードパーティのスキャンツールをサポートしており、コマンドライン統合手順を提供しています。このコードスキャンステップにはユーザー名とパスワードが必要です。
これらの要件を最も安全な方法で満たすソリューションはどれですか?
- A. 新しいAWS CodeBuildプロジェクトを作成します。環境変数にユーザー名とパスワードを設定します。ユーザー名とパスワードを使用してコマンドライン統合手順を実行します。CodePipelineパイプラインを更新し、新しいスキャンステージを追加します。新しいスキャンステージには、新しく作成したCodeBuildプロジェクトを使用するテストアクションを含めます。
- B. 新しいAWS CodeBuildプロジェクトを作成します。ユーザー名とパスワードをAWS Secrets Managerにシークレットとして保存します。Secrets Managerからシークレットを読み取り、ユーザー名とパスワードを使用してコマンドライン統合手順を実行します。CodePipelineパイプラインを更新し、新しいスキャンステージを追加します。新しいスキャンステージには、新しく作成したCodeBuildプロジェクトを使用するテストアクションを含めます。
- C. 新しいAWS CodeBuildプロジェクトを作成します。ユーザー名とパスワードをAWS Systems Manager Parameter Storeに文字列として保存します。Parameter Storeから文字列を読み取り、ユーザー名とパスワードを使用してコマンドライン統合手順を実行します。CodePipelineパイプラインを更新し、新しいスキャンステージを追加します。新しいスキャンステージには、新しく作成したCodeBuildプロジェクトを使用するテストアクションを含めます。
- D. ユーザー名とパスワードを暗号化されたJSONファイルに格納し、管理者のみがそのファイルを読み取ることを許可する特定のポリシーを持つAmazon S3バケットにアップロードします。新しいAWS CodeBuildプロジェクトを作成します。Amazon S3内のファイルからユーザー名とパスワードを取得し、コマンドライン統合手順を実行します。CodePipelineパイプラインを更新し、新しいスキャンステージを追加します。新しいスキャンステージには、新しく作成したCodeBuildプロジェクトを使用するテストアクションを含めます。
この問題を見る →
-
Q42. ある企業は、Auto Scalingグループ内のAmazon EC2インスタンス上で実行されるアプリケーションを持っています。アプリケーションが起動すると、Amazon S3バケットからデータを処理し、その後リクエストの処理を開始する必要があります。
S3バケットに格納されているデータ量が増加しています。Auto Scalingグループが新しいインスタンスを追加すると、アプリケーションは現在、リクエストを処理できるようになるまで数分間かけてデータをダウンロードおよび処理する必要があります。企業は、新しいEC2インスタンスがサービスリクエストを処理可能になるまでの準備時間を短縮したいと考えています。
- A. Auto Scalingグループに対して、ウォームプール(停止状態のEC2インスタンス)を構成します。Auto ScalingグループにAuto Scaling:EC2_INSTANCE_LAUNCHINGライフサイクルフックを設定します。アプリケーションがリクエストの処理準備完了時に、アプリケーションを変更してライフサイクルフックを完了させます。
- B. Auto Scalingグループの最大インスタンス数を増加させます。Auto ScalingグループにAuto Scaling:EC2_INSTANCE_LAUNCHINGライフサイクルフックを設定します。アプリケーションがリクエストの処理準備完了時に、アプリケーションを変更してライフサイクルフックを完了させます。
- C. Auto Scalingグループに対して、ウォームプール(実行中のEC2インスタンス)を構成します。Auto ScalingグループにAuto Scaling:EC2_INSTANCE_LAUNCHINGライフサイクルフックを設定します。アプリケーションがリクエストの処理準備完了時に、アプリケーションを変更してライフサイクルフックを完了させます。
- D. Auto Scalingグループの最大インスタンス数を増加させます。Auto ScalingグループにAuto Scaling:EC2_INSTANCE_LAUNCHINGライフサイクルフックを設定します。アプリケーションを変更してライフサイクルフックを完了させ、アプリケーションがリクエストの処理準備完了時に新規インスタンスをスタンバイ状態にします。
この問題を見る →
-
Q43. メディア企業のAWSアカウントには多数のAmazon EC2インスタンスがあります。企業はSlackおよび共有メールボックスをチーム間のコミュニケーションおよび重要通知の手段として使用しています。DevOpsエンジニアは、AWSが計画しているEC2メンテナンス通知をSlackチャンネルおよび共有メールボックスに送信する必要があります。このソリューションは、インスタンスの名前および所有者タグを含める必要があります。
- A. AWS Trusted AdvisorとAWS Configを統合します。カスタムAWS Configルールを構成し、AWS Lambda関数を呼び出してAmazon Simple Notification Service(Amazon SNS)トピックに通知をパブリッシュします。このトピックをSlackチャンネルエンドポイントおよび共有メールボックスにサブスクライブします。
- B. Amazon EventBridgeを使用してAWS Healthイベントを監視します。メンテナンスイベントをAmazon Simple Notification Service(Amazon SNS)トピックにターゲット指定します。AWS Lambda関数をSNSトピックにサブスクライブし、通知をSlackチャンネルおよび共有メールボックスに送信します。
- C. EC2メンテナンス通知をSlackチャンネルおよび共有メールボックスに送信するAWS Lambda関数を作成します。Amazon CloudWatchメトリクスを使用してEC2ヘルスイベントを監視します。メンテナンス通知を受信した際にLambda関数を呼び出すCloudWatchアラームを構成します。
- D. AWS SupportとAWS CloudTrailの統合を構成します。CloudTrailのイベント検索を設定し、EC2メンテナンス通知をAmazon Simple Notification Service(Amazon SNS)に渡すためにAWS Lambda関数を呼び出します。Amazon SNSをSlackチャンネルおよび共有メールボックスにターゲット指定します。
この問題を見る →
-
Q44. ある企業のDevOpsチームは、Node Package Manager(NPM)オープンソースライブラリを使用してアプリケーションを構築しています。DevOpsチームはAWS CodeBuildプロジェクト内でアプリケーションのビルドプロセスを実行しています。企業は、NPMライブラリをパブリックNPMレポジトリからダウンロードしています。
企業は、NPMライブラリをプライベートNPMレポジトリにホストしたいと考えています。また、DevOpsチームがライブラリの新バージョンを使用する前に、そのバージョンを検証する必要もあります。
- A. npmjs.orgをアップストリームレポジトリとして使用するAWS CodeArtifactレポジトリを作成します。アプリケーションのビルドプロセスを、CodeArtifactレポジトリをNPMのデフォルトソースとして使用するように構成します。CodeArtifact内のパッケージバージョンに対する必要な検証を実行するAWS CodePipelineパイプラインを作成します。検証が失敗した場合、パッケージのステータスを「非表示」に設定します。
- B. CodeBuildプロジェクト構成でAmazon S3キャッシュを有効にします。buildspec.yamlに、キャッシュ内のパッケージバージョンに対する必要な検証を実行するステップを追加します。
- C. 各ライブラリに対してAWS CodeCommitレポジトリを作成します。必要なNPMライブラリを適切なCodeCommitレポジトリにクローンします。CodeBuild appspec.yaml構成ファイルを変更し、プライベートCodeCommitレポジトリを使用するようにします。パッケージバージョンに対する必要な検証を実行するステップを追加します。
- D. 各ライブラリに対してAWS CodeCommitレポジトリを作成します。必要なNPMライブラリを適切なCodeCommitレポジトリにクローンします。CodeBuild buildspec.yaml構成ファイルを変更し、NPMがプライベートCodeCommitレポジトリを使用するようにします。各新規コミットのパッケージバージョンに対して必要な検証を実行するAWS CodePipelineパイプラインを追加します。パイプラインを、検証が失敗した場合に直近のコミットへロールバックするように構成します。
この問題を見る →
-
Q45. ある企業は、Organization(組織)を使用して複数のAWSアカウントを管理しています。開発チームは、Organization APIを呼び出して新しいAWSアカウントを作成するAWS Lambda関数を開発済みです。
このLambda関数は、Organizationのマネジメントアカウント内で実行されています。DevOpsチームは、マネジメントアカウント内のLambda関数を専用のメンバー(Member)アカウントに移行したいと考えています。DevOpsチームは、新しいアカウントにLambda関数をデプロイする前に、Lambda関数がOrganization内で新しいAWSアカウントを作成する能力のみを持つことを保証したいと考えています。
- A. マネジメントアカウント内で、Organization内での新規アカウント作成に必要な権限を持つ新しいIAMロールを作成します。新しいAWSアカウント内のLambda実行ロールがこのロールを引き受けることを許可します。Lambda関数コードを更新し、このロールを引き受けた際に新規AWSアカウントを作成するようにします。Lambda実行ロールを更新し、新しいロールを引き受ける権限を持つことを保証します。
- B. マネジメントアカウント内で、Organizationの承認された管理者を処理します。新しい承認ポリシーを作成し、新しいAWSアカウントがOrganization内で新規AWSアカウントを作成する権限を付与します。Lambdaの実行ロールがorganizations:CreateAccount権限を持つことを確認します。
- C. マネジメントアカウント内で、Organization内での新規アカウント作成に必要な権限を持つ新しいIAMロールを作成します。このロールをLambdaサービスプリンシパルが引き受けることを許可します。Lambda関数コードを更新し、このロールを引き受けた際に新規AWSアカウントを作成するようにします。Lambda実行ロールを更新し、新しいロールを引き受ける権限を持つことを保証します。
- D. マネジメントアカウント内で、AWS Control Towerを有効にします。AWS Control Towerの承認管理を有効にします。新しいAWSアカウントがAWS Control Tower内で新規AWSアカウントを作成することを許可するリソースポリシーを作成します。新しいAWSアカウント内でLambda関数コードを更新し、AWS Control Tower APIを使用します。Lambda実行ロールがcontroltower:CreateAccount権限を持つことを確認します。
この問題を見る →
-
Q46. ある企業は、AWS CloudFormationを使用してインフラストラクチャをデプロイしたいと考えています。企業は厳格なタグ付けおよびリソース要件を定めており、デプロイを単一のリージョンに制限したいと考えています。開発者は、同一アプリケーションの複数バージョンをデプロイする必要があります。
- A. 承認されていないCloudFormationスタックセットを検出し修正するAWS Trusted Advisorチェックを作成します。
- B. 承認されていないCloudFormationスタックセットを検出し修正するCloudFormationドリフト検出操作を作成します。
- C. 承認済みのCloudFormationテンプレートを使用してCloudFormationスタックセットを作成します。
- D. 承認済みのCloudFormationテンプレートを使用してAWS Service Catalog製品を作成します。
この問題を見る →
-
Q47. ある企業は、AWS Systems Managerを使用して、SSMエージェントがインストール済みのAmazon Linux EC2インスタンスを管理しています。すべてのEC2インスタンスは、インスタンスメタデータサービスバージョン2(IMDSv2)を使用するように構成されており、同一のAWSアカウントおよびAWSリージョンで実行されています。企業のポリシーでは、開発者がAmazon Linuxのみを使用することが求められています。
企業は、新しいEC2インスタンスが作成された後に、自動的にSystems Managerによって管理されるようにしたいと考えています。
- A. Systems Managerがこのロールを引き受けることを許可する信頼ポリシーを持つIAMロールを作成します。最新のAmazonSSMManagedInstanceCoreマネージドポリシーをこのロールに関連付けます。Systems ManagerのデフォルトEC2インスタンスマネジメントロールSSMサービス設定を、このロールを使用するように構成します。
- B. AWS Configが確立されていることを確認します。EC2インスタンスにSSMエージェントがインストールされているかを検証するAWS Configルールを作成します。このルールをEC2構成変更時に実行するように構成します。自動修復をこのルールに構成し、SSMエージェントをインストールするドキュメントを実行します。
- C. Systems Manager Patch Managerを構成します。すべての新しいEC2インスタンスでSSMエージェントを自動的にインストールするパッチベースラインを作成します。すべてのEC2インスタンスに対してパッチグループを作成します。パッチベースラインをパッチグループにアタッチします。SSMエージェントのインストールを毎日開始するメンテナンスウィンドウおよびメンテナンスウィンドウタスクを作成します。
- D. Amazon EC2がこのロールを引き受けることを許可する信頼ポリシーを持つEC2インスタンスロールを作成します。AmazonSSMManagedInstanceCoreマネージドポリシーをこのロールにアタッチします。AWS Configが確立されていることを確認します。EC2インスタンスにこのロールがアタッチされているかを検証する、EC2インスタンス接続のマネージドAWS Configルールを使用します。このルールをEC2構成変更時に実行するように構成します。自動修復をこのルールに構成し、AWS Systems Managerが管理するSSMドキュメントを実行して、このロールをEC2インスタンスにアタッチします。
この問題を見る →
-
Q48. ある企業には多数のアプリケーションがあります。企業の異なるチームがさまざまな言語およびフレームワークを使用してアプリケーションを開発しています。これらのアプリケーションは、ローカルおよび異なるサーバー上で実行され、異なるオペレーティングシステムを使用しています。各チームには独自のリリースプロトコルおよびプロセスがあります。企業は、これらのアプリケーションのリリースおよび保守の複雑さを軽減したいと考えています。
企業は、これらのアプリケーションを含む技術スタック全体をAWSに移行しようとしています。企業は、ソースコードの集中管理、一貫した自動化デリバリーパイプライン、および可能な限り最小限の下位インフラストラクチャ保守タスクを望んでいます。
- A. すべてのアプリケーションに対して1つのAWS CodeCommitリポジトリを作成します。各アプリケーションのコードを異なるブランチに配置します。ブランチをマージし、AWS CodeBuildを使用してアプリケーションをビルドします。AWS CodeDeployを使用して、アプリケーションを集中型アプリケーションサーバーにデプロイします。
- B. 各アプリケーションに対して個別のAWS CodeCommitリポジトリを作成します。AWS CodeBuildを使用して1つのアプリケーションを一度にビルドします。AWS CodeDeployを使用して、アプリケーションを集中型アプリケーションサーバーにデプロイします。
- C. 各アプリケーションに対して個別のAWS CodeCommitリポジトリを作成します。AWS CodeBuildを使用して1つのアプリケーションを一度にビルドし、各サーバーに対してAMIを作成します。これらのAMIを使用して、AWS CloudFormation StackSetsでAmazon EC2フェleetの自動プロビジョニングおよび停止を実行します。
- D. 各アプリケーションに対して個別のAWS CodeCommitリポジトリを作成します。AWS CodeBuildを使用して、Amazon Elastic Container Registry(Amazon ECR)内の各アプリケーションに対してDockerイメージをビルドします。AWS CodeDeployを使用して、アプリケーションをAWS Fargateが管理するインフラストラクチャ上のAmazon Elastic Container Service(Amazon ECS)にデプロイします。
この問題を見る →
-
Q49. ある会社が、Application Load Balancer の後ろで実行される Amazon EC2 インスタンス上にマルチテナントアプリケーションをホストしています。これらのインスタンスは Windows Server を実行しており、Auto Scaling グループに配置されています。アプリケーションはインスタンス上でライセンスファイルを使用し、このファイルはユーザーへの中断なしにインスタンス上で更新可能です。新しい顧客がアプリケーションへのアクセス許可を購入すると、同社のライセンスチームが新しいライセンスキーを Amazon S3 バケット内のファイルに追加します。ライセンスファイルが更新された後、運用チームが手動で EC2 インスタンスを更新しています。
DevOps エンジニアは、EC2 インスタンス上のファイル更新プロセスを自動化する必要があります。この自動化プロセスは、EC2 インスタンスが更新されたライセンスファイルを取得するまでの遅延を最小限に抑え、更新プロセスの成功または失敗を運用チームに通知する必要があります。
DevOps エンジニアは AWS リソースグループ内でリソースグループを作成しました。このリソースグループは、EC2 インスタンスに付与されたタグに基づいてアプリケーションを自動的に選択します。
DevOps エンジニアは次に、要件を最も経済的かつ効率的に満たすために何を行うべきですか?
- A. S3 バケット内のライセンスファイルが更新されたときに AWS Lambda 関数を呼び出すように、S3 イベント通知を作成します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunRemoteScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知に対して Amazon Simple Email Service (Amazon SES) の通知を設定し、運用チームに電子メール通知を送信します。
- B. S3 バケット内のライセンスファイルが更新されたときに AWS Lambda 関数を呼び出すように、S3 イベント通知を作成します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunPowerShellScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知を送信するための Amazon Simple Notification Service (Amazon SNS) トピックを設定します。運用チームのメンバーの電子メールアドレスを SNS トピックにサブスクライブします。
- C. 1 時間ごとに実行される Amazon EventBridge のスケジュールルールを作成し、AWS Lambda 関数を呼び出します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunPowerShellScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知を送信するための Amazon Simple Notification Service (Amazon SNS) トピックを設定します。運用チームのメンバーの電子メールアドレスを SNS トピックにサブスクライブします。
- D. 1 時間ごとに実行される Amazon EventBridge のスケジュールルールを作成し、AWS Lambda 関数を呼び出します。Lambda 関数を設定して、AWS Systems Manager Run Command を呼び出し、AWS-RunRemoteScript ドキュメントを実行して更新されたライセンスファイルをダウンロードします。Lambda から発行されるコマンドを、アプリケーションのリソースグループ上で 50% の並列度で実行するように指定します。SUCCESS および FAILED イベント通知に対して Amazon Simple Email Service (Amazon SES) の通知を設定し、運用チームに電子メール通知を送信します。
この問題を見る →
-
Q50. ある会社が AWS Key Management Service (AWS KMS) のキーと手動によるキーローテーションを活用してコンプライアンス要件を満たしています。任意のキーが 90 日以上ローテーションされていない場合、セキュリティチームは通知を受け取りたいと考えています。
- A. AWS KMS を、キーが 90 日を超えた場合に Amazon Simple Notification Service (Amazon SNS) トピックへパブリッシュするように設定します。
- B. Amazon EventBridge イベントを設定し、AWS Lambda 関数を起動して AWS Trusted Advisor API を呼び出し、Amazon Simple Notification Service (Amazon SNS) トピックへパブリッシュします。
- C. AWS Config のカスタムルールを開発し、キーが 90 日を超えた場合に Amazon Simple Notification Service (Amazon SNS) トピックへパブリッシュします。
- D. AWS Security Hub を、キーが 90 日を超えた場合に Amazon Simple Notification Service (Amazon SNS) トピックへパブリッシュするように設定します。
この問題を見る →
-
Q51. ある会社が、単一の AWS アカウント内の本番 VPC にアプリケーションをデプロイしています。このアプリケーションは人気があり、トラフィック量が非常に高いです。同社のセキュリティチームは、アプリケーションのデプロイに追加のセキュリティ(例:AWS WAF)を導入したいと考えています。しかし、アプリケーションのプロダクトマネージャーはコストを懸念しており、セキュリティチームが追加のセキュリティが必要であることを証明できない限り、規模を拡大したくありません。
セキュリティチームによると、アプリケーションへの一部のアクセス要求は、ブロックリストに記載された IP アドレスを持つユーザーから発生している可能性があります。セキュリティチームは DevOps エンジニアにブロックリストを提供しました。ブロックリスト内のいずれかの IP アドレスがアプリケーションにアクセスした場合、セキュリティチームはほぼリアルタイムで自動通知を受け取り、そのアプリケーションに追加のセキュリティ保護が必要であることを記録できるようにしたいと考えています。DevOps エンジニアは本番 VPC に対して VPC フローログを有効化しました。
DevOps エンジニアは、これらの要件を最も経済的かつ効率的に満たすために、追加でどのようなステップを取るべきですか?
- A. Amazon CloudWatch Logs にロググループを作成します。VPC フローログを設定して受信トラフィックをキャプチャし、データをロググループに送信します。ブロックリスト内の IP アドレスに対して Amazon CloudWatch のメトリクスフィルターを作成します。メトリクスフィルターを入力として CloudWatch アラームを作成します。期間を 5 分、アラームを発行するデータポイント数を 1 に設定します。Amazon Simple Notification Service (Amazon SNS) トピックを使用して、セキュリティチームにアラーム通知を送信します。
- B. ログファイル用の Amazon S3 バケットを作成します。VPC フローログを設定してすべてのトラフィックをキャプチャし、データを S3 バケットに送信します。Amazon Athena を設定して、S3 バケット内のすべてのログファイルからブロックリスト内の IP アドレスを返すクエリを実行します。Amazon QuickSight を設定して Athena からのデータを受け取り、セキュリティチームがアクセス可能なダッシュボードとして公開します。成功したアクセスに対して 1 のしきい値アラームを作成します。アラームしきい値に達した際に、セキュリティチームに可能な限り頻繁に自動通知するようアラームを設定します。
- C. ログファイル用の Amazon S3 バケットを作成します。VPC フローログを設定して受信トラフィックをキャプチャし、データを S3 バケットに送信します。ログファイル用に Amazon OpenSearch Service クラスターおよびドメインを設定します。S3 バケットからログを取得・フォーマットし、OpenSearch Service クラスターにロードする AWS Lambda 関数を作成します。Lambda 関数を 5 分ごとに実行するようにスケジュールします。OpenSearch Service 内でアラームおよび条件を設定し、ブロックリスト上の IP アドレスからのアクセスを検出した際に Amazon Simple Notification Service (Amazon SNS) トピックを通じてセキュリティチームにアラーム通知を送信します。
- D. Amazon CloudWatch Logs にロググループを作成します。クエリ結果を保存するための Amazon S3 バケットを作成します。VPC フローログを設定してすべてのトラフィックをキャプチャし、データをロググループに送信します。AWS Lambda 内で Amazon Athena CloudWatch コネクタをデプロイします。このコネクタをロググループに接続します。Athena を設定して、ブロックリスト内の IP アドレスからのすべての受信トラフィックを定期的にクエリし、結果を S3 バケットに保存します。S3 イベント通知を設定して、新しいオブジェクトが S3 バケットに追加された際に Amazon Simple Notification Service (Amazon SNS) トピックを通じてセキュリティチームに自動通知します。
この問題を見る →
-
Q52. DevOps エンジニアは、アプリケーションロードバランサー(ALB)の後ろで実行される Amazon EC2 インスタンス上で Web アプリケーションを管理しています。これらのインスタンスは、複数の可用性ゾーンにまたがる EC2 Auto Scaling グループで実行されています。エンジニアは以下のデプロイ戦略を実装する必要があります:
1. 元のインスタンスグループと同じ容量を持つ第 2 のインスタンスグループを起動する。
2. 元のフリートを維持したまま、第 2 のフリートにデプロイする。
3. 第 2 のフリートが完全にデプロイされた後、トラフィックを第 2 のフリートに切り替える。
4. 切り替え後 1 時間で元のフリートを自動終了する。
どの解決策がこれらの要件を満たしますか?
- A. AWS CloudFormation テンプレートを使用し、ALB の保持ポリシーを 1 時間に設定します。新しい ALB を反映するように Amazon Route 53 のレコードを更新します。
- B. 2 つの AWS Elastic Beanstalk 環境を使用して、元の環境から新しい環境へのブルー/グリーンデプロイを実行します。アプリケーションバージョンライフサイクルポリシーを設定して、1 時間以内に元の環境を終了します。
- C. AWS CodeDeploy を使用し、ブルー/グリーンデプロイ構成を持つデプロイグループを設定します。デプロイグループ内の元のインスタンスを終了するオプションを選択し、待機時間を 1 時間に設定します。
- D. 不変の設定を使用した AWS Elastic Beanstalk を使用します。ALB の削除ポリシーを 1 時間に設定する Resources キーを持つ .ebextensions を作成し、アプリケーションをデプロイします。
この問題を見る →
-
Q53. ある会社が AWS Organization 内で組織の所有者機能を有効化しました。この組織には 10 個の AWS アカウントが含まれています。同社は所有者アカウントで AWS CloudTrail を有効化しました。同社は、今後 1 年間で組織内の AWS アカウント数が 500 個まで増加すると予測しています。同社は、これらのアカウントに対して複数の OU を使用する計画です。
同社は、組織内の各既存の AWS アカウントで AWS Config を有効化しました。DevOps エンジニアは、今後組織内に作成される所有者 AWS アカウントに対して AWS Config を自動的に有効化するソリューションを実装する必要があります。
どのソリューションがこの要件を満たしますか?
- A. 組織の管理アカウントで、CreateAccount API 呼び出しに応答する Amazon EventBridge ルールを作成します。このルールを設定して、AWS Config を信頼されたアクセスで有効化する AWS Lambda 関数を呼び出します。
- B. 組織の管理アカウントで、AWS Config を有効化する AWS CloudFormation スタックセットを作成します。スタックセットを、組織によるアカウント作成時に自動的にデプロイされるように設定します。
- C. 組織の管理アカウントで、AWS Config API 呼び出しを許可する SCP(Service Control Policy)を作成します。この SCP をルートレベルの OU に適用します。
- D. 組織の管理アカウントで、CreateAccount API 呼び出しに応答する Amazon EventBridge ルールを作成します。このルールを設定して、アカウントに対して AWS Config を有効化する AWS Systems Manager Automation ドキュメントを呼び出します。
この問題を見る →
-
Q54. ある会社のアプリケーション開発チームは、Linux ベースの Amazon EC2 インスタンスをバストホストとして使用しています。バストホストへの SSH アクセスは、セキュリティグループで指定された特定の IP アドレスからのみ許可されています。セキュリティグループのルールを変更して、任意の IP アドレスからの SSH アクセスを許可した場合、同社のセキュリティチームは通知を受け取りたいと考えています。
- A. aws.cloudtrail ソースおよびイベント名 AuthorizeSecurityGroupIngress を使用して Amazon EventBridge ルールを作成します。Amazon Simple Notification Service (Amazon SNS) トピックをターゲットとして定義します。
- B. Amazon GuardDuty を有効化し、AWS Security Hub でセキュリティグループの結果を確認します。GuardDuty イベントを NON_COMPLIANT と一致させるカスタムパターンで Amazon EventBridge ルールを設定します。Amazon Simple Notification Service (Amazon SNS) トピックをターゲットとして定義します。
- C. restricted-ssh マネージドルールを使用して AWS Config ルールを作成し、セキュリティグループが制限のない受信 SSH トラフィックを許可していないかをチェックします。自動修復を設定して、メッセージを Amazon Simple Notification Service (Amazon SNS) トピックにパブリッシュします。
- D. Amazon Inspector を有効化します。バストホストに関連付けられたセキュリティグループをチェックするための Common Vulnerabilities and Exposures-1.1 ルールパッケージを含めます。Amazon Inspector がメッセージを Amazon Simple Notification Service (Amazon SNS) トピックにパブリッシュするように設定します。
この問題を見る →
-
Q55. ある会社のアプリケーションは Amazon EC2 インスタンス上で実行されています。アプリケーションは、ログインしたユーザー、日付、時刻、およびソース IP アドレスを記録するログファイルを書き込みます。ログは Amazon CloudWatch Logs のロググループに送信されます。
- A. ロググループ上で CloudWatch Logs メトリクスフィルターを作成します。ユーザー名と一致するフィルターパターンを使用します。過去 7 日間のログイン回数を集計する CloudWatch メトリクスをパブリッシュします。
- B. ロググループ上で CloudWatch Logs サブスクリプションを作成します。ユーザー名と一致するフィルターパターンを使用します。過去 7 日間のログイン回数を集計する CloudWatch メトリクスをパブリッシュします。
- C. CloudWatch Logs Insights クエリを作成し、集計関数を使用して過去 7 日間におけるユーザー名のログイン回数を計算します。ロググループに対してクエリを実行します。
- D. CloudWatch ダッシュボードを作成します。ロググループから直接過去 7 日間のユーザー名のログイン回数を計算するフィルターパターンを持つ数字ウィジェットを追加します。
この問題を見る →
-
Q56. ある医療保険サービス会社は、患者の健康を監視するアプリケーションのソフトウェアライセンスコストが継続的に増加することを懸念しています。同社は、アプリケーションが Amazon EC2 専用ホスト上で実行されていることを保証する監査プロセスを作成したいと考えています。DevOps エンジニアは、アプリケーションのコンプライアンスを保証するための監査ワークフローを作成する必要があります。
エンジニアは、管理負荷を最小限に抑えてこの要件を満たすために、どのようなステップを取るべきですか?
- A. AWS Systems Manager のコンプライアンス機能を使用します。put-compliance-items API 操作を呼び出して、ホスト配置に基づきスキャンおよび非コンプライアントな EC2 インスタンスのデータベースを構築します。これらのインスタンス ID を高速アクセスのために Amazon DynamoDB テーブルに格納します。Systems Manager の list-compliance-summaries API 操作を呼び出してレポートを生成します。
- B. EC2 インスタンス上で実行されるカスタム Java コードを使用します。チェック対象のインスタンス数に応じて、EC2 Auto Scaling をインスタンスに設定します。非コンプライアントな EC2 インスタンス ID のリストを Amazon SQS キューに送信します。SQS キューからインスタンス ID を処理し、Amazon DynamoDB に書き込む別のワーカーインスタンスを設定します。AWS Lambda 関数を使用して、キューから取得した非コンプライアントなインスタンス ID を終了し、Amazon SNS 電子メールトピックに配信します。
- C. AWS Config を使用します。そのリージョン内のすべての Amazon EC2 リソースで構成記録を有効化することで、監査対象となるすべての EC2 インスタンスを特定します。'config-rule-change-triggered' ブループリントを使用して、AWS Lambda 関数をトリガーするカスタム AWS Config ルールを作成します。インスタンスが EC2 専用ホスト上で実行されていない場合、Lambda の evaluateCompliance() 関数を修正してホスト配置を検証し、NON_COMPLIANT 結果を返します。AWS Config レポートを使用して非コンプライアントなインスタンスを解決します。
- D. AWS CloudTrail を使用します。EC2 RunCommand API 操作に対するすべての呼び出しを分析することで、監査対象となるすべての EC2 インスタンスを特定します。AWS Lambda 関数を呼び出してインスタンスのホスト位置を分析します。非コンプライアントなリソースの EC2 インスタンス ID を Amazon RDS MySQL データベースインスタンスに格納します。RDS インスタンスをクエリしてレポートを生成し、クエリ結果を CSV テキストファイルとしてエクスポートします。
この問題を見る →
-
Q57. 開発者管理者が、企業のコンテナイメージを保存するためのリポジトリを設定しています。管理者は、特定のタグが付与され、15日以上経過したコンテナイメージを自動的に削除するライフサイクルルールを設定する必要があります。
これらの要件を最も効果的に満たすソリューションはどれですか?
- A. Amazon Elastic Container Registry (Amazon ECR) でリポジトリを作成します。該当するタグを持つイメージを15日後に期限切れにするライフサイクルポリシーをリポジトリに追加します。
- B. AWS CodeArtifact でリポジトリを作成します。該当するタグを持つ古いアセットを15日後に終了させるリポジトリポリシーを CodeArtifact リポジトリに追加します。
- C. Amazon S3 でバケットを作成します。該当するタグを持つ古いオブジェクトを15日後に期限切れにするバケットライフサイクルポリシーを追加します。
- D. EC2 Image Builder のコンテナレシピを作成します。該当するタグを持つコンテナを15日後に期限切れにするビルドコンポーネントを追加します。
この問題を見る →
-
Q58. 開発者が、ソフトウェア・アズ・ア・サービス(SaaS)アプリケーションの新機能について概念実証(PoC)を実施しています。このアプリケーションは、AWS Organizations 内の組織に属する共有開発用AWSアカウント上に配置されています。
開発者は、検討中のAWSサービスに関連するIAMロールを作成するための権限を付与する必要があります。このソリューションは、開発者がサービス関連のロールの作成および設定を行う能力のみを許可する必要があります。
- A. 組織の管理アカウントで開発者向けにIAMユーザーを作成します。開発アカウントで開発者向けにクロスアカウントロールを設定します。このクロスアカウントロールのスコープを共通トランザクションに制限します。
- B. 開発者をIAMグループに追加します。PowerUserAccess管理ポリシーをIAMグループにアタッチします。ユーザーのアカウントに対してマルチファクタ認証(MFA)を実施します。
- C. 各組織の開発アカウントにサービスコントロールポリシー(SCP)を追加します。iam:* を拒否するルールでSCPを設定し、開発者のアクセスを制限します。
- D. 必要なIAMアクセス権限を持つIAMロールを作成し、開発者がポリシーおよびロールを作成できるようにします。そのロールに権限境界(Permissions Boundary)をアタッチし、開発者がそのロールを引き受ける権限を付与します。
この問題を見る →
-
Q59. ある企業は、AWS Organizations を使用して複数のアカウントを管理しています。情報セキュリティポリシーでは、暗号化されていないAmazon EBSボリュームを非準拠としてマークすることが求められています。DevOpsエンジニアは、この準拠性チェックを自動的に展開し、常に有効な状態を維持するソリューションを実装する必要があります。
この要件を満たすソリューションはどれですか?
- A. AWS Inspectorルールを定義するAWS CloudFormationテンプレートを作成し、EBS暗号化が有効かどうかをチェックします。このテンプレートを、企業内のすべてのアカウントと共有されるAmazon S3バケットに保存します。CloudFormationテンプレートへの参照を更新したアカウント作成スクリプトを実行します。
- B. EBS暗号化の有効化をチェックするAWS Config組織ルールを作成し、AWS CLIを使用してそのルールを展開します。AWS Configの停止および削除を組織全体で禁止するSCPを作成・適用します。
- C. 組織内にSCPを作成します。条件式を使用して、EBSボリュームが暗号化されていない場合にAmazon EC2インスタンスの起動を防止するポリシーを設定し、すべてのAWSアカウントに適用します。Amazon Athenaを使用してAWS CloudTrailの出力を分析し、Ec2:RunInstances操作が拒否されたイベントを検索します。
- D. 単一の信頼済みアカウントからすべてのアカウントにIAMロールを展開します。AWS CodePipelineを使用してパイプラインを構築し、AWS LambdaでIAMロールを引き受け、アカウント内のすべてのEBSボリュームを一覧表示するステージを含めます。レポートをAmazon S3に公開します。
この問題を見る →
-
Q60. 開発エンジニアは、AWS CodeBuildを使用してソフトウェアパッケージをビルドしています。コードビルドプロジェクトは、複数のビルドで再利用可能なDockerイメージを構築します。
開発エンジニアは、ビルドパフォーマンスを向上させ、コストを最適化したいと考えています。
これらの要件を満たすソリューションはどれですか?
- A. Amazon Elastic Container Registry(Amazon ECR)リポジトリにDockerイメージを保存します。CodeBuildでローカルDockerレイヤーキャッシュを有効にします。
- B. 複数のビルドホストで利用可能なAmazon S3バケットにDockerイメージをキャッシュします。S3ライフサイクルポリシーを使用してキャッシュを無効化します。
- C. Amazon Elastic Container Registry(Amazon ECR)リポジトリにDockerイメージを保存します。CodeBuildプロジェクトのランタイム構成を変更し、常に最新のイメージバージョンを使用するようにします。
- D. キャッシュを含むDockerイメージを含むカスタムAMIを作成します。CodeBuildビルドで、カスタムAMIからAmazon EC2インスタンスを起動します。
この問題を見る →
-
Q61. ある企業は、AWS Organizations内の組織に属するAWSアカウントでアプリケーションを実行しています。これらのアプリケーションは、Amazon EC2インスタンスおよびAmazon S3を使用しています。
同社は、自社のAWSアカウントおよびAWS Organizationsで作成されたすべてのAWSアカウントにおいて、侵害された可能性のあるEC2インスタンス、疑わしいネットワーク活動、異常なAPI活動を検出したいと考えています。検出されたイベントに対し、関連するAmazon Simple Notification Service(Amazon SNS)トピックを使用して、運用サポートチームに通知を送信し、調査および是正措置を実施したいと考えています。
AWSのベストプラクティスに従う場合、これらの要件を満たすソリューションはどれですか?
- A. 組織のマスターアカウントで、Amazon GuardDutyの管理者アカウントとしてAWSアカウントを設定します。GuardDuty管理者アカウントで、企業の既存のAWSアカウントをメンバーとしてGuardDutyに追加します。GuardDuty管理者アカウントで、イベントパターンを使用してAmazon EventBridgeルールを作成し、GuardDutyイベントに一致するものをSNSトピックに転送します。
- B. 組織のマスターアカウントで、Amazon GuardDutyが新規AWSアカウントを招待によって追加できるよう設定し、既存のAWSアカウントに招待を送信します。GuardDuty招待を受け入れ、Amazon EventBridgeルールを作成するAWS CloudFormationスタックセットを作成します。イベントパターンでルールを設定し、GuardDutyイベントに一致するものをSNSトピックに転送します。CloudFormationスタックセットを組織内のすべてのAWSアカウントに展開するよう設定します。
- C. 組織のマスターアカウントで、AWS CloudTrail組織トレースを作成します。組織内のすべてのAWSアカウントで組織トレースを有効化します。組織内の各アカウントでVPCフローログを有効化するSCPを作成します。組織全体でAWS Security Hubを設定します。イベントパターンを使用してAmazon EventBridgeルールを作成し、Security Hubイベントに一致するものをSNSトピックに転送します。
- D. 組織のマスターアカウントで、AWS CloudTrail管理者アカウントとしてAWSアカウントを設定します。CloudTrail管理者アカウントでCloudTrail組織トレースを作成します。企業の既存のAWSアカウントを組織トレースに追加します。組織内の各アカウントでVPCフローログを有効化するSCPを作成します。組織全体でAWS Security Hubを設定します。イベントパターンを使用してAmazon EventBridgeルールを作成し、Security Hubイベントに一致するものをSNSトピックに転送します。
この問題を見る →
-
Q62. 開発チームは、AWS CloudFormationスタックを使用してアプリケーションをデプロイしたいと考えています。ただし、開発者向けIAMロールには、CloudFormationテンプレートで指定されたリソースを作成するために必要な権限がありません。DevOpsエンジニアは、開発者がスタックをデプロイできるようにするソリューションを実装する必要があります。このソリューションは、最小権限の原則に従う必要があります。
- A. 開発者が必要なリソースを作成できるIAMポリシーを作成し、開発者向けIAMロールにアタッチします。
- B. AWS CloudFormationへの完全アクセスを許可するIAMポリシーを作成し、開発者向けIAMロールにアタッチします。
- C. 必要な権限を持つAWS CloudFormationサービスロールを作成します。開発者向けIAMロールにcloudformation:*アクションを許可します。スタックデプロイ時に新しいサービスロールを使用します。
- D. 必要な権限を持つAWS CloudFormationサービスロールを作成します。開発者向けIAMロールにiam:PassRole権限を付与します。スタックデプロイ時に新しいサービスロールを使用します。
この問題を見る →
-
Q63. ある企業は、AWS Control Towerを使用して複数のAWSアカウント環境を管理しています。同社は、従来のAWSマネジメントコンソールを使用してAWS Control TowerでAWSアカウントを作成していました。今後は、AWS Control Tower Account Factoryを使用して新しいAWSアカウントを自動的に作成するソリューションを実装したいと考えています。
DevOpsエンジニアは、従業員がCSVファイルをAmazon S3バケットにアップロードするという新しい方法をテストしています。この.csvファイルには、新しいAWSアカウントを作成するために必要な情報が含まれます。S3バケットに新しいファイルが作成されると、AWS Lambda関数がAmazon S3からのイベント通知を処理し、AWS Service Catalog APIを使用してAWSアカウントを作成します。
DevOpsエンジニアは、アカウント作成プロセスが正常に完了した際に、Amazon Simple Notification Service(Amazon SNS)トピックに通知を発行するソリューションを実装する必要があります。
DevOpsエンジニアは、SNS通知の自動化を実現するために何を行うべきですか?
- A. AWS Control Towerを、自動偏差検出機能が新規アカウントがサービスに追加されたことを検出した際にSNSトピックに通知を発行するように設定します。
- B. AWS Service Catalog内のAWS Control Tower Account Factory製品を、サービスが新規アカウント製品を起動する際にSNSトピックに通知を発行するように設定します。
- C. AWS Service Catalog ProvisionProductイベントに応答し、SNSトピックに通知を発行するAmazon EventBridge(Amazon CloudWatch Events)ルールを設定します。
- D. AWS Control Tower CreateManagedAccountイベントに応答し、SNSトピックに通知を発行するAmazon EventBridge(Amazon CloudWatch Events)ルールを設定します。
この問題を見る →
-
Q64. ある多国籍企業は、AWS Control Towerを使用して複数のAWSアカウントを管理しています。同社は、内部向けアプリケーションおよびパブリック向けアプリケーションをホストしています。
各アプリケーションチームは、アプリケーションのホスティング用に独自のAWSアカウントを使用しています。これらのアカウントは、AWS Organizations内の1つの組織に統合されています。そのうち1つのAWS Control Towerメンバー・アカウントは、CI/CDパイプラインを備えた集中型DevOpsアカウントとして機能しており、アプリケーションチームはこれらのパイプラインを使用して、それぞれのターゲットAWSアカウントにアプリケーションをデプロイしています。デプロイに使用されるIAMロールは、集中型DevOpsアカウントに存在します。
アプリケーションチームは、アプリケーションAWSアカウント内のAmazon Elastic Kubernetes Service(Amazon EKS)クラスターにアプリケーションをデプロイしようとしています。アプリケーションAWSアカウントには、デプロイに使用されるIAMロールが存在します。デプロイは、集中型DevOpsアカウントで設定されたAWS CodeBuildプロジェクトを通じて実行されます。CodeBuildプロジェクトは、CodeBuildのIAMサービスロールを使用しています。跨アカウントEKSクラスターへのCodeBuild接続を試行した際、デプロイが失敗し、「権限がありません」というエラーが発生しました。
- A. アプリケーションアカウントのデプロイ用IAMロールを、集中型DevOpsアカウントとの信頼関係を確立するように設定します。信頼関係を設定してsts:AssumeRole操作を許可します。アプリケーションアカウントのデプロイ用IAMロールに、EKSクラスターへの必要なアクセス権限を付与します。EKSクラスターのaws-auth ConfigMapを設定して、ロールを適切なシステム権限にマップします。
- B. 集中型DevOpsアカウントのデプロイ用IAMロールを、アプリケーションアカウントとの信頼関係を確立するように設定します。信頼関係を設定してsts:AssumeRole操作を許可します。集中型DevOpsアカウントのデプロイ用IAMロールに、CodeBuildへの必要なアクセス権限を付与します。
- C. 集中型DevOpsアカウントのデプロイ用IAMロールを、アプリケーションアカウントとの信頼関係を確立するように設定します。信頼関係を設定してsts:AssumeRoleWithSAML操作を許可します。集中型DevOpsアカウントのデプロイ用IAMロールに、CodeBuildへの必要なアクセス権限を付与します。
- D. アプリケーションアカウントのデプロイ用IAMロールを、AWS Control Tower管理アカウントとの信頼関係を確立するように設定します。信頼関係を設定してsts:AssumeRole操作を許可します。アプリケーションアカウントのデプロイ用IAMロールに、EKSクラスターへの必要なアクセス権限を付与します。EKSクラスターのaws-auth ConfigMapを設定して、ロールを適切なシステム権限にマップします。
この問題を見る →
-
Q65. DevOpsエンジニアがAmazon ECSサービス向けにCI/CDパイプラインを作成しています。ECSコンテナはApplication Load Balancerの後ろで実行され、3層アプリケーションのWeb層として機能します。成功したデプロイの基準は、Web層がデプロイ後にアプリケーションのデータベースおよびミドルウェア層と通信できることを保証することです。
これを自動化するにはどうすればよいですか?
- A. Webアプリケーション内に、データベースおよびミドルウェア層への接続をテストするヘルスチェックエンドポイントを作成します。このエンドポイントをロードバランサのヘルスチェックURLとして使用します。
- B. 品質保証チーム向けに承認ステップを作成し、依存レイヤーへの接続性を検証します。依存レイヤーへの接続に問題がある場合、パイプライン内の変更を拒否します。
- C. Amazon RDSのアクティブ接続数およびAmazon CloudWatch ELBメトリクスを使用して、オープン接続数に大きな変化が生じた際にアラートを発行します。
- D. Amazon Route 53ヘルスチェックを使用してWebサービスの問題を検出し、エラーが発生した場合にCI/CDパイプラインをロールバックします。
この問題を見る →
-
Q66. ある企業が、4つの独立したAWS Lambda関数から構成されるアプリケーションを運用しています。DevOpsエンジニアはAWS CodePipelineおよびAWS CodeBuildを用いて、各Lambda関数を順次ビルド・テスト・パッケージング・デプロイするCI/CDパイプラインを構築しました。パイプラインはAmazon EventBridgeルールを活用して、アプリケーションのソースコードが変更された直後にパイプラインを起動するよう設定されています。
パイプラインを数回実行した後、DevOpsエンジニアはパイプラインの完了に過度の時間がかかっていることに気づきました。
DevOpsエンジニアが実装すべきで最も効果的な改善策は何ですか?
- A. パイプライン内のCodeBuildプロジェクトを修正し、より高いネットワークスループットを提供するコンピューティングタイプを使用する。
- B. 並列処理(SMP)構成を含むカスタムCodeBuild実行環境を作成し、ビルドを並列で実行する。
- C. 同じ実行順序を指定することで、CodePipelineの設定を修正し、各Lambda関数の操作を並列で実行する。
- D. 各CodeBuildプロジェクトをVPC内で実行するよう修正し、専用インスタンスを用いてスループットを向上させる。
この問題を見る →
-
Q67. DevOpsエンジニアが、Application Load Balancerの後ろで実行される新しいアプリケーションのデプロイに関するトラブルシューティングを行っています。これらのEC2インスタンスは、複数の可用性ゾーンにまたがるEC2 Auto Scalingグループ内で実行されています。インスタンスが準備完了前に登録されてしまうため、ユーザーのエラー率が上昇しています。現在のヘルスチェック設定では、インスタンスに60秒の猶予期間が与えられており、パス/index.phpへの200レスポンスコードが返された時点でインスタンスは「健全」とみなされます。しかし、このページはデプロイ中に一時的に応答しない可能性があります。開発チームはインスタンスをできるだけ早く登録したいと考えています。この問題を解決するための最適な戦略は何ですか?
- A. インスタンスの猶予期間を60秒から180秒に増加させ、連続ヘルスチェック要件を2回から3回に増加させる。
- B. インスタンスの猶予期間を60秒から120秒に増加させ、レスポンスコード要件を200から204に変更する。
- C. デプロイ開始時に/health-check.phpファイルを作成するようデプロイスクリプトを修正し、ヘルスチェックパスをそのファイルを指すように変更する。
- D. すべてのタスクが完了した後に/health-check.phpファイルを作成するようデプロイスクリプトを修正し、ヘルスチェックパスをそのファイルを指すように変更する。
この問題を見る →
-
Q68. 厳格な規制対象となる企業が、DevOpsエンジニアが緊急時以外はAmazon EC2インスタンスにログインしてはならないというポリシーを定めました。DevOpsエンジニアが実際にログインした場合、15分以内にセキュリティチームへ通知する必要があります。
- A. 各EC2インスタンスにAmazon Inspectorエージェントをインストールします。Amazon CloudWatch Events通知を購読します。AWS Lambda関数をトリガーしてメッセージがユーザーのログインに関連しているかを確認し、該当する場合はAmazon SNSを用いてセキュリティチームへ通知します。
- B. 各EC2インスタンスにAmazon CloudWatchエージェントをインストールします。エージェントを構成してすべてのログをAmazon CloudWatch Logsへ送信し、CloudWatchメトリクスフィルターを設定してユーザーのログインを検索します。ログインが検出された場合、Amazon SNSを用いてセキュリティチームへ通知します。
- C. Amazon CloudWatch LogsでAWS CloudTrailを設定します。CloudWatch LogsをAmazon Kinesisへサブスクライブします。AWS LambdaをKinesisにアタッチしてログを解析し、ユーザーのログインを含むか判定します。該当する場合はAmazon SNSを用いてセキュリティチームへ通知します。
- D. 各Amazon EC2インスタンスに、すべてのログをAmazon S3へ送信するスクリプトを設定します。S3イベントを設定してAWS Lambda関数をトリガーし、その関数がAmazon Athenaクエリを実行します。Athenaクエリがログインを検出し、Amazon SNSを用いて結果をセキュリティチームへ送信します。
この問題を見る →
-
Q69. AWS Organizations内に複数のアカウントを持つ企業があります。組織内のいずれかのアカウントがAmazon S3バケットの「パブリックアクセスブロック」機能を無効化した場合、同社のSecOpsチームはAmazon Simple Notification Service(Amazon SNS)による通知を受ける必要があります。DevOpsエンジニアは、既存のAWSアカウントの運用に影響を与えない形でこの要件を実現しなければなりません。また、実装は組織内の個別のメンバーアカウントが通知を無効化できないことを保証しなければなりません。
- A. 委任されたAmazon GuardDuty管理者アカウントとして1つのアカウントを指定します。組織内のすべてのアカウントでGuardDutyを有効化します。GuardDuty管理者アカウント内でSNSトピックを作成し、SecOpsチームのメールアドレスをそのトピックへサブスクライブします。同一アカウント内で、GuardDutyの検出イベントを対象としたAmazon EventBridgeルールを作成し、SNSトピックをターゲットとして設定します。
- B. SNSトピックを作成し、SecOpsチームのメールアドレスをそのトピックへサブスクライブするAWS CloudFormationテンプレートを作成します。テンプレート内に、CloudTrailアクティビティs3:PutBucketPublicAccessBlockを対象としたEventBridgeルールを含めます。CloudFormationスタックセットを用いて、このスタックを組織内のすべての顧客アカウントへ展開します。
- C. 組織全体でAWS Configを有効化します。委任された管理者アカウント内でSNSトピックを作成し、SecOpsチームのメールアドレスをそのトピックへサブスクライブします。各アカウントでS3-bucket-level-public-access-prohibited AWS Configマネージドルールを適用するコンプライアンスパッケージをデプロイし、AWS Systems Managerドキュメントを用いて非準拠イベントをSNSトピックへ発行してSecOpsチームへ通知します。
- D. 組織全体でAmazon Inspectorを有効化します。Amazon Inspector委任管理者アカウント内でSNSトピックを作成し、SecOpsチームのメールアドレスをそのトピックへサブスクライブします。同一アカウント内で、S3バケットのパブリックネットワーク露出を対象としたEventBridgeルールを作成し、SNSトピックへイベントを発行してSecOpsチームへ通知します。
この問題を見る →
-
Q70. ある企業が、AWS上で新しいアプリケーションをホストすることを決定しました。企業はマルチアカウント戦略を採用する必要があります。DevOpsエンジニアはAWS Organizations内で新しいAWSアカウントおよび組織を作成しました。さらに、組織に対してOU構造を作成し、AWS Control Towerを用いてランディングゾーンを設定しました。
DevOpsエンジニアは、AWS Control Tower Account Factoryを用いて新規アカウントを作成した際に、それらのアカウントへリソースを自動的にデプロイするソリューションを実装する必要があります。ユーザーが新規アカウントを作成すると、そのOUまたはアカウントに紐づくAWS CloudFormationテンプレートおよびSCP(Service Control Policy)が自動的に適用され、アカウントに追加のリソースがデプロイされる必要があります。対象のOUはすべてAWS Control Tower内で登録済みです。
これらの要件を最も自動化された形で満たすソリューションはどれですか?
- A. AWS Service CatalogとAWS Control Towerを統合します。AWS Service Catalog内でポートフォリオおよび製品を作成します。これらのリソースをプロビジョニングするための細かい権限を付与します。AWS CLIおよびJSONドキュメントを用いてSCPをデプロイします。
- B. 必要なテンプレートでCloudFormationスタックセットをデプロイします。自動展開を有効化します。スタックインスタンスを必要なアカウントへ展開します。組織のマスターアカウントへCloudFormationスタックセットをデプロイしてSCPをデプロイします。
- C. CreateManagedAccountイベントを検出するAmazon EventBridgeルールを作成します。AWS Service Catalogを、新規アカウントへのリソースデプロイをターゲットとして構成します。AWS CLIおよびJSONドキュメントを用いてSCPをデプロイします。
- D. Customizations for AWS Control Tower(CfCT)ソリューションをデプロイします。AWS CodeCommitリポジトリをソースとして使用します。リポジトリ内に、CloudFormationテンプレートおよびSCP JSONドキュメントを含むカスタムパッケージを作成します。
この問題を見る →
-
Q71. ある企業が、Amazon EC2インスタンス上で実行されるアプリケーションを運用しています。同社はAWS CodePipelineを用いてアプリケーションを複数のAWSリージョンへデプロイしています。パイプラインは各リージョンごとにステージを構成しており、各ステージにはそのリージョン向けのAuto ScalingグループおよびCloudFormationアクションが含まれています。
パイプラインがアプリケーションをあるリージョンへデプロイした後、パイプラインが次のリージョンへ進む前にアプリケーションが健全であることを確認したいと考えています。各リージョンのアプリケーションに対してAmazon Route 53レコードが設定されています。DevOpsエンジニアは、各リージョンのAmazon CloudWatchアラートに基づいたRoute 53ヘルスチェックを作成しました。
DevOpsエンジニアが次に実施すべき手順は何ですか?
- A. CloudWatchアラートのステータスを確認するAWS Step Functionsワークフローを作成します。ワークフローを、アラートがALARM状態の場合にエラー終了するよう設定します。各リージョンのデプロイステージ間に新しいステージをパイプライン内に作成します。各新規ステージに、Step Functionsワークフローを呼び出す操作を含めます。
- B. AWS CodeDeployアプリケーションを構成し、自動ロールバック機能付きCloudFormationテンプレートをデプロイします。CloudWatchアラートをCodeDeployアプリケーションのインスタンスヘルスチェックとして構成します。パイプラインからCloudFormationアクションを削除します。各リージョンのパイプラインステージにCodeDeploy操作を作成します。
- C. アプリケーションをデプロイする各リージョン向けに新しいパイプラインステージを作成します。新規ステージにCloudWatchアラート操作を構成し、CloudWatchアラートのステータスを確認します。アラートがALARM状態の場合、エラー終了します。
- D. EC2インスタンスにCloudWatchエージェントを構成し、Route 53ヘルスチェックへアプリケーションのステータスを報告します。アプリケーションをデプロイする各リージョン向けに新しいパイプラインステージを作成します。CloudWatchアラートがALARM状態の場合、CloudWatchアラート操作をエラー終了およびエラー表示するよう設定します。
この問題を見る →
-
Q72. ある企業の開発者エンジニアは、国際情報システム社のシステム管理者からメンテナンスタスクを実行します。同社はAWSヘルス通知を受けた後に再起動が必要な複数のAmazon EC2インスタンスを保有しています。
DevOpsエンジニアは、Amazon EventBridgeを用いて計画メンテナンスウィンドウ期間中の通知に対応する自動修復ソリューションを実装する必要があります。
DevOpsエンジニアは、これらの要件を満たすためにEventBridgeルールをどのように設定すべきですか?
- A. AWS Healthイベントソースを構成します。計画されたインスタンス終了および停止を示すイベントタイプを構成し、System Manager AutomationランブックをターゲットとしてEC2インスタンスを再起動します。
- B. System Managerイベントソースを構成します。メンテナンスウィンドウを示すイベントタイプを構成し、System Manager AutomationランブックをターゲットとしてEC2インスタンスを再起動します。
- C. AWS Healthイベントソースを構成します。計画されたインスタンス終了および停止を示すイベントタイプを構成し、System Managerメンテナンスウィンドウタスクを登録してEC2インスタンスを再起動する新規AWS Lambda関数をターゲットとします。
- D. EC2イベントソースを構成します。インスタンスステータス通知を示すイベントタイプを構成し、System Managerメンテナンスウィンドウタスクを登録してEC2インスタンスを再起動する新規AWS Lambda関数をターゲットとします。
この問題を見る →
-
Q73. ある動画共有会社が動画をAmazon S3に保存しています。同社は動画へのアクセスリクエストが急増していることに気づきましたが、どの動画が最も人気があるかは不明です。同社は、動画ファイルの一般的なアクセスパターンを特定する必要があります。このパターンには、特定の日付における特定ファイルへのアクセスユーザー数および特定ファイルに対するリクエスト数が含まれます。同社は、最小限の労力でこれらの要件を満たすにはどうすればよいでしょうか?
- A. S3サーバーアクセスログ記録を有効化します。アクセスログをAmazon Auroraデータベースにインポートします。Aurora SQLクエリを使用してアクセスパターンを分析します。
- B. S3サーバーアクセスログ記録を有効化します。Amazon Athenaを使用してログファイルを含む外部テーブルを作成します。AthenaでSQLクエリを作成し、アクセスパターンを分析します。
- C. 各S3オブジェクトアクセスイベントに対してAWS Lambda関数を呼び出します。Lambda関数を設定して、ユーザー、S3バケット、ファイルキーなどのファイルアクセス情報をAmazon Auroraデータベースに書き込みます。Aurora SQLクエリを使用してアクセスパターンを分析します。
- D. 各S3オブジェクトアクセスイベントに対してAmazon CloudWatch Logsのログメッセージを記録します。CloudWatch Logsのログストリームを設定し、ユーザー、S3バケット、ファイルキーなどのファイルアクセス情報をAmazon Kinesis Data Analytics for SQLアプリケーションに送信します。スライディングウィンドウ分析を実行します。
この問題を見る →
-
Q74. ある企業は、自社のEC2インスタンスのセキュリティを確保したいと考えています。同社は、EC2インスタンス上で新たに発見された脆弱性について通知を受け取りたいと考えており、また、インスタンス上の不審なログイン活動について監査トラックを保持したいと考えています。これらの要件を満たすソリューションはどれでしょうか?
- A. AWS Systems Managerを使用してEC2インスタンス上の脆弱性を検出します。システムログをキャプチャしてAmazon S3に送信するため、Amazon Kinesis Agentをインストールします。
- B. AWS Systems Managerを使用してEC2インスタンス上の脆弱性を検出します。システムログをキャプチャするためSystems Manager Agentをインストールし、CloudTrailコンソールでログイン活動を確認します。
- C. Amazon CloudWatchを設定してEC2インスタンス上の脆弱性を検出します。システムログをキャプチャするためAWS Configデーモンをインストールし、AWS Configコンソールでそれらを確認します。
- D. Amazon Inspectorを設定してEC2インスタンス上の脆弱性を検出します。システムログをキャプチャするためAmazon CloudWatch Agentをインストールし、Amazon CloudWatch Logsで記録します。
この問題を見る →
-
Q75. セキュリティ監査により、AWS CodeBuildプロジェクトが、認証されていないリクエストを使用してAmazon S3バケットからデータベース初期化スクリプトをダウンロードしていることが判明しました。セキュリティチームは、当該CodeBuildプロジェクトのS3バケットへの認証されていないリクエストを許可しません。
この問題を最も安全な方法で修正するにはどうすればよいでしょうか?
- A. バケット名をCodeBuildプロジェクト設定のAllowedBucketsセクションに追加します。ビルド仕様を更新し、AWS CLIを使用してデータベース初期化スクリプトをダウンロードします。
- B. S3バケット設定を変更してHTTPS基本認証を有効化し、トークンを指定します。ビルド仕様を更新し、cURLを使用してトークンを渡してデータベース初期化スクリプトをダウンロードします。
- C. バケットポリシーを使用してS3バケットからの認証されていないアクセスを削除します。CodeBuildプロジェクトのサービスロールを変更し、Amazon S3へのアクセス権限を含めます。AWS CLIを使用してデータベース初期化スクリプトをダウンロードします。
- D. バケットポリシーを使用してS3バケットからの認証されていないアクセスを削除します。IAMアクセスキーおよびシークレットアクセスキーを使用してAWS CLIでデータベース初期化スクリプトをダウンロードします。
この問題を見る →
-
Q76. 開発者は、50台のAmazon EC2 Linuxサーバーから構成されるクラスターを管理しています。これらのサーバーはAmazon EC2 Auto Scalingグループの一部であり、Elastic Load Balancing(ELB)で負荷分散されています。
最近、いくつかのアプリケーションサーバーがELBのHTTPヘルスチェックに失敗した後に終了しています。開発者はこの問題の根本原因を分析したいと考えていますが、サーバーが終了する前にアプリケーションログにアクセスできません。
ログ収集を自動化するにはどうすればよいでしょうか?
- A. Auto Scalingライフサイクルフックを使用してインスタンスをPending:Wait状態にします。EC2 Instance Terminate Successfulに対してAmazon CloudWatchアラームを作成し、AWS Lambda関数をトリガーしてSSM Run Commandスクリプトを呼び出してログを収集し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
- B. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2インスタンス終了ライフサイクル操作に対してAWS Configルールを作成し、Step Functionsをトリガーしてログ収集スクリプトを呼び出し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
- C. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2 Instance Terminate Successfulに対してAmazon CloudWatchサブスクリプションフィルターを作成し、CloudWatch Agentをトリガーしてログ収集スクリプトを呼び出し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
- D. Auto Scalingライフサイクルフックを使用してインスタンスをTerminating:Wait状態にします。EC2インスタンス終了ライフサイクル操作に対してAmazon EventBridgeルールを作成し、AWS Lambda関数をトリガーしてSSM Run Commandスクリプトを呼び出してログを収集し、Amazon S3にプッシュした後、ライフサイクル操作を完了します。
この問題を見る →
-
Q77. ある企業は、アプリケーションのデータストアとしてAmazon Auroraクラスターを使用しています。Auroraクラスターには1つのDBインスタンスが構成されています。アプリケーションは、Auroraクラスターのインスタンスエンドポイントを使用してデータベースに対して読み書き操作を実行しています。
同社は、予定されたメンテナンスウィンドウ期間中にクラスターを更新する計画です。メンテナンスウィンドウ期間中は、クラスターの可用性を維持し、中断を可能な限り最小限に抑える必要があります。
DevOpsエンジニアは、これらの要件を満たすためにどのようにすべきでしょうか?
- A. Auroraクラスターにリーダーインスタンスを追加します。アプリケーションを更新し、書き込み操作にAuroraクラスターエンドポイントを使用するようにします。読み取り操作にはAuroraクラスターのリーダーエンドポイントを使用するようにAuroraクラスターを更新します。
- B. Auroraクラスターにリーダーインスタンスを追加します。クラスター用のカスタム任意エンドポイントを作成します。アプリケーションを更新し、Auroraクラスターのカスタム任意エンドポイントを使用して読み書き操作を行うようにします。
- C. AuroraクラスターでMulti-AZオプションを有効化します。アプリケーションを更新し、書き込み操作にAuroraクラスターエンドポイントを使用するようにします。読み取り操作にはAuroraクラスターのリーダーエンドポイントを使用するようにAuroraクラスターを更新します。
- D. AuroraクラスターでMulti-AZオプションを有効化します。クラスター用のカスタム任意エンドポイントを作成します。アプリケーションを更新し、Auroraクラスターのカスタム任意エンドポイントを使用して読み書き操作を行うようにします。
この問題を見る →
-
Q78. ある企業は、レコード処理を行う同期型アプリケーションを実行しています。各コンポーネントはAuto Scalingグループで実行されるAmazon EC2インスタンス上にあります。各レコードの処理は、そのタイプに応じた複数の手順からなる順次処理です。各手順は常に5分以内に完了します。
現在のシステムの課題は、いずれかの手順が失敗した場合、アプリケーション全体がレコードを最初から再処理することです。同社は、アプリケーションが失敗した手順のみを再処理するようにアーキテクチャを更新したいと考えています。
これらの要件を満たす最も効率的な運用ソリューションはどれでしょうか?
- A. レコードをAmazon S3に書き込むWebアプリケーションを作成します。S3イベント通知を使用してAmazon Simple Notification Service(Amazon SNS)トピックにパブリッシュします。EC2インスタンスがAmazon SNSをポーリングして処理を開始します。中間結果をAmazon S3に保存して次のステップに渡します。
- B. アプリケーション内のロジックで処理手順を実行します。アプリケーションコードをコンテナ内で実行するように変換します。AWS Fargateでコンテナインスタンスを管理します。コンテナを自身を呼び出してステートを次のステップに渡すように構成します。
- C. レコードをAmazon Kinesisデータストリームに送信するWebアプリケーションを作成します。KinesisデータストリームおよびAWS Lambda関数で処理を分離します。
- D. レコードをAWS Step Functionsに渡すWebアプリケーションを作成します。処理をStep FunctionsタスクおよびAWS Lambda関数に分割します。
この問題を見る →
-
Q79. ある企業は、AWS CodeBuildを使用してコンテナベースのアプリケーションをデプロイしています。セキュリティチームは、保護されたエンドポイントへのデプロイ前に、対象コンテナに対して脆弱性スキャンを実施することを要求しています。また、すべての機密情報は安全に保管される必要があります。
これらの要件を満たすには、どのソリューションを使用すべきでしょうか?
- A. AWS KMSでパスワードを暗号化します。暗号化されたパスワードをbuildspec.ymlファイル内の環境変数として変数マッピング下に格納します。環境変数を参照してスキャンを起動します。
- B. パスワードをAWS CloudHSMキーにインポートします。buildspec.ymlファイル内でCloudHSMキーを変数マッピング下の環境変数として参照します。環境変数を参照してスキャンを起動します。
- C. パスワードをAWS Systems Manager Parameter Storeにセキュア文字列として保存します。Parameter Storeのキーをbuildspec.ymlファイル内のパラメータストアマッピング下の環境変数として追加します。環境変数を参照してスキャンを起動します。
- D. AWS Encryption SDKを使用してパスワードを暗号化し、secretsマッピング下の変数としてbuildspec.ymlファイルに埋め込みます。必要な復号化キーへのアクセスを有効にするポリシーをCodeBuildにアタッチします。
この問題を見る →
-
Q80. ある企業はコンテナをアプリケーションに使用しています。同社は、一部のコンテナイメージが必要なセキュリティ設定を欠いていることに気づきました。
ある開発者エンジニアは、標準的なベースイメージを作成するソリューションを実装する必要があります。このソリューションは、米国西部(オレゴン)、米国東部(バージニア北部)、欧州(フランクフルト)の各リージョンに毎週ベースイメージを公開する必要があります。
- A. コンテナレシピを使用してイメージを構築するEC2 Image Builderパイプラインを作成します。パイプラインを設定し、イメージを米国西部(オレゴン)のAmazon Elastic Container Registry(Amazon ECR)リポジトリに配布します。米国西部(オレゴン)から米国東部(バージニア北部)、さらに米国東部(バージニア北部)から欧州(フランクフルト)へECRレプリケーションを設定します。パイプラインを毎週実行するように設定します。
- B. AWS CodeBuildプロジェクトを使用してイメージを構築するAWS CodePipelineを作成します。AWS CodeDeployを使用して、イメージを米国西部(オレゴン)のAmazon Elastic Container Registry(Amazon ECR)リポジトリに公開します。米国西部(オレゴン)から米国東部(バージニア北部)、さらに米国東部(バージニア北部)から欧州(フランクフルト)へECRレプリケーションを設定します。パイプラインを毎週実行するように設定します。
- C. コンテナレシピを使用してイメージを構築するEC2 Image Builderパイプラインを作成します。パイプラインを設定し、イメージを3つのリージョンすべてのAmazon Elastic Container Registry(Amazon ECR)リポジトリに配布します。パイプラインを毎週実行するように設定します。
- D. AWS CodeBuildプロジェクトを使用してイメージを構築するAWS CodePipelineを作成します。AWS CodeDeployを使用して、イメージを3つのリージョンすべてのAmazon Elastic Container Registry(Amazon ECR)リポジトリに公開します。パイプラインを毎週実行するように設定します。
この問題を見る →
-
Q81. ある企業がAWSネットワークファイアウォールのログをAmazon S3バケットに送信しています。その後、同社はAmazon Athenaを使用してこれらのログを分析しています。
これらのログを既存のS3バケットに送信する前に、企業はログを変換し、追加のデータを付与する必要があります。
これらの要件を満たすソリューションはどれですか?
- A. データを変換するAWS Lambda関数を作成し、既存のS3バケットに新しいオブジェクトを書き込みます。既存のS3バケットに対してS3トリガーを設定します。イベントタイプとして「すべてのオブジェクト作成イベント」を指定します。再帰呼び出しを許可します。
- B. 既存のS3バケットでAmazon EventBridge通知を有効化します。カスタムイベントバスを作成します。カスタムイベントバスに関連付けられたEventBridgeルールを作成します。このルールを、既存のS3バケットにおける「すべてのオブジェクト作成イベント」に応答するように設定し、AWS Step Functionsワークフローを呼び出します。Step Functionsタスクを構成してデータを変換し、新しいS3バケットに書き込みます。
- C. デフォルトイベントバスに関連付けられたAmazon EventBridgeルールを作成します。このルールを、既存のS3バケットにおける「すべてのオブジェクト作成イベント」に応答するように設定します。新しいS3バケットをルールのターゲットとして定義します。イベントがルールターゲットに渡される前に、EventBridge入力変換を使用してイベントをカスタマイズします。
- D. Amazon Kinesis Data Firehose配信ストリームを作成し、AWS Lambdaトランスフォーマーを構成します。既存のS3バケットを宛先として指定します。ネットワークファイアウォールのログ記録先をAmazon S3からKinesis Data Firehoseに変更します。
この問題を見る →
-
Q82. ある企業がAWS CloudFormationを使用してアプリケーション環境のデプロイを実行しています。最近、CloudFormationスタックの更新時にデプロイが失敗しました。DevOpsエンジニアは、スタック内の一部のリソースが手動で変更されたことを発見しました。
DevOpsエンジニアは、リソースの手動変更を検出し、DevOpsマネージャーにアラートを送信するソリューションを必要としています。
これらの要件を最小限の運用工数で満たすソリューションはどれですか?
- A. Amazon Simple Notification Service (Amazon SNS) トピックを作成します。メールアドレスでDevOpsチームのSNSトピックをサブスクライブします。識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。SNSトピックをルールのターゲットとして設定します。
- B. すべてのCloudFormationリソースに特定のタグを付与します。AWS Config Rules Development Kit Library (RDKlib) を使用して、特定のタグを持つすべてのリソースの変更をチェックするAWS Configカスタムルールを作成します。CloudFormationが変更を行っていない場合、すべてのタグ付きリソース変更を「NON_COMPLIANT」としてマークするようカスタムルールを設定します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。DevOpsマネージャーにメールを送信するAWS Lambda関数を作成します。Lambda関数をルールのターゲットとして設定します。
- C. Amazon Simple Notification Service (Amazon SNS) トピックを作成します。メールアドレスでDevOpsチームのSNSトピックをサブスクライブします。識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。SNSトピックをルールのターゲットとして設定します。
- D. 識別子「CLOUDFORMATION_STACK_DRIFT_DETECTION_CHECK」を持つAWS Configマネージドルールを作成します。リソース状態が「NON_COMPLIANT」時に起動するAmazon EventBridgeルールを作成します。DevOpsマネージャーにメールを送信するAWS Lambda関数を作成します。Lambda関数をルールのターゲットとして設定します。
この問題を見る →
-
Q83. ある企業がAmazon S3バケットで静的ウェブサイトをホストしています。ユーザーはexample.comでそのウェブサイトにアクセスできます。同社はTTLが1日のAmazon Route 53の加重ルーティングポリシーを使用しています。同社は、現在の静的ウェブサイトを動的ウェブアプリケーションに置き換えることを決定しました。動的ウェブアプリケーションは、Application Load Balancer(ALB)を使用する一連のAmazon EC2インスタンス上で実行されます。
本番リリース当日、同社はALBを指す追加のRoute 53加重DNSレコードエントリを作成し、重みを255、TTLを1日に設定しました。24時間後、DevOpsエンジニアは、ユーザーがexample.comにアクセスすると、依然として以前の静的ウェブサイトが表示されることに気づきました。
DevOpsエンジニアは、example.comに対して動的コンテンツのみを提供するようにするにはどうすればよいですか?
- A. 静的ウェブサイトコンテンツを格納するS3バケットからすべてのオブジェクト(以前のバージョンを含む)を削除します。
- B. S3バケットを指す加重DNSレコードエントリを更新し、重みを0に適用します。即時伝搬を可能にするドメインリセットオプションを指定します。
- C. S3バケット上で、ALBのホスト名へのリダイレクトを設定してウェブページリダイレクト要求を構成します。
- D. example.comのホストゾーンからS3バケットを指す加重DNSレコードエントリを削除します。DNS伝搬が完了するまで待ちます。
この問題を見る →
-
Q84. ある企業がGo言語で記述されたオンプレミスアプリケーションを運用しています。DevOpsエンジニアは、このアプリケーションをAWSに移行することを検討しています。同社の開発チームはブルー/グリーンデプロイとA/Bテストを実施したいと考えています。
- A. Amazon EC2インスタンス上にアプリケーションを展開し、インスタンスのAMIを作成します。Auto Scalingグループで使用するAuto Scaling起動設定を作成します。Elastic Load Balancingを使用してトラフィックを分散します。アプリケーションを変更する際には新しいAMIを作成し、EC2インスタンスの更新を開始します。
- B. Amazon Lightsailを使用してアプリケーションを展開します。アプリケーションを圧縮形式でAmazon S3バケットに保存します。この圧縮バージョンを使用してLightsailにアプリケーションの新バージョンをデプロイします。Lightsailのデプロイオプションを使用してデプロイを管理します。
- C. AWS CodeArtifactを使用してアプリケーションコードを保存します。AWS CodeDeployを使用してアプリケーションを一連のAmazon EC2インスタンスにデプロイします。Elastic Load Balancingを使用してEC2インスタンスにトラフィックを分散します。アプリケーションを変更する際には、新バージョンをCodeArtifactにアップロードし、新しいCodeDeployデプロイを作成します。
- D. AWS Elastic Beanstalkを使用してアプリケーションをホストします。アプリケーションの圧縮バージョンをAmazon S3に保存します。その場所を使用してアプリケーションの新バージョンをデプロイします。Elastic Beanstalkのデプロイオプションを使用してデプロイを管理します。
この問題を見る →
-
Q85. ある企業がApplication Load Balancer(ALB)をアプリケーションアーキテクチャの一部として使用しています。同社はAWS Organizationsの組織内にあるAWSアカウントでALBを所有しています。同社は組織内の各AWSアカウントでAWS Configを構成済みです。
同社は、一連の共通ルールを含むAWS WAF Web ACLを対象のALBに適用する必要があります。これには今後作成されるALBも含まれます。各AWSアカウントの管理者は、セキュリティチームが提供する共通ルールに加えて、自身のAWS WAFルールをカスタマイズしたいと考えています。
- A. 組織に対してAWS Firewall Managerを構成します。Firewall Manager管理者アカウントでAWS WAFポリシーを作成します。自動修復を有効化し、Web ACLを定義します。ポリシー範囲を組織内のすべてのALBに適用するように構成します。
- B. 組織のマスターアカウントからAWS Resource Access Manager(AWS RAM)を使用して、組織内でリソース共有を有効化します。Web ACLを作成します。組織全体でWeb ACLのリソース共有を構成します。共有されたWeb ACLを組織内のすべてのALBに関連付けます。
- C. 自動修復機能付きのALB_WAF_ENABLED AWS Configマネージドルールを設定します。このルールを、すべてのALBにWeb ACLを作成・アタッチするように構成します。このルールを含むAWS Configコンプライアンスパッケージを作成します。コンプライアンスパッケージを組織内のすべてのAWSアカウントにデプロイします。
- D. 組織に対してAWS Firewall Managerを構成します。Firewall Manager管理者アカウントで、Web ACLを定義するAWS WAFポリシーを作成します。自動修復機能付きのALB_WAF_ENABLED AWS Configマネージドルールを設定します。このルールを、各AWSアカウント内のすべてのALBにWeb ACLをアタッチするように構成します。このルールを組織内のすべてのAWSアカウントにデプロイします。
この問題を見る →
-
Q86. ある企業がAmazon EC2インスタンス上でアプリケーションを実行しています。アプリケーションのメタデータはAmazon S3に保存されており、インスタンスが再起動した際にこれらのメタデータを取得できます。
インスタンスが応答しなくなった場合、インスタンスは自動的に再起動または再起動されます。
- A. StatusCheckFailedメトリクスに対してAmazon CloudWatchアラームを作成します。復旧アクションとしてインスタンスを停止・起動します。インスタンスが復旧して実行中になったら、S3イベント通知を使用してメタデータをインスタンスにプッシュします。
- B. AWS OpsWorksを構成し、自動修復機能を使用してインスタンスを停止・起動します。OpsWorksのライフサイクルイベントを使用してAmazon S3からメタデータを取得し、インスタンス上で更新します。
- C. EC2 Auto Recoveryを使用して障害発生時に自動的にインスタンスを停止・起動します。インスタンスが復旧して実行中になったら、S3イベント通知を使用してメタデータをインスタンスにプッシュします。
- D. AWS CloudFormationを使用してEC2インスタンスを作成し、EC2リソースのUserDataプロパティを含めます。UserDataに、Amazon S3からアプリケーションメタデータを取得するコマンドを追加します。
この問題を見る →
-
Q87. ある企業がAWS上でホストされるサーバーレスWebアプリケーションを開発しました。このアプリケーションはAmazon S3、Amazon API Gateway、複数のAWS Lambda関数、およびAmazon RDS for MySQLデータベースで構成されています。同社はAWS CodeCommitを使用してソースコードを保管しており、ソースコードはAWS Serverless Application Model(AWS SAM)テンプレートとPythonコードの組み合わせです。
セキュリティ監査およびペネトレーションテストの結果、データベース認証用のユーザー名とパスワードがCodeCommitリポジトリ内にハードコードされていることが判明しました。
DevOpsエンジニアは、ハードコードされたシークレットを自動検出し防止するソリューションを実装する必要があります。
- A. Amazon CodeGuru Profilerを有効化します。処理関数に@with_lambda_profiler()デコレータを適用します。推奨レポートを手動でレビューします。シークレットをセキュア文字列としてAWS Systems Manager Parameter Storeに書き込みます。SAMテンプレートおよびPythonコードを更新してParameter Storeからシークレットを取得するようにします。
- B. CodeCommitリポジトリをAmazon CodeGuru Reviewerと関連付けます。コードレビューの推奨事項を手動で確認します。「シークレットの保護」オプションを選択します。SAMテンプレートおよびPythonコードを更新してAWS Secrets Managerからキーを取得するようにします。
- C. Amazon CodeGuru Profilerを有効化します。処理関数に@with_lambda_profiler()デコレータを適用します。推奨レポートを手動でレビューします。「シークレットの保護」オプションを選択します。SAMテンプレートおよびPythonコードを更新してAWS Secrets Managerからキーを取得するようにします。
- D. CodeCommitリポジトリをAmazon CodeGuru Reviewerと関連付けます。コードレビューの推奨事項を手動で確認します。キーを文字列としてAWS Systems Manager Parameter Storeに書き込みます。SAMテンプレートおよびPythonコードを更新してParameter Storeからシークレットを取得するようにします。
この問題を見る →
-
Q88. ある企業がAWSアカウント内でセキュリティ監査アプリケーションをホストしています。監査アプリケーションはIAMロールを使用して他のAWSアカウントにアクセスします。対象となるアカウントはすべて、同じAWS Organizations組織内にあります。
最近のセキュリティ監査では、監査対象のAWSアカウント内のユーザーが監査アプリケーションのIAMロールを変更または削除できることを確認しました。同社は、信頼された管理者IAMロール以外のいかなるエンティティも、監査アプリケーションのIAMロールに対する変更を一切行えないようにする必要があります。
- A. 監査アプリケーションのIAMロールの変更を拒否するDenyステートメントを含むSCPを作成します。信頼された管理者IAMロールによる変更を許可する条件を含めます。このSCPを組織のルートにアタッチします。
- B. 監査アプリケーションのIAMロールの変更を許可するAllowステートメントを含むSCPを作成します。信頼された管理者IAMロールを除くすべてのIAM主体による変更を拒否するDenyステートメントを含めます。このSCPを、監査アプリケーションのIAMロールが存在する各AWSアカウントのIAMサービスにアタッチします。
- C. 監査アプリケーションのIAMロールの変更を拒否するDenyステートメントを含むIAM権限境界を作成します。信頼された管理者IAMロールによる変更を許可する条件を含めます。この権限境界を監査対象のAWSアカウントにアタッチします。
- D. 監査アプリケーションのIAMロールの変更を拒否するDenyステートメントを含むIAM権限境界を作成します。信頼された管理者IAMロールによる変更を許可する条件を含めます。この権限境界をAWSアカウント内の監査アプリケーションのIAMロールにアタッチします。
この問題を見る →
-
Q89. ある会社がAWSリージョンでWebアプリケーションをホストしています。ディザスタリカバリ(DR)の目的で、2番目のリージョンがDRサイトとして設定されています。DR要件では、セッションデータをリージョン間でほぼリアルタイムにレプリケートし、1%のトラフィックを機能検証のためにサードリージョン(二次リージョン)にルーティングする必要があります。さらに、プライマリリージョンでサービス障害が発生した場合、トラフィックは自動的にセカンダリリージョンにルーティングされ、セカンダリリージョンはトラフィック増加に対応できるようにスケールアウト可能である必要があります。
DevOpsエンジニアはこれらの要件をどのように満たすべきでしょうか?
- A. 両方のリージョンでAWS Elastic Beanstalk上にアプリケーションをデプロイし、Amazon DynamoDBグローバルテーブルを使用してセッションデータを保存します。ヘルスチェック付きのAmazon Route 53の加重ルーティングポリシーを使用して、リージョン間でトラフィックを分散します。
- B. 両方のリージョンでAuto Scalingグループ内でアプリケーションを起動し、DynamoDBを使用してセッションデータを管理します。ヘルスチェック付きのRoute 53のフェイルオーバールーティングポリシーを使用して、リージョン間でトラフィックを分散します。
- C. 両方のリージョンでAWS Lambdaにアプリケーションをデプロイし、Amazon API Gatewayで公開します。また、Amazon RDS PostgreSQLとセッションデータのクロスリージョンレプリケーションを使用します。クライアント側のロジックでWebアプリケーションをデプロイし、API Gatewayを直接呼び出します。
- D. 両方のリージョンでAuto Scalingグループ内でアプリケーションを起動し、DynamoDBグローバルテーブルを使用してセッションデータを管理します。Amazon CloudFrontの加重配信をリージョン間で有効化します。Amazon Route 53のDNSレコードをCloudFront配信を指すように設定します。
この問題を見る →
-
Q90. あるDevOpsエンジニアが、AWS上で稼働するソフトウェア・アズ・ア・サービス(SaaS)Webアプリケーション向けに継続的デプロイ戦略を設計しています。アプリケーションおよびセキュリティ上の理由から、このアプリケーションのサブスクライバーは複数のアプリケーションロードバランサー(ALB)に分散されており、各ALBは専用のAuto ScalingグループおよびAmazon EC2インスタンス群に接続されています。このアプリケーションにはビルドステップは不要であり、AWS CodeCommitにプッシュされた時点で、該当するALB、Auto ScalingグループおよびEC2インスタンス群に対して同期デプロイがトリガーされます。
これらの要件を最小限の設定で満たすアーキテクチャはどれでしょうか?
- A. 各ALB-Auto Scalingグループペアごとに一意のAWS CodeDeployアプリケーションおよびデプロイメントグループを作成し、それらを並列でデプロイする単一のAWS CodePipelineパイプラインを作成します。
- B. 単一のAWS CodePipelineパイプラインを作成し、単一のAWS CodeDeployアプリケーションおよび単一のデプロイメントグループを使用してアプリケーションをデプロイします。
- C. 単一のAWS CodePipelineパイプラインを作成し、単一のAWS CodeDeployアプリケーションと各ALB-Auto Scalingグループペアごとの一意のデプロイメントグループを使用して、並列でアプリケーションをデプロイします。
- D. 各ALB-Auto Scalingグループペアごとに、同一のALB-Auto Scalingグループペア向けに作成されたAWS CodeDeployアプリケーションおよびデプロイメントグループを使用してアプリケーションをデプロイするための個別のAWS CodePipelineパイプラインを作成します。
この問題を見る →
-
Q91. ある会社が単一のAWSアカウントを用いて、1つのAWSリージョンで数百台のAmazon EC2インスタンスを実行しています。このアカウントでは、常に新しいEC2インスタンスの起動および終了が行われています。また、1週間以上実行中の既存のEC2インスタンスも存在します。会社のセキュリティポリシーでは、実行中のすべてのEC2インスタンスがEC2インスタンスプロファイルを使用することを義務付けています。EC2インスタンスがインスタンスプロファイルをアタッチされていない場合、そのインスタンスは未割り当てのIAM権限を持つデフォルトのインスタンスプロファイルを使用しなければなりません。DevOpsエンジニアがアカウントを調査したところ、インスタンスプロファイルがアタッチされていない状態で実行中のEC2インスタンスが確認されました。レビュー期間中、DevOpsエンジニアは新たに起動されるEC2インスタンスにもインスタンスプロファイルがアタッチされていないことを観測しました。
このリージョンで現在実行中および今後起動されるすべてのEC2インスタンスにインスタンスプロファイルを確実にアタッチするソリューションはどれでしょうか?
- A. EC2RunInstances API呼び出しに応答するAmazon EventBridge(Amazon CloudWatch Events)ルールを設定します。このルールを、AWS Lambda関数を呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチするように設定します。
- B. 構成変更をトリガーとするec2-instance-profile-attached AWS Configマネージドルールを設定します。自動修復アクションとして、AWS Systems Manager Automation runbookを呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチするように設定します。
- C. EC2StartInstances API呼び出しに応答するAmazon EventBridge(Amazon CloudWatch Events)ルールを設定します。このルールを、AWS Systems Manager Automation runbookを呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチするように設定します。
- D. 構成変更をトリガーとするiam-role-managed-policy-check AWS Configマネージドルールを設定します。自動修復アクションとして、AWS Lambda関数を呼び出してEC2インスタンスにデフォルトのインスタンスプロファイルをアタッチするように設定します。
この問題を見る →
-
Q92. アプリケーションを実行するために、DevOpsエンジニアはパブリックサブネット内のパブリックIPアドレスを使用してAmazon EC2インスタンスを起動します。ユーザーデータスクリプトがアプリケーションアーティファクトを取得し、起動時にインスタンス上にインストールします。アプリケーションのセキュリティ分類に関する新たな要件により、インスタンスはインターネットアクセスなしで実行される必要があります。インスタンスは正常に起動し、ヘルスステータスも正常ですが、アプリケーションがインストールされていないようです。
新しい要件を遵守しつつ、以下のうちアプリケーションのインストールを成功させる方法はどれでしょうか?
- A. Elastic IPアドレスがアタッチされたパブリックサブネットでインスタンスを起動します。アプリケーションのインストールおよび実行後に、Elastic IPアドレスの関連付けを解除するスクリプトを実行します。
- B. NATゲートウェイを設定します。EC2インスタンスをプライベートサブネットにデプロイし、プライベートサブネットのルートテーブルを更新して、NATゲートウェイをデフォルトルートとして指定します。
- C. アプリケーションアーティファクトをAmazon S3バケットに公開し、S3用のVPCエンドポイントを作成します。EC2インスタンスにIAMインスタンスプロファイルを割り当て、S3バケットからアーティファクトを読み取れるようにします。
- D. アプリケーションインスタンス用のセキュリティグループを作成し、アーティファクトストアへのアウトバウンドトラフィックのみを許可します。インストール完了後に、セキュリティグループのルールを削除します。
この問題を見る →
-
Q93. ある会社がAWS組織内の組織単位(OU)に属するAWSアカウントでアプリケーションを実行しており、これらのアプリケーションはAmazon EC2インスタンスおよびAmazon S3を使用しています。この会社は、AWSアカウントおよび将来新規作成されるAWSアカウントにおける、潜在的な侵害を受けたEC2インスタンス、疑わしいネットワーク活動、異常なAPI活動を検出したいと考えています。これらのイベントのいずれかが検出された場合、会社は既存のAmazon Simple Notification Service(Amazon SNS)トピックを使用して、セキュリティサポートチームに通知を送信し、調査および是正措置を実施したいと考えています。
AWSのベストプラクティスに基づき、これらの要件を満たすソリューションはどれでしょうか?
- A. 組織の管理アカウントで、AWSアカウントをAmazon GuardDutyの管理者アカウントとして設定します。GuardDuty管理者アカウント内で、会社の既存のAWSアカウントをメンバーとしてGuardDutyに追加します。GuardDuty管理者アカウント内で、GuardDutyイベントにマッチするイベントパターンを持つAmazon EventBridgeルールを作成し、マッチしたイベントをSNSトピックに転送します。
- B. 組織の管理アカウントで、Amazon GuardDutyを設定し、新規作成されたAWSアカウントを招待によって追加し、既存のAWSアカウントに招待を送信します。GuardDuty招待を受け入れるAWS CloudFormationスタックセットを作成し、Amazon EventBridgeルールを作成します。このルールを、GuardDutyイベントにマッチするイベントパターンで設定し、マッチしたイベントをSNSトピックに転送します。CloudFormationスタックセットを組織内のすべてのAWSアカウントにデプロイするように設定します。
- C. 組織の管理アカウントで、AWS CloudTrailの組織トレースを作成します。組織内のすべてのAWSアカウントで組織トレースを有効化します。SCP(Service Control Policy)を作成し、組織内の各アカウントでVPCフローログを有効化します。組織全体でAWS Security Hubを設定します。イベントパターンを使用してAmazon EventBridgeルールを作成し、Security Hubのイベントにマッチさせ、マッチしたイベントをSNSトピックに転送します。
- D. 組織の管理アカウントで、AWSアカウントをAWS CloudTrailの管理者アカウントとして設定します。CloudTrail管理者アカウント内で、CloudTrailの組織トレースを作成します。会社の既存のAWSアカウントを組織トレースに追加します。SCPを作成し、組織内の各アカウントでVPCフローログを有効化します。組織全体でAWS Security Hubを設定します。イベントパターンを使用してAmazon EventBridgeルールを作成し、Security Hubのイベントにマッチさせ、マッチしたイベントをSNSトピックに転送します。
この問題を見る →
-
Q94. セキュリティ監査の結果、ある会社が一部のセキュリティグループが0.0.0.0/0からのSSHトラフィックを許可していることを発見しました。セキュリティチームは、この問題をできるだけ迅速に検出し是正するソリューションを実装したいと考えています。この会社は、AWS Organizationsを用いて、全社のセキュリティサービスを管理するセキュリティサービスアカウントを運用しています。
- A. すべてのAWSアカウントでAWS Configを有効化します。周期的なトリガーを使用してVPC_SG_OPEN_ONLY_TO_AUTHORIZED_PORTS(vpc-port-check)AWS Configマネージドルールをアクティブ化します。不適合リソースを是正するAWS Lambda関数を作成します。
- B. 各AWSアカウントで、すべてのセキュリティグループルールを削除するAWS Lambda関数を作成します。セキュリティグループの更新または作成イベントにマッチするAmazon EventBridgeルールを作成し、各アカウントのLambda関数をそのルールのターゲットとして設定します。
- C. すべてのAWSアカウントでAWS Configを有効化します。構成変更をトリガーとするカスタムAWS Configルールを作成します。このルールを、不適合リソースを是正するAWS Lambda関数を呼び出すように設定します。
- D. 各アカウントで、すべてのセキュリティグループをチェックし、不適合ルールを削除するAWS Systems Manager Automationドキュメントを作成します。Amazon EventBridge Schedulerを用いて、このAutomationドキュメントを1時間ごとに実行します。
この問題を見る →
-
Q95. ある会社がAmazon EC2インスタンス上で実行されるアプリケーションを保有しています。このアプリケーションは頻繁に再起動する必要があります。再起動時に、アプリケーションログにエラーメッセージが出力されます。
アプリケーションログはAmazon CloudWatch Logsのロググループに送信されます。
ログに再起動に関連するエラーメッセージが出力された場合、Amazon CloudWatchアラームがAmazon Simple Notification Service(Amazon SNS)トピックを介してアプリケーションエンジニアに通知します。アプリケーションエンジニアがSNSトピックから通知を受け取った後、手動でインスタンス上でアプリケーションを再起動します。
DevOpsエンジニアは、インスタンス自体を再起動することなく、インスタンス上のアプリケーションを自動的に再起動するソリューションを実装する必要があります。
これらの要件を最も効率的に満たすソリューションはどれでしょうか?
- A. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。SNSトピックをランブックの呼び出し元として設定します。
- B. インスタンス上でアプリケーションを再起動するAWS Lambda関数を作成します。Lambda関数をSNSトピックのイベント宛先として設定します。
- C. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。ランブックを呼び出すAWS Lambda関数を作成します。Lambda関数をSNSトピックのイベント宛先として設定します。
- D. インスタンス上でアプリケーションを再起動するスクリプトを実行するAWS Systems Manager Automationランブックを設定します。CloudWatchアラームがアラート状態になったときに反応するAmazon EventBridgeルールを設定します。ルールのターゲットとしてランブックを指定します。
この問題を見る →
-
Q96. ある会社は、内部のビジネスチームが事前に承認されたAWS CloudFormationテンプレートのみを使用してリソースをデプロイすることを要求しています。リソースが予期された状態から逸脱した場合、セキュリティチームは自動的に監視する必要があります。
- A. ユーザーがCloudFormationサービスロールのみを使用してCloudFormationスタックをデプロイできるように許可します。CloudFormationのドリフト検出機能を使用して、リソースが予期された状態から逸脱したタイミングを検出します。
- B. ユーザーがCloudFormationサービスロールのみを使用してCloudFormationスタックをデプロイできるように許可します。AWS Configルールを使用して、リソースが予期された状態から逸脱したタイミングを検出します。
- C. ユーザーがAWS Service Catalogのみを使用してCloudFormationスタックをデプロイできるように許可します。起動制約を強制します。AWS Configルールを使用して、リソースが予期された状態から逸脱したタイミングを検出します。
- D. ユーザーがAWS Service Catalogのみを使用してCloudFormationスタックをデプロイできるように許可します。テンプレート制約を強制します。Amazon EventBridge通知を使用して、リソースが予期された状態から逸脱したタイミングを検出します。
この問題を見る →
-
Q97. ある企業が、AWS CodePipeline を使用してソフトウェアリリースパイプラインの自動化を進めています。AWS CodeDeploy がパイプライン内で使用され、Amazon Elastic Container Service (Amazon ECS) へのアプリケーションデプロイメントにブルー/グリーンデプロイメントモデルが採用されています。同社は、トラフィックをグリーン環境に切り替える前に、テストスクリプトを実行してグリーン環境のアプリケーションを検証したいと考えています。これらのスクリプトは5分以内に完了する必要があります。テスト中にエラーが検出された場合、アプリケーションは自動的にロールバックされる必要があります。
- A. ソースステージとデプロイステージの間に、CodePipeline に新しいステージを追加します。AWS CodeBuild を使用して実行環境を作成し、buildspec ファイル内のコマンドでテストスクリプトを呼び出します。エラーが検出された場合は、aws deploy stop-deployment コマンドを使用してデプロイを停止します。
- B. ソースステージとデプロイステージの間に、CodePipeline に新しいステージを追加します。このステージで、テストスクリプトを実行する AWS Lambda 関数を呼び出します。エラーが検出された場合は、aws deploy stop-deployment コマンドを使用してデプロイを停止します。
- C. CodeDeploy の AppSpec ファイルに hooks セクションを追加します。AfterAllowTestTraffic ライフサイクルイベントを使用して、テストスクリプトを実行する AWS Lambda 関数を呼び出します。エラーが検出された場合、Lambda 関数をエラー終了させることでロールバックを開始します。
- D. CodeDeploy の AppSpec ファイルに hooks セクションを追加します。AfterAllowTraffic ライフサイクルイベントを使用してテストスクリプトを呼び出します。エラーが検出された場合、aws deploy stop-deployment CLI コマンドを使用してデプロイを停止します。
この問題を見る →
-
Q98. DevOps 管理者が、会社の Amazon CloudWatch Logs のセキュリティを管理しています。会社のセキュリティポリシーでは、承認された人員のみがログ内の従業員 ID を閲覧できると定められています。従業員 ID は「Emp-XXXXXX」の形式(各 X は数字)で構成されています。監査結果によると、従業員 ID が単一のログファイル内に存在することが確認されました。このログファイルはエンジニアが利用可能ですが、エンジニアは従業員 ID を閲覧できません。エンジニアは現在、AWS IAM Identity Center を介してアカウント内のリソースにアクセスする権限を持っています。
- A. ロググループに新しいデータ保護ポリシーを作成します。カスタムデータ識別子として Emp-\d{6} を設定します。IAM ポリシーを作成し、「logs:Unmask」アクションに対する拒否権限を付与します。このポリシーをエンジニアアカウントにアタッチします。
- B. ロググループに新しいデータ保護ポリシーを作成します。マネージドデータ識別子として「個人」データカテゴリを追加します。IAM ポリシーを作成し、「NotAction」で「logs:Unmask」に対する拒否権限を付与します。このポリシーをエンジニアアカウントにアタッチします。
- C. AWS Lambda 関数を作成し、ログファイルのエントリを解析して従業員 ID を削除し、結果を新しいログファイルに書き込みます。ロググループに Lambda サブスクリプションフィルターを作成し、Lambda 関数を選択します。ロググループに対して lambda:InvokeFunction 権限を付与します。
- D. Amazon S3 バケットを宛先とする Amazon Data Firehose デリバリーストリームを作成します。ロググループに Firehose サブスクリプションフィルターを作成し、Firehose デリバリーストリームを使用します。エンジニアアカウントから「logs:*」権限を削除します。S3 バケット上で Amazon Macie ジョブを作成し、Emp-\d{6} カスタム識別子を指定します。
この問題を見る →
-
Q99. ある企業が HPC プラットフォームを使用してデータ分析ジョブを実行しています。同社は AWS CodeBuild を使用してコンテナイメージを作成し、Amazon Elastic Container Registry (Amazon ECR) に保存しています。その後、これらのイメージを Amazon Elastic Kubernetes Service (Amazon EKS) にデプロイします。コンプライアンスを維持するため、Amazon EKS へのデプロイ前にイメージに署名を付与する必要があります。署名鍵は定期的にローテーションされ、自動的に管理される必要があります。また、誰が署名を生成したかを追跡する必要があります。
- A. CodeBuild を使用して、以前に Amazon ECR にプッシュされたイメージを取得します。AWS Signer を使用してイメージに署名します。AWS CloudTrail を使用して署名の生成者を追跡します。
- B. AWS Lambda を使用して、以前に Amazon ECR にプッシュされたイメージを取得します。Lambda 関数を使用してイメージに署名します。Amazon CloudWatch を使用して署名の生成者を追跡します。
- C. AWS Lambda を使用して、以前に Amazon ECR にプッシュされたイメージを取得します。AWS Signer を使用してイメージに署名します。Amazon CloudWatch を使用して署名の生成者を追跡します。
- D. CodeBuild を使用してイメージをビルドします。Amazon ECR にプッシュする前に、AWS Signer を使用してイメージに署名します。AWS CloudTrail を使用して署名の生成者を追跡します。
この問題を見る →
-
Q100. ある企業が、複数の開発チームが共有する単一の AWS アカウントを使用しています。開発チームのマネージャーは、リソースがアイドル状態でかつ「本番」タグが付与されていない Amazon EC2 インスタンスを自動的に停止し、その際に通知を受け取ることを希望しています。
- A. スケジュールされた Amazon CloudWatch Events ルールを使用して、Amazon EC2 インスタンスのステータスチェックをフィルタリングし、アイドル状態の EC2 インスタンスを特定します。CloudWatch Events ルールのターゲットとして AWS Lambda 関数を指定し、非本番インスタンスを停止して通知を送信します。
- B. スケジュールされた Amazon CloudWatch Events ルールを使用して、AWS Systems Manager のイベントをフィルタリングし、アイドル状態の EC2 インスタンスおよびリソースを特定します。CloudWatch Events ルールのターゲットとして AWS Lambda 関数を指定し、非本番インスタンスを停止して通知を送信します。
- C. スケジュールされた Amazon CloudWatch Events ルールを使用して、AWS Trusted Advisor のチェックを実行するカスタム AWS Lambda 関数を起動します。Trusted Advisor からのイベントをフィルタリングする第2の CloudWatch Events ルールを作成し、アイドル状態の非本番インスタンスを停止して通知を送信する Lambda 関数をトリガーします。
- D. スケジュールされた Amazon CloudWatch Events ルールを使用して、Amazon Inspector のアイドル EC2 インスタンスに関するイベントをターゲットにします。CloudWatch Events ルールのターゲットとして AWS Lambda 関数を指定し、非本番インスタンスを停止して通知を送信します。
この問題を見る →