AWS認定資格 WEB問題集&徹底解説
ソリューションアーキテクト-プロフェッショナル
問題文と選択肢
これらの要件を満たすソリューションはどれですか。
- ユーザーデータスクリプトを使用して、クラスターインスタンスの SSH ポートを 2222 に変更する。 ポート 2222 経由で SSH を使用して各インスタンスにログインする。
- ユーザーデータスクリプトを使用して、クラスターインスタンスの SSH ポートを 2222 に変更する。 AWS Trusted Advisor を使用して、ポート 2222 経由でクラスターインスタンスをリモート管理する。
- SSH キーペアなしでクラスターインスタンスを起動する。AWS Systems Manager Run Command を 使用して、クラスターインスタンスをリモート管理する。
- SSH キーペアなしでクラスターインスタンスを起動する。AWS Trusted Advisor を使用して、 クラスターインスタンスをリモートで管理する。
A. ユーザーデータスクリプトを使用して、クラスターインスタンスの SSH ポートを 2222 に変更する。 ポート 2222 経由で SSH を使用して各インスタンスにログインする。
SSH のポート番号を 22 から 2222 に変えても、そのポートへのインバウンドを許可しなければ接続できないため、「HTTPS(443) 以外のインバウンドをすべてブロックする」というポリシーに違反する。
ポート番号の変更は目隠しに過ぎずセキュリティ対策にならない(隠蔽によるセキュリティ)。
さらに 100 台のインスタンスに 1 台ずつ SSH でログインする運用は、運用負荷の面でも現実的でない。
B. ユーザーデータスクリプトを使用して、クラスターインスタンスの SSH ポートを 2222 に変更する。 AWS Trusted Advisor を使用して、ポート 2222 経由でクラスターインスタンスをリモート管理する。
選択肢 A と同じくポート 2222 のインバウンド許可が必要になり、ポリシー違反である。
加えて AWS Trusted Advisor はコスト・セキュリティ・耐障害性などのベストプラクティスをチェックして推奨事項を提示するサービスであり、インスタンスにコマンドを実行するリモート管理ツールではない。
2 重に誤っている選択肢。
C. SSH キーペアなしでクラスターインスタンスを起動する。AWS Systems Manager Run Command を 使用して、クラスターインスタンスをリモート管理する。
AWS Systems Manager Run Command は、インスタンス上の SSM Agent がアウトバウンドの HTTPS で Systems Manager に接続して命令を受け取る仕組みのため、インバウンドポートを一切開ける必要がない。
セキュリティグループで 443 以外のインバウンドをすべてブロックしたままでも、100 台のインスタンスに対してコマンドを一括実行でき、SSH キーペアの配布・保管・ローテーションも不要になる。
実行履歴は IAM で制御され CloudTrail にも記録されるため、監査性の面でも SSH より優れており、要件を満たす唯一の解。
D. SSH キーペアなしでクラスターインスタンスを起動する。AWS Trusted Advisor を使用して、 クラスターインスタンスをリモートで管理する。
SSH キーペアなしで起動する点はよいが、AWS Trusted Advisor ではインスタンスをリモート管理できない(推奨事項を提示するだけのサービス)。
セキュリティグループの要件は満たしても管理手段が存在しないため、「新しいウェブサービスを運用する」という前提が成り立たない。
正しい管理手段は Systems Manager(Run Command / Session Manager)である。
ポートを開けずに管理するなら Systems Manager。SSH ポートの番号変更は「開けている」ことに変わりなし。
正解への思考ルート
問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。| 要件 | 判断ポイント |
|---|---|
| HTTPS(443) を除くすべてのインバウンドトラフィックをブロックする | SSH(22 でも 2222 でも)を使う案はインバウンド許可が前提となり、この時点でポリシー違反 →選択肢(A・B)を消す |
| それでも 100 台のインスタンスを管理する必要がある | SSM Agent はアウトバウンド HTTPS で接続するため、インバウンドを閉じたままコマンドを実行できる →選択肢(C・D)は候補 |
| 「リモート管理」の手段として何が使えるか | AWS Trusted Advisor はベストプラクティスの点検サービスで、コマンド実行やリモート操作の機能はない →選択肢(B・D)を消す |
| 100 台に同じ操作を行う(運用負荷) | Run Command はタグやリソースグループ単位で一括実行でき、キーペア管理も不要 →選択肢(C)が正解 |
ひっかけポイント
- 「SSH ポートを 2222 に変更する」は一見セキュリティ対策に見えるが、ポートを開けている事実は変わらない。ポート番号の変更(隠蔽)は AWS のベストプラクティスではない
- AWS Trusted Advisor が「管理ツール」として 2 つの選択肢(B・D)に登場するのが本問の罠。名前が管理系に聞こえるが、実体は推奨事項をチェックするサービスで、インスタンス操作はできない
- 選択肢 D は「SSH キーペアなしで起動」までは正解 C と同じ。後半のリモート管理手段だけが違うため、前半だけ読んで選ぶと引っかかる
- Systems Manager が動く条件はアウトバウンド 443 と SSM Agent と IAM インスタンスプロファイル。「インバウンド全遮断」は Systems Manager の妨げにならない、と即答できるようにしておく
出題バリエーション
同じ知識が本番では条件を変えて出題されます。| 問題文がこう変わったら | 正解はこう変わる |
|---|---|
| 「対話的なシェルでトラブルシューティングしたい」 | Session Manager が正解軸に(同じくインバウンド不要で、操作ログも記録できる)。 |
| 「インスタンスがインターネットに出られないプライベートサブネットにある」 | ssm / ssmmessages / ec2messages の VPC インターフェースエンドポイントを作成するのが正解軸に。 |
| 「操作内容を監査ログとして保存する必要がある」 | Session Manager のセッションログを S3 / CloudWatch Logs に出力する構成が正解に。 |
| 「100 台へのOS パッチ適用を自動化したい」 | Systems Manager Patch Manager(メンテナンスウィンドウ)が正解軸に。 |
| 「そもそもインスタンスを管理したくない」 | ECS の起動タイプを AWS Fargate に変えるのが正解軸に(EC2 の管理自体が不要になる)。 |
これらの要件を満たすソリューションはどれですか。
- ユーザーデータスクリプトを使用して、クラスターインスタンスの SSH ポートを 2222 に変更する。 ポート 2222 経由で SSH を使用して各インスタンスにログインする。
- ユーザーデータスクリプトを使用して、クラスターインスタンスの SSH ポートを 2222 に変更する。 AWS Trusted Advisor を使用して、ポート 2222 経由でクラスターインスタンスをリモート管理する。
- SSH キーペアなしでクラスターインスタンスを起動する。AWS Systems Manager Run Command を 使用して、クラスターインスタンスをリモート管理する。
- SSH キーペアなしでクラスターインスタンスを起動する。AWS Trusted Advisor を使用して、 クラスターインスタンスをリモートで管理する。