AWS SAA(Solutions Architect – Associate)で
やや難易度が高く、差がつく問題のひとつが、

「ALB + EC2 + SSL/TLS + パフォーマンス劣化」

を扱う設問です。

この問題は
“HTTPSにすれば安全”で止まっているか、
“どこでSSLを終端すべきか”まで考えられるか

を問われています。


早速、問題を見ていきましょう

【問題】

ある企業は、ALBの背後に構成された複数のEC2インスタンスにホストされたニュース配信サイトを運用しています。このEC2インスタンスを終端にしてSSL通信を実施することで通信の安全性を高めることが必要です。あなたはソリューションアーキテクトとして、SSL証明書をインスタンスとALBの両方に設定して、各通信をHTTPSとする設定を行っています。しかしながら、SSL証明書処理が原因となって、ウェブサーバーの通信速度が遅くなっていることが判明しました。

この問題を解決するために、何を実施するべきでしょうか。(2つ選択してください。)

選択肢

  1. AWS Certificate Managerを使用して新しいSSL証明書を作成する。特定のIAMロールに証明書を関連付けて、AWS Nitro Enclavesを利用したインスタンスにIAMロールを設定する。
  2. AWS Certificate Managerを使用して、SSL証明書をS3バケットにインポートする。このバケットを参照するようにEC2インスタンスを設定する。
  3. AWS Certificate Managerを使用して新しいSSL証明書を作成する。特定のIAMロールに証明書を関連付けて、通常のLinux EC2インスタンスにIAMロールを設定する。
  4. SSL証明書をAWS Certificate Managerにインポートする。ACMからSSL証明書を実施するHTTPSリスナーを持つALBを設定する。
  5. AWS Certificate Managerを使用して新しいSSL証明書を作成する。ALBにACM証明書を設定して、TSLリスナーを設定する。


ここから先は 正解と解説 です。
まずは「なぜ遅くなったのか」を考えてみてください。


【正解】

① AWS Certificate Manager を使用して新しい SSL 証明書を作成し、
特定の IAM ロールに関連付けて AWS Nitro Enclaves を利用した EC2 インスタンスに設定する

② 既存の SSL 証明書を AWS Certificate Manager にインポートし、
ACM 証明書を設定した HTTPS リスナーを持つ ALB を構成する

簡易構成図

クライアント
   │ HTTPS(ACM)
   ▼
ALB(HTTPSリスナー / ACM)
   │ HTTPS(Nitro Enclaves + ACM)
   ▼
EC2(Webサーバ)

なぜ通信速度が遅くなったのか?

現状の構成(問題点)

  • ALB と EC2 両方で SSL 終端
  • 各 EC2 が以下を個別に実施
    ・証明書管理
    ・暗号化/復号
    ・鍵管理

👉 SSL 処理が EC2 の CPU を圧迫

この問題の本質

この問題は 2つの課題 が同時に存在します。

課題①

クライアント〜ALB 間の SSL を効率化したい

課題②

ALB〜EC2 間の SSL を維持しつつ、EC2 の負荷を下げたい

👉 だから「2つ選択」

課題に対する正解①:ALB 側の SSL 処理を最適化(ACM)

【実施内容】

・SSL 証明書を AWS Certificate Manager(ACM)で管理
ALB に HTTPS リスナー を設定
・クライアント → ALB の SSL を オフロード

【効果】

・EC2 の SSL 処理負荷を削減
・証明書更新の自動化
・運用コスト削減

🔑 ALB では「HTTPS リスナー」を使う
※「TLS リスナー」は NLB の概念
→ 用語ミスは試験で即不正解

課題に対する正解②:EC2 側の SSL 処理を高速・安全化(Nitro Enclaves)

重要な前提(試験頻出)

  • 通常の EC2 では ACM 証明書は直接使えない

例外

AWS Nitro Enclaves を利用した EC2
・IAM ロール経由で ACM 証明書を利用可能

Nitro Enclaves の役割

・EC2 内の 分離された実行環境
・秘密鍵をホスト OS から完全隔離
・高セキュリティ + 高性能な TLS 処理

👉 ALB → EC2 間の HTTPS を維持しつつ高速化

❌ なぜ他の選択肢は不正解?


❌ ACM 証明書を S3 に保存して EC2 から参照

・ACM 証明書は S3 配布不可
・CloudFront / ELB 専用


❌ 通常の Linux EC2 に ACM 証明書を設定

不可能
・Nitro Enclaves が必須


❌ ALB に TLS リスナーを設定

・ALB → HTTPS リスナー
・NLB → TLS リスナー

👉 ロードバランサ種別の混同は定番の罠

🎯 試験での見抜き方(重要)

問題文に次が出たら即反応してください。

キーワード連想
SSL 処理が遅い終端位置の見直し
ALB + EC2 両方 HTTPS過剰負荷
証明書管理ACM
EC2 で ACMNitro Enclaves
2つ選択レイヤ別対策

👉 ACM + ALB +(必要なら)Nitro Enclaves

📌 まとめ(試験用一文)

この問題は「2通りの正解」があるのではなく、
「2つを併せて初めて要件を満たす」問題


この設問は、

  • SSL/TLS の知識
  • ALB と NLB の違い
  • ACM の制約
  • Nitro Enclaves の例外仕様

横断的に理解しているか を問う
SAA 上位レベル問題です。

ここまで理解できていれば、SSL/TLS 系の問題は ほぼ落としません

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる