
AWS Certified CloudOps Engineer - Associate【SOA-C03版】100題 過去問+模擬問題集 全問解答解説付き(2026年版)
AWS Certified CloudOps Engineer - Associate【SOA-C03版】の過去問+模擬問題100題を全問解答+全問解説しています。
この問題集は、現役AWSエンジニアチームが、
「暗記するだけ」の学習ではなく、なぜその答えになるのか?をしっかり理解できるように、詳細な解説をつけました。
1問1問全選択肢ごとに、正解を導き出すための思考プロセスや、関連知識、さらには実務にも役立つ補足情報まで、丁寧に解説しています。
初学者から経験者まで、わかりやすく学習可能です。
ここから問題と解答/解説になります。
過去問演習としても、模擬試験としても活用できます。
【1】ある企業がAmazon S3で静的ウェブサイトをホストしています。Amazon CloudFrontディストリビューションが、このサイトを世界中のユーザーに提供しています。この企業は、Managed-CachingDisabled CloudFrontキャッシュポリシーを使用しています。企業の開発者は、Amazon S3内のファイルを新しい情報で頻繁に更新していることを確認しています。ユーザーからは、ウェブサイトが初めてそのファイルを読み込む際には正しい情報が表示されると報告されています。しかし、リロード(更新)を行っても、ユーザーのブラウザは更新されたファイルを取得しません。この問題を解決するために、SysOps管理者は何を推奨すべきですか?
A. S3オブジェクトにmax-age=0のCache-Controlヘッダーフィールドを追加する。
B. CloudFrontのキャッシュポリシーをManaged-CachingOptimizedに変更する。
C. S3バケット設定でバケットのバージョニングを無効にする。
D. CloudFrontの構成でコンテンツの圧縮を有効にする。
正解: A
解説:
A. S3オブジェクトにmax-age=0のCache-Controlヘッダーフィールドを追加する。 - 正解です。CloudFrontはManaged-CachingDisabledポリシーが設定されているため、エッジロケーションでファイルをキャッシュしていません。問題の原因は、ユーザーのローカルブラウザがファイルをキャッシュしていることにあります。S3オブジェクトのメタデータにCache-Control: max-age=0を設定することで、ブラウザに対してキャッシュの有効期限が0であることを指示し、リロードのたびに必ず最新のファイルを取得させることができます。
B. CloudFrontのキャッシュポリシーをManaged-CachingOptimizedに変更する。 - CloudFrontエッジロケーションでのキャッシュを有効にして最適化するための設定ですが、ブラウザ側のキャッシュ動作を直接解決するものではありません。頻繁に更新されるファイルに対してCloudFrontのキャッシュを有効にすると、ブラウザだけでなくエッジロケーションからも古い情報が配信される原因となる可能性があります。
C. S3バケット設定でバケットのバージョニングを無効にする。 - S3のバージョニングは、ファイルの変更履歴を保存し、誤った削除や上書きから保護するための機能です。ブラウザが最新のファイルを読み込まないというキャッシュに関連する問題には影響を与えません。
D. CloudFrontの構成でコンテンツの圧縮を有効にする。 - コンテンツの圧縮は、データ転送量を減らしウェブサイトの読み込み速度を向上させるためのパフォーマンス最適化機能です。ブラウザのキャッシュ問題の解決策としては機能しません。
【2】ある企業は、Application Load Balancer (ALB) と Amazon EC2 を使用してホストされている、グローバルなユーザーベースを持つウェブサイトを管理しています。ウェブサーバーの負荷を軽減するために、CloudOpsエンジニアはALBをオリジンとしてAmazon CloudFrontディストリビューションを設定しました。ソリューションを監視して1週間後、CloudOpsエンジニアはリクエストが引き続きALBによって処理されており、ウェブサーバーの負荷に変化がないことに気付きました。この問題の考えられる原因は何でしょうか?(2つ選択してください。)
A. CloudFrontで、ALBがオリジンアクセスアイデンティティとして設定されていない。
B. DNSがCloudFrontディストリビューションではなく、依然としてALBを指している。
C. ALBのセキュリティグループがCloudFrontからのインバウンドトラフィックを許可していない。
D. CloudFrontディストリビューションのデフォルト、最小、および最大のTime to Live (TTL) が0秒に設定されている。
E. ALBに関連付けられたターゲットグループがスティッキーセッションに設定されている。
正解: B, D
解説:
A. CloudFrontで、ALBがオリジンアクセスアイデンティティとして設定されていない。 - オリジンアクセスアイデンティティ (OAI) やオリジンアクセスコントロール (OAC) は、Amazon S3バケットへの直接アクセスを制限するために使用される機能であり、ALBをオリジンとする場合には使用されません。また、設定の不備で通信できない場合はエラーとなるため、ALBでリクエストが引き続き正常に処理されている状況の説明にはなりません。
B. DNSがCloudFrontディストリビューションではなく、依然としてALBを指している。 - 正解です。CloudFrontを導入した場合、ユーザーからのトラフィックをCloudFrontにルーティングするために、DNS (Amazon Route 53など) のレコードを更新する必要があります。DNSがALBを指したままである場合、ユーザートラフィックはCloudFrontを完全にバイパスして直接ALBに到達するため、EC2インスタンスの負荷は軽減されません。
C. ALBのセキュリティグループがCloudFrontからのインバウンドトラフィックを許可していない。 - CloudFrontからALBへの通信がセキュリティグループによってブロックされている場合、ユーザーにはアクセスエラー (502 Bad Gatewayやタイムアウトなど) が返されます。ALBがリクエストを正常に処理し続けているという問題文の状況には当てはまりません。
D. CloudFrontディストリビューションのデフォルト、最小、および最大のTime to Live (TTL) が0秒に設定されている。 - 正解です。TTL (キャッシュの有効期限) がすべて0秒に設定されている場合、CloudFrontはコンテンツをエッジロケーションに一切キャッシュしません。その結果、すべてのリクエストが毎回オリジンであるALBに転送されてしまうため、CloudFrontを経由していたとしてもバックエンドのウェブサーバーの負荷は軽減されません。
E. ALBに関連付けられたターゲットグループがスティッキーセッションに設定されている。 - スティッキーセッションは、同じユーザーからのリクエストを背後にある同じEC2インスタンスに継続してルーティングするALBの機能です。これはトラフィックがALBに到達した後の動作に関する設定であり、サーバー全体の負荷が下がらない直接的な原因にはなりません。
【3】ある企業が、Amazon EC2 Auto Scalingグループ内のAmazon EC2インスタンス上でアプリケーションを実行しています。実行に時間のかかる起動スクリプトが原因で、スケールアウトアクションの完了に長い時間がかかっています。CloudOpsエンジニアは、Auto Scalingグループを過剰にプロビジョニングすることなく、スケールアウトアクションに必要な時間を短縮するソリューションを実装する必要があります。この要件を満たすソリューションはどれですか?
A. より大きなインスタンスサイズを使用するように起動設定を変更する。
B. Auto Scalingグループの最小インスタンス数を増やす。
C. Auto Scalingグループに予測スケーリングポリシーを追加する。
D. Auto Scalingグループにウォームプールを追加する。
正解: D
解説:
A. より大きなインスタンスサイズを使用するように起動設定を変更する。 - インスタンスサイズを大きくしても、スクリプトの実行時間が長くなる根本的な原因(たとえばソフトウェアのダウンロードやインストール、長い初期化プロセスなど)の解決にはならないことが多く、コストの無駄な増加を招く可能性があるため、適切な解決策ではありません。
B. Auto Scalingグループの最小インスタンス数を増やす。 - 最小インスタンス数を増やすことは、常に稼働するインスタンスの数を増やすことになるため、「Auto Scalingグループを過剰にプロビジョニングすることなく」という問題の要件に直接違反します。
C. Auto Scalingグループに予測スケーリングポリシーを追加する。 - 予測スケーリングは過去のトラフィックパターンに基づいて事前にスケールアウトを開始する機能であり、予測可能な負荷に対しては有効です。しかし、起動スクリプト自体にかかる時間を短縮するわけではなく、突発的なトラフィック増加に対するスケールアウトの遅延を根本的に解決するものではありません。
D. Auto Scalingグループにウォームプールを追加する。 - 正解です。ウォームプールを使用すると、初期化済み(時間のかかる起動スクリプトの実行が完了した状態)のEC2インスタンスを停止状態または休止状態で待機させておくことができます。スケールアウトが必要になった際、これらのインスタンスは素早くトラフィックを処理できる状態になるため、過剰なプロビジョニングを行わずにスケールアウト時間を大幅に短縮できます。
【4】ある企業は、重要なファイルをus-east-1 AWSリージョンのAmazon S3バケットに保存しています。ディザスタリカバリの要件に準拠するために、バケット内のすべての新しいオブジェクトは、us-west-2リージョンのバケットに自動的にレプリケートされる必要があります。運用上のオーバーヘッドが最も少なく、この要件を満たすソリューションはどれですか?
A. ソースバケットでクロスリージョンレプリケーション(CRR)を有効にする。us-west-2リージョンの宛先バケットを指定する。ソースバケットでバージョニングを有効にする。
B. us-east-1バケットとus-west-2バケットの両方でCross-Origin Resource Sharing (CORS) を有効にする。
C. オブジェクトを宛先バケットにコピーするAWS Lambda関数を作成する。オブジェクトが作成されるたびにLambda関数を実行するようにAmazon EventBridgeルールを設定する。
D. us-west-2リージョンの異なるストレージクラスにオブジェクトを移行するようにS3ライフサイクルポリシーを有効にする。
正解: A
解説:
A. ソースバケットでクロスリージョンレプリケーション(CRR)を有効にする。us-west-2リージョンの宛先バケットを指定する。ソースバケットでバージョニングを有効にする。 - 正解です。Amazon S3のクロスリージョンレプリケーション(CRR)は、異なるAWSリージョンにあるバケット間でオブジェクトを自動的かつ非同期にコピーする組み込み機能です。この機能を設定するにはソースバケットと宛先バケットの両方でバージョニングを有効にする必要があります。組み込みの機能を利用するため、カスタムコードを記述・維持する必要がなく、最も運用上のオーバーヘッドが少ない解決策となります。
B. us-east-1バケットとus-west-2バケットの両方でCross-Origin Resource Sharing (CORS) を有効にする。 - Cross-Origin Resource Sharing (CORS) は、あるドメインにロードされたウェブアプリケーションが、異なるドメインにあるリソースにアクセスする方法を制御するセキュリティ機能です。オブジェクトのレプリケーションを行う機能ではないため、要件を満たしません。
C. オブジェクトを宛先バケットにコピーするAWS Lambda関数を作成する。オブジェクトが作成されるたびにLambda関数を実行するようにAmazon EventBridgeルールを設定する。 - LambdaとEventBridgeを使用して独自のレプリケーション処理を構築することは技術的には可能ですが、カスタムコードの作成、テスト、および継続的な保守が必要となります。S3の標準機能であるCRRを使用する場合と比べて、運用上のオーバーヘッドが大きくなるため最適ではありません。
D. us-west-2リージョンの異なるストレージクラスにオブジェクトを移行するようにS3ライフサイクルポリシーを有効にする。 - S3ライフサイクルポリシーは、オブジェクトのライフサイクルに基づいてストレージクラスを移行させたり(例:S3 StandardからS3 Glacierへ)、オブジェクトを自動的に削除したりするためのルールを定義するものです。データを別のリージョンにレプリケートするための機能ではないため、要件を満たしません。
【5】ある企業が、Amazon AuroraデータベースをあるAWSアカウントから、別のAWSリージョンを使用する2つ目のアカウントにコピーする必要があります。CloudOpsエンジニアは、このプロセスが毎日実行されるように自動化する必要があります。運用上のオーバーヘッドが最も少なく、これらの要件を満たすソリューションはどれですか?
A. AWS Backupでバックアッププランを作成する。2つ目のアカウントと2つ目のリージョンを宛先として指定する。
B. スケジュールで実行されるAmazon EventBridgeルールを作成する。データベースを2つ目のアカウントと2つ目のリージョンにコピーする自動化スクリプトを実行するAWS Lambda関数を作成する。EventBridgeルールを使用してLambda関数を呼び出す。
C. 定期的なルールを持つAmazon EventBridge Schedulerを設定する。RDSのStartExportTask API操作をターゲットとして追加する。データベースに関する詳細と、エクスポートされたデータを保存するAmazon S3バケットを指定する。データを2つ目のアカウントと2つ目のリージョンにレプリケートするためのS3バケットのレプリケーションルールを作成する。
D. AuroraデータベースをレプリケートするようにAWS Application Migration Serviceを設定する。2つ目のアカウントと2つ目のリージョンを宛先として指定する。
正解: A
解説:
A. AWS Backupでバックアッププランを作成する。2つ目のアカウントと2つ目のリージョンを宛先として指定する。 - 正解です。AWS Backupを使用すると、クロスアカウントおよびクロスリージョンのバックアップをネイティブにサポートしており、バックアッププラン内でコピージョブをスケジュールおよび自動化できます。スクリプトの作成や複雑なインフラの管理が不要なため、運用上のオーバーヘッドが最も少なくなります。
B. スケジュールで実行されるAmazon EventBridgeルールを作成する。データベースを2つ目のアカウントと2つ目のリージョンにコピーする自動化スクリプトを実行するAWS Lambda関数を作成する。EventBridgeルールを使用してLambda関数を呼び出す。 - Lambda関数とEventBridgeを使用してカスタムのコピースクリプトを記述・保守することは可能ですが、AWS Backupのネイティブ機能を使用するのと比較して、運用上のオーバーヘッド(コードの開発、テスト、保守、エラーハンドリングなど)が大幅に増加するため、最適な選択肢ではありません。
C. 定期的なルールを持つAmazon EventBridge Schedulerを設定する。RDSのStartExportTask API操作をターゲットとして追加する。データベースに関する詳細と、エクスポートされたデータを保存するAmazon S3バケットを指定する。データを2つ目のアカウントと2つ目のリージョンにレプリケートするためのS3バケットのレプリケーションルールを作成する。 - S3へのエクスポートとS3のクロスアカウント・クロスリージョンレプリケーションを組み合わせる方法は、設定が複雑になります。さらに、エクスポートされたデータから2つ目のアカウントでデータベースとして復元するプロセスも別途必要になるため、運用上のオーバーヘッドが非常に大きくなります。
D. AuroraデータベースをレプリケートするようにAWS Application Migration Serviceを設定する。2つ目のアカウントと2つ目のリージョンを宛先として指定する。 - AWS Application Migration Service (MGN) は、オンプレミスや他のクラウド環境からAWSへのサーバー(OS、アプリケーション、データベースを含む)のリフトアンドシフト移行を主な目的とするサービスです。AWS内で実行されているAuroraデータベースの定期的なクロスアカウントコピーのために使用するサービスとしては不適切です。
【6】ある企業は、VPC内およびオンプレミスのデータセンター内でコンピューティングリソースを運用しています。同社はすでに、VPCとオンプレミスデータセンター間にAWS Direct Connect接続を確立しています。CloudOpsエンジニアは、VPC内のAmazon EC2インスタンスがオンプレミスデータセンター内のホストのDNS名を解決できるようにする必要があります。継続的なメンテナンスが最も少なくなるソリューションはどれでしょうか?
A. Amazon Route 53プライベートホストゾーンを作成する。オンプレミスデータセンター内のホストのホスト名とIPアドレスをゾーンに設定する。
B. Amazon Route 53 Resolverのアウトバウンドエンドポイントを作成する。転送する必要があるドメイン名について、オンプレミスのDNSサーバーのIPアドレスを追加する。
C. Amazon Route 53 Resolverで逆引きDNSクエリの転送ルールを設定する。VPCのenableDnsHostnames属性をtrueに設定する。
D. 各EC2インスタンスの/etc/hostsファイルにオンプレミスホストのホスト名とIPアドレスを追加する。
正解: B
解説:
A. Amazon Route 53プライベートホストゾーンを作成する。オンプレミスデータセンター内のホストのホスト名とIPアドレスをゾーンに設定する。 - オンプレミス環境でホストが追加または変更されるたびに、Route 53のレコードを手動またはスクリプトで同期させる必要があり、AWS側とオンプレミス側でのDNSレコードの二重管理が発生するため、継続的なメンテナンスの負担が大きくなります。
B. Amazon Route 53 Resolverのアウトバウンドエンドポイントを作成する。転送する必要があるドメイン名について、オンプレミスのDNSサーバーのIPアドレスを追加する。 - 正解です。Route 53 Resolverのアウトバウンドエンドポイントを使用すると、指定したドメインに対するDNSクエリをオンプレミスのDNSサーバーに自動的に転送(フォワード)できます。これにより、レコードの管理をオンプレミス側のDNSサーバーに一元化できるため、継続的なメンテナンスのオーバーヘッドを最も低く抑えつつ要件を満たすことができます。
C. Amazon Route 53 Resolverで逆引きDNSクエリの転送ルールを設定する。VPCのenableDnsHostnames属性をtrueに設定する。 - 逆引きDNSクエリ(IPアドレスからホスト名を解決する)の転送ルールを設定するだけでは、EC2インスタンスがオンプレミスのホスト名からIPアドレスを解決する(正引き)という主な要件を満たすことができません。
D. 各EC2インスタンスの/etc/hostsファイルにオンプレミスホストのホスト名とIPアドレスを追加する。 - インスタンスごとに手動でhostsファイルを更新および管理することは、運用上の負担が非常に高く非現実的です。また、インスタンスの増減に対応できないためスケーラビリティもありません。
【7】CloudOpsエンジニアは、開発チームがアプリケーションをAWSにデプロイするのを支援しています。AWS CloudFormationテンプレートには、Amazon Linux EC2インスタンス、Amazon Aurora DBクラスター、および90日ごとにローテーションする必要があるハードコードされたデータベースパスワードが含まれています。データベースパスワードを管理する最も安全な方法はどれですか?
A. AWS::SecretsManager::SecretリソースとGenerateSecretStringプロパティを使用して、パスワードを自動的に生成する。AWS::SecretsManager::RotationScheduleリソースを使用して、パスワードのローテーションスケジュールを定義する。AWS Secrets Managerからシークレットを取得してデータベースにアクセスするようにアプリケーションを設定する。
B. SecretStringプロパティを持つAWS::SecretsManager::Secretリソースを使用する。CloudFormationパラメータとしてパスワードを受け入れる。CloudFormationパラメータのAllowedPatternプロパティを使用して、最小の長さ、大文字と小文字、および特殊文字を要求する。AWS Secrets Managerからシークレットを取得してデータベースにアクセスするようにアプリケーションを設定する。
C. AWS::SSM::Parameterリソースを使用する。入力をCloudFormationパラメータとして受け入れ、パラメータをセキュア文字列として保存する。AWS Systems Manager Parameter Storeからパラメータを取得するようにアプリケーションを設定する。
D. NoEchoを有効にしたCloudFormationパラメータを使用する。パスワードをユーザーデータとしてEC2インスタンスに渡す。
正解: A
解説:
A. AWS::SecretsManager::SecretリソースとGenerateSecretStringプロパティを使用して、パスワードを自動的に生成する。AWS::SecretsManager::RotationScheduleリソースを使用して、パスワードのローテーションスケジュールを定義する。AWS Secrets Managerからシークレットを取得してデータベースにアクセスするようにアプリケーションを設定する。 - 正解です。AWS Secrets Managerは、データベースの認証情報などを安全に保存、取得、および自動ローテーションするための専用サービスです。GenerateSecretStringを使用して安全なパスワードを自動生成し、RotationScheduleで90日ごとのローテーションを自動化することで、セキュリティとコンプライアンスの要件を最も確実かつ安全に満たすことができます。
B. SecretStringプロパティを持つAWS::SecretsManager::Secretリソースを使用する。CloudFormationパラメータとしてパスワードを受け入れる。CloudFormationパラメータのAllowedPatternプロパティを使用して、最小の長さ、大文字と小文字、および特殊文字を要求する。AWS Secrets Managerからシークレットを取得してデータベースにアクセスするようにアプリケーションを設定する。 - パスワードの複雑さを強制しSecrets Managerに保存していますが、CloudFormationのパラメータとして手動で入力する必要がある点と、90日ごとの自動ローテーション機能が設定されていない点で、最も安全で効率的な方法とは言えません。
C. AWS::SSM::Parameterリソースを使用する。入力をCloudFormationパラメータとして受け入れ、パラメータをセキュア文字列として保存する。AWS Systems Manager Parameter Storeからパラメータを取得するようにアプリケーションを設定する。 - AWS Systems Manager Parameter Storeはシークレットデータ(SecureString)を安全に保存できますが、Secrets Managerとは異なり、データベースパスワードの自動ローテーションをネイティブにサポートしていません。90日ごとのローテーションを実装するにはカスタムLambda関数などを独自に構築する必要があるため、最適なアプローチではありません。
D. NoEchoを有効にしたCloudFormationパラメータを使用する。パスワードをユーザーデータとしてEC2インスタンスに渡す。 - NoEchoパラメータを使用するとCloudFormationのコンソールやログには表示されなくなりますが、パスワードをEC2のユーザーデータとして渡してしまうと、インスタンス内部からメタデータサービスを通じてプレーンテキストで誰でもパスワードを取得できてしまいます。これはセキュリティ上の重大なリスクであり、さらにパスワードのローテーション要件も満たしていません。
【8】CloudOpsエンジニアは、AWSアカウントのセキュリティを管理しなければなりません。最近、IAMユーザーのアクセスキーが誤ってパブリックコードリポジトリにアップロードされました。エンジニアは、この侵害されたキーを使用して変更されたすべてのものを特定する必要があります。CloudOpsエンジニアはどのようにしてこれらの要件を満たすべきですか?
A. すべてのIAMイベントを分析のためにAWS Lambda関数に送信するAmazon EventBridgeルールを作成する。
B. Amazon CloudWatch Logs Insightsを使用して、疑わしい時間枠内に侵害されたアクセスキーで開始されたすべてのイベントについてAmazon EC2ログをクエリする。
C. AWS CloudTrailのイベント履歴を検索し、疑わしい時間枠内に侵害されたアクセスキーで開始されたすべてのイベントを調べる。
D. VPCフローログを検索し、疑わしい時間枠内に侵害されたアクセスキーで開始されたすべてのイベントを調べる。
正解: C
解説:
A. すべてのIAMイベントを分析のためにAWS Lambda関数に送信するAmazon EventBridgeルールを作成する。 - EventBridgeとLambdaを使用して将来のイベントをリアルタイムで監視・分析することは可能ですが、過去に漏洩したキーが使用されて行われた変更を調査するための解決策ではありません。過去のアクティビティを追跡するためには、ログの履歴を調査する必要があります。
B. Amazon CloudWatch Logs Insightsを使用して、疑わしい時間枠内に侵害されたアクセスキーで開始されたすべてのイベントについてAmazon EC2ログをクエリする。 - Amazon EC2ログ(OSレベルやアプリケーションレベルのログ)には、AWSマネジメントコンソールやAWS APIを介してAWSリソースに対して行われた変更の記録は含まれません。アクセスキーの使用履歴を追跡するためには、API呼び出しを記録するサービスを使用する必要があります。
C. AWS CloudTrailのイベント履歴を検索し、疑わしい時間枠内に侵害されたアクセスキーで開始されたすべてのイベントを調べる。 - 正解です。AWS CloudTrailは、AWSアカウント内で発生したAPI呼び出しや管理アクティビティを記録するサービスです。CloudTrailのイベント履歴を検索することで、漏洩したアクセスキーID(アクセスキー文字列自体ではなくID)を使用して誰がどのようなAPIを呼び出し、どのリソースを変更したのかを正確に特定し、影響範囲を調査することができます。
D. VPCフローログを検索し、疑わしい時間枠内に侵害されたアクセスキーで開始されたすべてのイベントを調べる。 - VPCフローログは、VPC内のネットワークインターフェイスを行き来するIPトラフィック(送信元/宛先IPアドレス、ポート番号など)の情報を記録する機能です。IAMアクセスキーの使用履歴やAWS APIの呼び出しを記録する機能はないため、この要件には適していません。
【9】ある金融会社が、定期的にローテーションされるAmazon RDSの認証情報を保存するためにAWS Secrets Managerを使用しています。セキュリティポリシーへの準拠を確実にするため、データベースチームは認証情報がローテーションされたときに通知を受け取る必要があります。データベースチームは、通知用にAmazon Simple Notification Service (Amazon SNS) トピックを作成します。
これらの要件を満たすソリューションはどれですか?
A. RotateSecret API呼び出しに対するAWS CloudTrailイベントで、結果がRotationSucceededとなるものに一致するAmazon EventBridgeルールを作成する。一致したイベントをSNSトピックにルーティングするようにルールを設定する。
B. AWS Secrets Managerでシークレットのローテーションに関する通知を有効にする。シークレットがローテーションされたときに、SNSトピックに通知を発行するようにSecrets Managerを設定する。
C. Amazon EventBridgeを使用して、RotationSucceededイベントについてAmazon CloudWatch Logsをフィルタリングする。一致するすべての通知をSNSトピックにルーティングする。
D. Amazon CloudWatch Logsを使用してRotationSucceededイベントをフィルタリングする。一致するすべての通知をSNSトピックにルーティングする。
正解: A
解説:
A. RotateSecret API呼び出しに対するAWS CloudTrailイベントで、結果がRotationSucceededとなるものに一致するAmazon EventBridgeルールを作成する。一致したイベントをSNSトピックにルーティングするようにルールを設定する。 - 正解です。AWS Secrets Managerのローテーションが成功すると、そのアクションはAWS CloudTrailにイベントとして記録されます。このイベントをキャッチしてSNSトピックに通知を送信するためには、Amazon EventBridgeを使用してCloudTrailイベントをモニタリングするルールを作成し、ターゲットをSNSトピックに指定するのが最適かつ標準的なアプローチです。
B. AWS Secrets Managerでシークレットのローテーションに関する通知を有効にする。シークレットがローテーションされたときに、SNSトピックに通知を発行するようにSecrets Managerを設定する。 - Secrets Managerのコンソールや設定自体には、シークレットがローテーションされた際に直接SNSトピックへ通知を送信する組み込み機能はありません。通知を実現するには、EventBridgeなどの他のサービスと連携する必要があります。
C. Amazon EventBridgeを使用して、RotationSucceededイベントについてAmazon CloudWatch Logsをフィルタリングする。一致するすべての通知をSNSトピックにルーティングする。 - EventBridgeはCloudWatch Logsのログストリームを直接フィルタリングするものではありません。EventBridgeはCloudTrailから発行されるイベントを直接キャッチしてルールに基づいて処理できるため、CloudWatch Logsを経由させる必要はありません。
D. Amazon CloudWatch Logsを使用してRotationSucceededイベントをフィルタリングする。一致するすべての通知をSNSトピックにルーティングする。 - CloudWatch LogsのメトリクスフィルターとCloudWatchアラームを使用してSNSに通知を送ることは技術的に可能ですが、APIのアクションイベントを処理する場合は、CloudTrailとEventBridgeを組み合わせるアプローチの方が推奨されており、構成もシンプルです。また、CloudWatch Logs自体が直接SNSにルーティングする機能を持っているわけではなく、アラームの設定が必要になります。
【10】ある企業が、3つのアベイラビリティーゾーンにまたがる数百のAmazon EC2インスタンス上でアプリケーションを実行しています。このアプリケーションは、パブリックインターネット経由でサードパーティのAPIを呼び出します。CloudOpsエンジニアは、サードパーティがアプリケーションからのトラフィックを許可できるように、静的IPアドレスのリストをサードパーティに提供する必要があります。これらの要件を満たすソリューションはどれですか?
A. 各アベイラビリティーゾーンのパブリックサブネットにNATゲートウェイを追加する。そのアベイラビリティーゾーン内のすべてのプライベートサブネットのデフォルトルートをNATゲートウェイにする。
B. 各アベイラビリティーゾーンに1つのElastic IPアドレスを割り当てる。そのElastic IPアドレスを、アベイラビリティーゾーン内のすべてのインスタンスに関連付ける。
C. インスタンスをNetwork Load Balancer (NLB) の背後に配置する。NLBのプライベートIPアドレスを介してインターネットにトラフィックを送信する。
D. メインルートテーブルを更新して、各インスタンスに割り当てられたElastic IPアドレスを介してインターネットにトラフィックを送信する。
正解: A
解説:
A. 各アベイラビリティーゾーンのパブリックサブネットにNATゲートウェイを追加する。そのアベイラビリティーゾーン内のすべてのプライベートサブネットのデフォルトルートをNATゲートウェイにする。 - 正解です。NATゲートウェイには固定のパブリックIP(Elastic IP)が割り当てられます。各アベイラビリティーゾーンにNATゲートウェイを配置し、プライベートサブネットからのトラフィックをそこへルーティングすることで、数百のインスタンスからのアウトバウンドトラフィックは3つのNATゲートウェイのElastic IPアドレスに集約されます。これにより、サードパーティに提供する静的IPアドレスのリストを3つだけで済ませることができます。
B. 各アベイラビリティーゾーンに1つのElastic IPアドレスを割り当てる。そのElastic IPアドレスを、アベイラビリティーゾーン内のすべてのインスタンスに関連付ける。 - Elastic IPアドレスは1つのEC2インスタンス(またはネットワークインターフェイス)にしか同時に関連付けることができず、複数のインスタンスで1つのElastic IPを直接共有することはできないため、不適切な選択肢です。
C. インスタンスをNetwork Load Balancer (NLB) の背後に配置する。NLBのプライベートIPアドレスを介してインターネットにトラフィックを送信する。 - Network Load Balancer (NLB) は、外部からインスタンスへ向かうインバウンドのトラフィックを分散させるためのロードバランサーです。インスタンスからインターネットへ向かうアウトバウンドトラフィックの送信元IPアドレスを固定化するためのものではありません。
D. メインルートテーブルを更新して、各インスタンスに割り当てられたElastic IPアドレスを介してインターネットにトラフィックを送信する。 - 各インスタンスに個別のElastic IPアドレスを割り当てた場合、数百ものIPアドレスをサードパーティの許可リストに登録・管理する必要が生じます。さらに、インスタンスが追加・削除されるたびにリストを更新しなければならず、要件を満たす現実的なソリューションではありません。