概要
AnyCompany のセキュリティエンジニアとして勤務しているとします。会社全体の Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、インスタンスに保存されているデータ (保管中のデータ)、インスタンス間を移動するデータ (転送中のデータ) のセキュリティに関する責任が自分にあります。
AnyCompany のアプリケーションデベロッパーは、フロントエンドのウェブサーバーとバックエンドのデータベースサーバーを構築するために、EC2 インスタンスをよく使用します。新しいインスタンスがデプロイされるたびにセキュリティ関連の調整を適用するのではなく、会社全体のインスタンス用に事前構成された基本イメージを提供したいと考えています。
このラボでは、さまざまな設定変更を含むカスタム Amazon マシンイメージ (AMI) を作成します。次に、カスタム AMI から新しいインスタンスをデプロイし、ユーザーデータスクリプトをインスタンスに使用して、インスタンスの機能ごとに新しいユーザーを追加します。その後、AWS Systems Manager を使用してインスタンスへのパッチ適用を維持する方法について学習します。最後に、Amazon Elastic Block Store (Amazon EBS) の暗号化とセキュリティグループルールを使用して、保管中および転送中の社内データを保護します。
目標
本ラボを修了すると、次のことができるようになります。
- カスタム AMI を作成する。
- カスタム AMI から新しい EC2 インスタンスをデプロイする。
- AWS Systems Manager を使用して EC2 インスタンスにパッチを適用する。
- EBS ボリュームを暗号化する。
- EBS 暗号化の仕組みと、スナップショットなどの他のオペレーションに与える影響を理解する
- セキュリティグループを使用して、EC2 インスタンス間のトラフィックを暗号化されているトラフィックのみに制限する。
技術知識の前提条件
このラボを完了するには、AWS マネジメントコンソールの基本的な操作に精通していて、Linux コマンドラインインターフェイス (CLI) でコマンドを適切に実行できる必要があります。
所要時間
このラボの所要時間は約 45 分です。
アイコンキー
このラボでは、さまざまな種類の手順と注記への注意を促すため、各種アイコンが使用されています。以下のリストは、各アイコンの目的を説明したものです。
- コマンド: 実行する必要があるコマンドです。
- 想定される出力: 出力のサンプルであり、コマンドまたは編集済みファイルの出力を確認するときに使用します。
- 注意: ヒントや重要なガイダンスです。
- 追加情報: 詳細を確認可能。
- 警告: 特記事項または重要な情報です (この情報を読み忘れても、機器やデータに問題が発生するというわけではありませんが、特定のステップを繰り返す必要が生じる可能性があります)。
- 検討: ここでは、少し時間を取ってそのコンセプトをどうすれば自分の環境に応用できるか考えたり、学習中のトピックについて議論したりします。
- 更新: 新しい情報を表示するためにウェブブラウザのページやリストを更新する必要があることを示します。
環境の概要
以下の図は、ラボ環境の基本的なアーキテクチャを表しています。
図に含まれている主なリソースの詳細は、以下のとおりです。
- VPC: 1 つ目のアベイラビリティーゾーンにあるパブリックサブネット 1 つおよびプライベートサブネット 2 つと、2 つ目のアベイラビリティーゾーンにあるパブリックサブネット 1 つで構成される。
- Network Load Balancer: 各パブリックサブネットに 1 つずつ、合計 2 つのノードがある。
- EC2 インスタンス: 最初のプライベートサブネットでウェブサーバーとして機能する。
- EC2 インスタンス: 2 つ目のサブネットでデータベースサーバーとして機能する。
- 2 つのセキュリティグループ: 用途に基づいてインスタンスごとに 1 つずつ設定されている。
ネットワークトラフィックは、外部ユーザーからインターネットゲートウェイを経由して、Network Load Balancer の 2 つのノードのいずれかに流れ、その後、ウェブサーバーに流れます。ウェブサーバーで実行している WordPress ブログサイトの URL がリクエストされると、トラフィックはデータベースサーバーにも流れます。