AWS面接の質問

文責 Aaron Cao · 更新

AWS面接の質問
AWSの面接で試されるのは、サービスカタログを暗唱できるかどうかではなく、実際に本番環境でサービスを運用した経験があるかどうかだ。VPCネットワーキング、IAM、ストレージクラス、高可用性に関する基本的な質問に加え、コストや障害、移行についてのシナリオ問題も出題される。そこではサービス名そのものよりも、思考のプロセスが重視される。

AWSの面接で試されるのは、サービスカタログを暗唱できるかどうかではなく、実際に本番環境でサービスを運用した経験があるかどうかだ。VPCネットワーキング、IAM、ストレージクラス、高可用性に関する基本的な質問に加え、コストや障害、移行についてのシナリオ問題も出題される。そこではサービス名そのものよりも、思考のプロセスが重視される。

AWSの面接官は実際に何を見ているのか?

サービス一覧を読んでも、面接がどんなものになるのかはまだ見えてこない。そのギャップはごく普通のことであり、このセクションはそれを埋めるためにある。AWSの面接ラウンドは、あなたが何かの名前を言えるかどうかではなく、実際にそれを運用したことがあるかどうかを見極めるために設計されている。

そのパターンは追加質問で表れる。面接官がどのサービスを使うかを尋ね、あなたは正しく答える。次に来るのは、なぜ別のサービスではないのかという質問だ。実際にそのワークロードを運用した経験がある人は、請求書や障害、移行の経験から答えを導き出す。ドキュメントを読んだだけの人はそこで言葉に詰まる。AWSの面接を決めるのは、最初の質問ではなく、この二番目の質問だ。

繰り返し登場するラウンドは三種類ある。ネットワーキング、アイデンティティ、ストレージ、コンピューティングについての基礎ラウンド、制約条件のもとで何かを設計するシナリオ・設計ラウンド、そして症状を提示されて何を確認するかを問われるトラブルシューティングラウンドだ。求められる深さは経験年数に応じて上がっていくが、全体の形は変わらない。他の職種やトピック別の質問集は面接質問ハブにまとめてある。

AWSでよく聞かれる基本的な質問とは?

以下は、AWSの面接で繰り返し登場する基礎的な質問を、ラウンドが実際に構成されやすい形でグループ分けしたものだ。

ネットワーキングとVPC

  • VPCとは何か?パブリックサブネットとプライベートサブネットはどう違うか?
  • NATゲートウェイが必要になるのはどんなときで、どんなコストがかかるか?
  • セキュリティグループとネットワークACLはどう違うか?
  • 二つのVPCをどのように接続するか?ピアリングが適さないのはどんなときか?

アイデンティティとセキュリティ

  • IAMのロール、ポリシー、ユーザーの違いを説明し、それぞれをいつ使うかを述べよ。
  • EC2インスタンスは、鍵を保存せずにどうやって認証情報を取得するのか?
  • 実際のポリシーにおいて、最小権限の原則はどのような形で表れるか?
  • AWSでシークレットをどのようにローテーションし、監査するのか?

ストレージとデータベース

  • S3のストレージクラスを比較し、それぞれをいつ使うかを説明せよ。
  • EBSとインスタンスストアの違いは何か?
  • RDSではなくDynamoDBを選ぶのはどんなときで、その代わりに何を諦めることになるか?
  • リードレプリカとマルチAZ構成はどう違うか?

コンピューティングと可用性

  • Auto Scalingグループを説明し、どの指標に基づいてスケールさせるかを述べよ。
  • Lambdaが誤った選択になるのはどんなときか?
  • アベイラビリティーゾーンとリージョンの違いは何か?
  • アベイラビリティーゾーン全体が失われた場合に備えて、どのように設計するか?

シナリオ問題にはどう答えるべきか?

シナリオ問題は、暗記できる正解が存在しないからこそ、候補者の差が最も出る部分だ。典型的な出題例は次のとおりだ。

  • 月額の請求額が倍になったのに、トラフィックは増えていない。どうやって原因を突き止めるか?
  • 一回のリクエストでは扱いきれないほど大きなファイルに対応するアップロードパイプラインを設計せよ。
  • あるサービスが、特定のアベイラビリティーゾーンでだけ遅くなっている。まず何を確認するか?
  • オンプレミスのデータベースを、ダウンタイムを最小限に抑えてAWSに移行する。その手順を説明してほしい。
  • このアーキテクチャをリージョン規模の障害に耐えられるようにするにはどう設計するか、またそれにはどんなコストがかかるか?

毎回同じ順序で答えるとよい。まず自分が重要だと考える制約条件を言い直し、次に自分の前提を声に出し、サービスを選び、最後に自分が受け入れたトレードオフを名指しする。面接官が本当に聞いているのはこの最後のトレードオフの一文であり、それがその選択の代償を理解しているかどうかを証明するからだ。

中規模企業のプラットフォーム職に応募したあるバックエンドエンジニアが、アップロードパイプラインの設計を求められた。彼女はすぐにS3の名前を挙げるのではなく、まずアップロードがユーザー向けかどうか、ファイルはどれくらいの大きさになりうるかを尋ねた。そのうえでマルチパートアップロードを伴う署名付きURLの方式を選び、アプリケーションサーバー経由でルーティングする案は却下したと説明した。それではスループットがスケーリング上の問題になってしまうからだ。サービスの選択自体はありふれたものだったが、記憶に残ったのはその推論の過程だった。

どのように練習すればよいか?

質問リストを読むことは練習にならない。AWSの面接でよくある失敗パターンは、答えを知っているのに、それを構造のない独り言のように話してしまうことであり、これは実際に声に出して話してみて初めて明らかになる。

上のリストを一つずつ声に出して練習し、制約・前提・選択・トレードオフという四段階の順序を必ず守るようにする。いくつか録音して聞き返し、自分の答えが構造を失う瞬間を確認するとよい。同じ質問セットを模擬面接として実施すれば、追加質問という要素も加わる。これは一人では練習できない部分であり、AWSの面接官が最も重視する部分でもある。

はっきりさせておくべき限界が一つある。AWSの選考の中には、リアルタイムの会話ではなく、自動化された、録画される、あるいは監督付きの評価であるものも存在する。そうした形式は、SubcueAIを含むどんなライブアシスタントの対象外だ。そこで役に立つのは事前の準備だけであり、どの形式がどのように扱われるかは面接形式のハブで説明している。

よくある質問

AWSの面接に合格するには認定資格が必要ですか?

認定資格は書類選考を通過する助けにはなるが、追加質問には耐えられないことが多い。面接官はなぜ代替案を採用しなかったのかを尋ねてくるが、その答えは試験からではなく、実際にそのワークロードを運用した経験から生まれるものだ。

AWSの面接ではネットワーキングについてどこまで深く聞かれますか?

ほとんどの候補者が予想するよりもずっと深い。VPCの構造、サブネット、セキュリティグループとネットワークACLの違い、そしてトラフィックが実際にどのようにプライベートサブネットを出ていくのかは、経験年数を問わずほぼすべてのラウンドで登場する。

AWSの面接で最もよくある間違いは何ですか?

トレードオフを述べずにサービス名だけを挙げてしまうことだ。面接官は正しい答えを何度も耳にしている。彼らが本当に確認したいのは、その選択がコストや遅延、運用負荷の面でどんな代償を伴うのかをあなたが理解しているかどうかだ。

AWSの面接質問はDevOps職とバックエンド職で違いますか?

基礎的な部分は大きく重なっている。DevOpsのラウンドはネットワーキング、IAM、トラブルシューティングをより深く掘り下げ、バックエンドのラウンドはデータストアやアプリケーション層の設計判断により多くの時間を割く傾向がある。

AWSの面接中にAIアシスタントを使うことはできますか?

ライブアシスタントが想定しているのは、リアルタイムの音声によるラウンドという形式だけであり、それであっても録画や画面共有、監督、会社管理のデバイスが絡む場合は対象外になる。自動化された評価はそもそも対象外だ。

関連する質問

← 詳しく見る: 職種・トピック別の面接質問