AWSを安全に運用するためには、ネットワークの設計とセキュリティ設定が重要です。本記事では、VPC(Virtual Private Cloud)、セキュリティグループ、ELB(Elastic Load Balancer)の基本と設定方法について解説します。
目次[非表示]
1. VPC(Virtual Private Cloud)とは?
VPCはAWS内で仮想ネットワークを構築する仕組みで、リソースを安全に隔離できます。
VPCの主な要素
要素 | 説明 |
---|---|
VPC | 仮想ネットワークの単位 |
サブネット | VPC内で分割されたネットワーク(パブリック/プライベート) |
ルートテーブル | ネットワークトラフィックのルーティング制御 |
インターネットゲートウェイ(IGW) | VPCをインターネットに接続 |
NATゲートウェイ | プライベートサブネットからインターネット接続を可能にする |
VPCの基本構成
- パブリックサブネット:インターネットと直接通信可能(Webサーバー向け)
- プライベートサブネット:インターネットから隔離(DBサーバー向け)
VPCの作成手順(AWSマネジメントコンソール)
- AWSマネジメントコンソールで VPC を開く
- 「VPCを作成」をクリックし、CIDRブロック(例:
10.0.0.0/16
)を指定 - 必要に応じて パブリックサブネット(
10.0.1.0/24
)と プライベートサブネット(10.0.2.0/24
)を作成 - インターネットゲートウェイ(IGW)を作成し、VPCにアタッチ
- ルートテーブルを編集し、パブリックサブネットのルートにIGWを追加
VPCの作成(AWS CLI)
aws ec2 create-vpc --cidr-block 10.0.0.0/16
2. セキュリティグループとNACL(Network ACL)
AWSでは、セキュリティグループとNACLを使用してネットワークのセキュリティを管理します。
セキュリティグループ(SG)とは?
- EC2インスタンス単位で適用されるファイアウォール
- ステートフル(リクエスト元に自動で応答)
- ルール設定:インバウンド(受信)、アウトバウンド(送信)
例:SSHとHTTPを許可するセキュリティグループ
ルール | プロトコル | ポート範囲 | ソース |
---|---|---|---|
SSH | TCP | 22 | 任意のIP(または特定のIPアドレス) |
HTTP | TCP | 80 | 任意のIP |
AWS CLIでセキュリティグループを作成
aws ec2 create-security-group --group-name MySecurityGroup --description "My security group"
NACL(Network ACL)とは?
- サブネット単位で適用されるファイアウォール
- ステートレス(戻りトラフィックも明示的に許可が必要)
- デフォルトではすべて許可
ルール番号 | ルールタイプ | プロトコル | ポート | 送信元 | 許可/拒否 |
---|---|---|---|---|---|
100 | SSH | TCP | 22 | 0.0.0.0/0 | 許可 |
110 | HTTP | TCP | 80 | 0.0.0.0/0 | 許可 |
* | すべて | すべて | すべて | すべて | 拒否 |
3. ELB(Elastic Load Balancer)
ELBは、トラフィックを複数のEC2インスタンスに分散し、可用性を向上させる負荷分散サービスです。
ELBの種類
ELBタイプ | 説明 |
---|---|
ALB(Application Load Balancer) | レイヤー7(HTTP/HTTPS)で動作し、パスベースルーティングが可能 |
NLB(Network Load Balancer) | レイヤー4(TCP/UDP)で動作し、高速な負荷分散が可能 |
CLB(Classic Load Balancer) | 旧世代のELB、ALB/NLBに置き換え推奨 |
ALBの作成手順(AWSマネジメントコンソール)
- AWSマネジメントコンソールで EC2 > ロードバランサー を開く
- 「ロードバランサーを作成」をクリックし、Application Load Balancer を選択
- リスナー を設定(例:HTTP 80)
- VPCとサブネット を選択
- ターゲットグループ を作成し、EC2インスタンスを登録
- ELBの作成後、DNS名を取得してアクセス確認
ELBの作成(AWS CLI)
aws elbv2 create-load-balancer --name MyALB --type application --subnets subnet-12345678 subnet-87654321
まとめ
AWSのネットワークとセキュリティ設定を理解することは、AWS環境を安全に運用するために不可欠です。
- VPC: AWS内の仮想ネットワーク
- セキュリティグループ: EC2のアクセス制御
- NACL: サブネットレベルのアクセス制御
- ELB: 負荷分散を実施し、可用性を向上
次のステップでは、「ELBとAuto Scalingの活用」について詳しく解説していきます!