こんにちは!AWSクラウドプラクティショナー資格取得に向けた学習記録、第11弾です!
今回は、AWSの根幹を支える超重要テーマでありながら、少しややこしい部分を重点的に復習していきます。具体的には、「セキュリティグループとネットワークACLの使い分け」「EC2のコストを最適化する購入オプション」、そして「目的に応じたデータ分析サービスの選択」の3本立てです。
これらの違いを明確に理解できれば、シナリオ問題での得点力がグッと上がるはずです。それでは、早速始めましょう!
1. ファイアウォールの二重壁!セキュリティグループとネットワークACL
▼ 復習ポイント
問い1: EC2インスタンス単位で通信を制御するファイアウォールは?
問い2: サブネット単位で通信を制御するファイアウォールは?
- 正解:問い1 → セキュリティグループ, 問い2 → ネットワークACL
- 自分の回答:両方ともセキュリティグループと答えて混乱…
【解説】
VPC内のリソースを保護するためのファイアウォール機能ですが、役割と設定範囲が異なります。この2つの違いを理解することは、ネットワークセキュリティの基本です!
-
セキュリティグループ (SG):
- 役割: EC2インスタンスにアタッチして、インスタンス単位のトラフィックを制御します。
- 状態: ステートフル。つまり、一度許可したインバウンド(受信)通信に対する戻りのアウトバウンド(送信)通信は、ルールがなくても自動的に許可されます。逆も同様です。これにより、戻りの通信をいちいち設定しなくて済むので管理が楽です。
- ルール: 許可ルールのみ設定可能。デフォルトでは全てのインバウンドを拒否し、全てのアウトバウンドを許可します。
- イメージ: 「インスタンスの用心棒」
-
ネットワークアクセスコントロールリスト (NACL):
- 役割: サブネットに関連付けて、サブネット単位のトラフィックを制御します。同じサブネット内のEC2インスタンス全てに影響します。
- 状態: ステートレス。インバウンド通信を許可しても、戻りのアウトバウンド通信は別途ルールで明示的に許可する必要があります。
- ルール: 許可ルールと拒否ルールの両方を設定できます。ルールは番号の小さい順に評価されます。
- イメージ: 「サブネットの国境警備隊」
両方を使うことで、より強固な多層防御が実現できます。まずはインスタンスのすぐ隣で守る「セキュリティグループ」を基本に考え、サブネット全体で共通のルールを適用したい場合に「ネットワークACL」を使う、と覚えておくと分かりやすいです!
2. コスト最適化の鍵!EC2購入オプションの使い分け
▼ 復習ポイント
途中で中断されても構わない、一時的なバッチ処理に最もコスト効率の良いEC2購入オプションはどれか。
- 正解:スポットインスタンス
- 自分の回答:オンデマンドインスタンス
【解説】
EC2は使い方によって料金が大きく変わります。ワークロードの特性に合わせて最適な購入オプションを選ぶことが、コスト削減の非常に重要なポイントになります。
-
オンデマンドインスタンス:
- 特徴: 使った分だけ秒単位で支払う、最も基本的なオプション。事前の契約は不要です。
- 用途: いつ終わるか分からない開発・テスト環境や、急なトラフィック増に対応する場合など、柔軟性が求められるケースに適しています。
-
リザーブドインスタンス (RI) / Savings Plans:
- 特徴: 1年または3年の長期利用を約束(コミット)することで、オンデマンドに比べて大幅な割引が適用されます。
- 用途: Webサーバーなど、常に稼働していることが分かっている安定したワークロードに最適です。
-
スポットインスタンス:
- 特徴: AWSの余剰コンピューティング能力を、オンデマンドより最大90%も安い割引価格で利用できます。ただし、AWS側の都合でインスタンスがいつでも中断(停止または終了)される可能性があるのが最大の特徴です。
- 用途: 今回の問題のように、中断されても問題ないバッチ処理、データ分析、レンダリングなど、耐障害性のあるワークロードで絶大なコスト効果を発揮します。
「急な用事ならオンデマンド、長期滞在ならリザーブド、空き部屋を格安で借りるならスポット」というホテルに泊まるようなイメージで覚えておくと、使い分けがしやすいですね!
3. ビッグデータを使いこなせ!AthenaとKinesisの役割分担
▼ 復習ポイント
問い1: S3に保存されているデータをSQLで直接クエリして分析できるサービスは?
問い2: リアルタイムで生成され続けるストリーミングデータを処理・分析するサービスは?
- 正解:問い1 → Amazon Athena, 問い2 → Amazon Kinesis
- 自分の回答:両方ともよく分からず混乱…
【解説】
AWSには多くのデータ分析サービスがあり、それぞれの得意分野を理解することが重要です。特にAthenaとKinesisは、データの状態によって使い分けられます。
-
Amazon Athena:
- 役割: サーバーレスのインタラクティブクエリサービスです。
- 対象データ: Amazon S3に**保存済み(Data at Rest)**のデータ。CSV, JSON, Parquetなど様々なフォーマットに対応しています。
- 使い方: S3のデータを対象に、標準的なSQLを使って手軽にデータ分析を開始できます。データレイクの分析基盤としてよく利用されます。
- イメージ: 「S3データ専用のSQL探偵」
-
Amazon Kinesis:
- 役割: リアルタイムのストリーミングデータを収集、処理、分析するためのサービスファミリーです。
- 対象データ: Webサイトのクリックストリーム、IoTデバイスのセンサーデータ、アプリケーションログなど、**次々と流れてくる(Data in Motion)**データ。
- 使い方: データをリアルタイムで取り込み(Kinesis Data Streams)、加工し(Kinesis Data Firehose)、分析する(Kinesis Data Analytics)といった一連の流れを構築できます。
- イメージ: 「データの奔流をさばく水門」
「S3に溜まったデータはAthena、今まさに流れてくるデータはKinesis」と、データの状態で区別するとスッキリ理解できます!
まとめ
今回の復習では、AWSを使いこなす上で避けては通れない、以下の3つの重要ポイントを学びました。
- SG vs NACL: インスタンス単位でステートフルなのがSG、サブネット単位でステートレスなのがNACL!
- EC2購入オプション: ワークロードに合わせてオンデマンド、リザーブド、スポットを使い分け、賢くコストを削減!
- Athena vs Kinesis: S3に"溜まった"データはAthena、"流れてくる"データはKinesisで処理!