AWS Cloud Quest Security 学習記録 Day2: EC2、EBS、DNSの基礎とセキュリティ
はじめに
AWS Cloud Quest Security コースの2日目は、AWSの中核サービスであるコンピューティングとストレージ、そしてDNSの基礎について学習しました。本日学習した3つのトピックは以下の通りです。
- Amazon EC2(Elastic Compute Cloud)
- Amazon EBS(Elastic Block Store)
- DNS(Domain Name System)の仕組み
これらのサービスは、セキュアなクラウドインフラストラクチャを構築する上で不可欠な要素です。それぞれ詳しく見ていきましょう。
1. Amazon EC2(Elastic Compute Cloud)
概要
Amazon EC2は、クラウド内でセキュアかつサイズ変更可能なコンピューティング容量を提供するWebサービスです。主な特徴は以下の通りです:
- 初期ハードウェア投資が不要:アプリケーションの開発とデプロイを高速化
- 柔軟なスケーリング:必要に応じて仮想サーバーの数を増減可能
- 需要予測の不要:数分以内にスケールアップ/ダウンして変化やスパイクに対応
- 完全な制御:コンピューティングリソースを完全にコントロール
- 実績のある環境:Amazonの信頼性が高くスケーラブルなコンピューティング環境で実行
高可用性とセキュリティ
グローバルインフラストラクチャ
- 世界中の複数のロケーションでホスティング
- 各AWSリージョンは最低3つのAvailability Zone(AZ)で構成
- SLAコミットメント:各EC2リージョンで99.99%の可用性を保証
セキュリティの重要性
- AWSの最優先事項はセキュリティ
- 最もセキュリティに敏感な組織の要件を満たすよう構築
- エンタープライズレベルのセキュリティ基準に準拠
EC2の基本概念
インスタンスとは
インスタンスは、クラウド内の仮想サーバーです。Amazon EC2は、アプリケーションのニーズに応じて選択できる幅広いインスタンスタイプを提供しています。
インスタンスタイプのカテゴリー
-
General Purpose(汎用)
- コンピュート、メモリ、ネットワーキングのバランスが取れたインスタンス
- 幅広いワークロードに対応
-
Compute Optimized(コンピュート最適化)
- コンピュート集約型ワークロード向けに最適化
- 高性能プロセッサーを搭載
-
Memory Optimized(メモリ最適化)
- メモリ内で大規模なデータセットを処理するワークロード向け
- 高速メモリ性能を提供
-
Storage Optimized(ストレージ最適化)
- ローカルストレージ上の大規模データセットへの高速な読み書きアクセスが必要なワークロード向け
- 高いシーケンシャルI/O性能
-
Accelerated Computing(高速コンピューティング)
- ハードウェアアクセラレーター(GPU)を使用するインスタンス
- 機械学習や科学計算に最適
-
HPC Optimized(HPC最適化)
- ハイパフォーマンスコンピューティングワークロード向けに最適化
- 大規模な並列処理に対応
各インスタンスタイプには複数のインスタンスサイズが用意されており、ワークロードの要件に合わせてリソースをスケーリングできます。
AMI(Amazon Machine Image)
AMIは、インスタンスの起動に必要な情報を提供するテンプレートです:
- オペレーティングシステム、アプリケーション、アプリケーションサーバーなどのソフトウェア構成を含む
- インスタンスを起動する際は必ずAMIを指定する必要がある
- 1つのAMIから単一または複数のインスタンスを起動可能
ストレージオプション
EC2インスタンスには、柔軟でコスト効率の高いデータストレージオプションが用意されています:
1. Instance Store(インスタンスストア)
- ホストコンピュータに物理的に接続されたディスクストレージ
- インスタンス用の一時的なブロックレベルストレージ
- インスタンス停止時にデータは失われる
2. Amazon EBS(Elastic Block Store)
- 永続的なブロックレベルストレージ
- 未フォーマットの外部ブロックデバイスのように動作
- EBSスナップショットを使用してS3にバックアップ可能
3. Amazon EFS(Elastic File System)
- スケーラブルなファイルストレージ
- 複数のEC2インスタンスから同時にアクセス可能
- 共有ファイルシステムとして機能
ネットワーキング
Amazon VPC(Virtual Private Cloud)
- AWS クラウド内に論理的に分離されたエリアをプロビジョニング
- 定義した仮想ネットワーク内でEC2インスタンスを起動
- デフォルトVPCが各リージョンに事前設定済み
高可用性の実装
- VPCは複数のAZにまたがることが可能
- 異なるAZにサブネットを追加してインスタンスを起動
- アプリケーションのフォルトトレランスを向上
セキュリティグループ
- 仮想ファイアウォールとして機能
- インスタンスのトラフィックを制御
- インバウンドとアウトバウンドのルールを定義
EC2インスタンスの起動手順
-
ロケーションの決定
- 単一ロケーションまたは複数ロケーション(リージョン/AZ)での実行を決定
-
AMIの選択
- 適切なオペレーティングシステムとソフトウェア構成を選択
-
インスタンスタイプとサイズの決定
- ワークロードに適したリソース構成を選択
-
ネットワークアクセスの設定
- VPCとサブネットを指定
-
ストレージの構成
- ルートボリュームの編集または追加ストレージの接続
-
タグの追加(オプション)
- リソースの分類と管理のためのメタデータ
-
セキュリティの構成
- セキュリティグループの設定
- キーペア(公開鍵・秘密鍵)によるログイン情報の保護
これらの簡単な手順により、数分以内に必要な数のインスタンスを起動できます。
2. Amazon EBS(Elastic Block Store)
概要
Amazon EBSは、EC2インスタンスで使用するためのブロックレベルストレージボリュームを提供するサービスです。主な特徴:
- Raw ブロックデバイス:未フォーマットのブロックデバイスとして動作
- 単一インスタンスへの接続:各EBSボリュームは一度に1つのインスタンスにのみ接続可能
- 複数ボリュームの接続:1つのインスタンスに複数のEBSボリュームを接続可能
- 超低遅延:シングルディジットミリ秒の遅延を実現
- データの永続性:EC2インスタンスを停止または終了してもデータは保持される
ボリュームタイプ
EBSは2つの主要なストレージボリュームタイプを提供:
1. SSD-backed Storage(SSDベースストレージ)
特徴:
- 小さなI/Oサイズで頻繁な読み書き操作を行うトランザクショナルワークロード向けに最適化
- 主要なパフォーマンス指標はIOPS
ボリュームタイプ:
Provisioned IOPS SSD(io2、io1)
- io2:99.999%の耐久性(io1の100倍)
- 最大64,000 IOPS(GP3の4倍)
- 最大1,000 MB/秒のスループット
- シングルディジットミリ秒の遅延
- ボリュームサイズ:4GB〜16TB
io2 Block Express
- io2の4倍高いIOPS、スループット、容量
- サブミリ秒の遅延が必要な場合に最適
- 単一ボリュームのピークパフォーマンスを超える必要がある場合に使用
General Purpose SSD(gp3、gp2)
-
gp3:
- ベースライン3,000 IOPS(ストレージ容量に関係なく)
- 最大16,000 IOPSまでスケール可能
- 最大1,000 MB/秒のスループット(gp2の4倍)
-
gp2:
- 3 IOPS/GBの一貫したベースラインパフォーマンス
- 最大3,000 IOPSまでバースト可能
- 最大250 MB/秒のスループット
- 両方とも1GB〜16TBのボリュームサイズ
2. HDD-backed Storage(HDDベースストレージ)
特徴:
- MapReduce、データウェアハウス、ログ処理などのスループット集約型ワークロード向け
- 主要なパフォーマンス指標はスループット(MB/秒)
ボリュームタイプ:
Throughput Optimized HDD(st1)
- 頻繁にアクセスされるスループット集約型ワークロード向け
- 最大250 MB/秒/TBのバースト
- ベースライン40 MB/秒/TB
- 最大500 MB/秒のスループット
- 最大500 IOPSパーボリューム
- ボリュームサイズ:500GB〜16TB
Cold HDD(sc1)
- アクセス頻度の低いデータ向けの最も低コストのオプション
- 最大80 MB/秒/TBのバースト
- ベースライン12 MB/秒/TB
- 最大250 MB/秒のスループット
- 最大250 IOPSパーボリューム
- ボリュームサイズ:500GB〜16TB
主要機能
1. Elastic Volumes(エラスティックボリューム)
- ダウンタイムやパフォーマンスへの影響なしに動的に変更可能:
- 容量の増加
- パフォーマンスの調整
- ボリュームタイプの変更
- CloudWatchとLambdaを使用して自動化可能
- 計画サイクルの時間を節約
2. EBS-Optimized Instances
- EC2とEBS間の専用スループットを提供
- インスタンスタイプに応じて500〜19,000 Mbpsのオプション
- EBS I/Oと他のトラフィック間の競合を最小化
- EBSボリュームの最適なパフォーマンスを実現
3. EBS Snapshots(スナップショット)
基本機能:
- EBSボリュームのデータをS3にバックアップ
- ポイントインタイムのスナップショットで災害復旧を可能に
- 増分バックアップ(変更されたブロックのみを保存)
高度な機能:
Direct Read Access
- EBS Direct APIを使用してスナップショットからデータを直接読み取り
- EC2インスタンスやEBSボリュームを作成せずに増分変更を追跡
Fast Snapshot Restore(FSR)
- FSR対応スナップショットから復元されたボリュームは即座にフルパフォーマンスを発揮
- ボリューム作成後、接続されたインスタンスは即座にデータにアクセス可能
共有とコピー
- AWSアカウント間でのスナップショット共有
- AWSリージョン間でのコピーによる地理的拡張
Data Lifecycle Manager(DLM)
- カスタムスケジュールでEBSスナップショットの作成と削除を自動化
- タグベースの管理
- CloudWatchイベントでポリシーを監視
- コストコントロールのための定期的なクリーンアップ
4. Multi-Attach
- 単一のProvisioned IOPS SSDボリュームを最大16のNitroベースEC2インスタンスに接続
- 同一AZ内でのみ利用可能
- 各インスタンスは共有ボリュームへの完全な読み書き権限を持つ
- 複数ライターからのストレージ整合性を管理するアプリケーションの高可用性を実現
EBSの利点
1. あらゆるワークロードに対応するパフォーマンス
対応するワークロード例:
- ミッションクリティカルアプリケーション(SAP、Oracle、Microsoft製品)
- リレーショナル/非リレーショナルデータベース
- エンタープライズアプリケーション
- コンテナ化されたアプリケーション
- ビッグデータ分析エンジン
- ファイルシステムとメディアワークフロー
2. 高可用性と耐久性
- AZ内で自動的にレプリケート
- 99.999%の可用性を提供
- io2ボリュームは99.999%の耐久性(ビジネスクリティカルアプリケーション向け)
- スナップショットとDLMによる堅牢なバックアップソリューション
3. コスト効率
- 様々な価格帯とパフォーマンスベンチマークを提供
- ギガバイト単価の高コスト効率から高IOPS/高スループットまで幅広いオプション
- 増分スナップショットにより変更されたブロックのみに課金
4. 使いやすさ
- ボリュームの作成、使用、暗号化、保護が簡単
- Elastic Volumesでアプリケーションのニーズ変化に容易に対応
- DLMによる追加のオーバーヘッドやコストなしでの自動スナップショット管理
5. 実質的に無制限のスケール
- 1GBから数ペタバイトまでのストレージに対応
- 数回のクリックでスケーリング可能
- スナップショットを使用した新しいボリュームの迅速な復元
6. セキュリティ
- AWS IAMとの統合によるアクセス制御
- データコンプライアンスのためのセキュリティ機能
- デフォルトでの暗号化設定(アカウント単位)
- 保存データ、転送中のデータ、すべてのボリュームバックアップの暗号化をサポート
- すべてのボリュームタイプで暗号化をサポート
- 組み込みのキー管理インフラストラクチャ
- パフォーマンスへの影響なし
3. DNS(Domain Name System)
概要
DNSは、人間が読みやすいドメイン名(例:www.example.com)を、コンピュータが通信に使用する数値のIPアドレス(例:192.0.2.1)に変換するシステムです。
基本的な仕組み:
- インターネット上のコンピュータはIPアドレスを使用して相互に通信
- ユーザーは覚えやすいドメイン名を入力
- DNSサービス(Amazon Route 53など)がグローバルに分散されたサービスとして変換を実行
- 電話帳のように、名前と番号のマッピングを管理
DNSクエリの動作フロー
DNSクエリがどのように機能するか、8つのステップで詳しく見ていきましょう:
ステップ1:ホストからの要求
- ホストがローカルのDNSサーバーにDNS要求を送信
ステップ2:ルートネームサーバーへの問い合わせ
- DNSサーバーは事前設定されたルートネームサーバーのリストから1つをランダムに選択
- www.example.comのAレコードを要求
- Aレコード:ドメイン名(example.com)をホストコンピュータのIPアドレスにマッピング
ステップ3:.comゾーンの情報取得
- ルートネームサーバーが.comゾーンの権威ネームサーバーのリストとIPアドレスで応答
ステップ4:トップレベルドメインサーバーへの問い合わせ
- DNSサーバーがステップ3で返された権威ネームサーバーから1つをランダムに選択
- example.comのAレコードについて別のDNSクエリを送信
ステップ5:ドメイン固有の権威サーバー情報取得
- トップレベルドメインネームサーバーがexample.comドメインの権威ネームサーバーのリストで応答
ステップ6:最終的な権威サーバーへの問い合わせ
- DNSサーバーがステップ5で返された権威ネームサーバーから1つをランダムに選択
- example.comのAレコードについて別のDNSクエリを送信
ステップ7:IPアドレスの取得
- ステップ6でクエリを受信したネームサーバーはexample.comドメインの権威サーバー
- example.comのAレコードのIPアドレス値でDNSサーバーに応答
ステップ8:ホストへの応答
- DNSサーバーがIPアドレスを含むDNS応答をホストに送信
- ホストコンピュータがwww.example.comに接続可能になる
DNSの重要性とセキュリティ考慮事項
DNSのセキュリティリスク
- DNSキャッシュポイズニング
- DNSハイジャッキング
- DDoS攻撃の標的
セキュリティ対策
- DNSSEC(DNS Security Extensions)の実装
- プライベートDNSゾーンの使用
- Route 53などの管理されたDNSサービスの活用
- 定期的な監視とログ分析
まとめ
本日の学習では、AWS Cloud Quest Securityコースを通じて以下の重要な概念を学びました:
-
Amazon EC2:
- セキュアで柔軟なコンピューティング環境の提供
- 多様なインスタンスタイプとストレージオプション
- VPCとセキュリティグループによるネットワークセキュリティ
-
Amazon EBS:
- 永続的なブロックストレージソリューション
- ワークロードに応じた多様なボリュームタイプ
- スナップショットとDLMによる堅牢なバックアップ戦略
- 暗号化とIAM統合による強力なセキュリティ
-
DNS:
- インターネット通信の基盤となる名前解決システム
- 8ステップの詳細なクエリプロセス
- セキュリティ上の考慮事項
これらの知識は、AWS Security Specialtyの認定取得に向けて、クラウドインフラストラクチャのセキュアな設計と実装を理解する上で重要な基礎となります。特に、EC2のセキュリティグループ、EBSの暗号化機能、DNSのセキュリティリスクについての理解は、セキュリティ専門家として必須の知識です。
Discussion