AWSのセキュリティグループは、クラウド環境における重要な防御線です。あなたのインフラを守るためには、適切な設定が欠かせません。しかし、多くのユーザーがその設定方法に戸惑っています。この記事では、具体的な「aws セキュリティグループ 設定例」を紹介し、あなたの理解を深めます。
AWS セキュリティグループの基本概念
AWSセキュリティグループは、クラウド環境でのトラフィック制御を行う重要な要素です。あなたのインスタンスへのアクセスを管理し、セキュリティを強化します。
セキュリティグループとは
セキュリティグループは仮想ファイアウォールとして機能し、特定のポートやIPアドレスからのトラフィックを許可または拒否します。これにより、必要な通信のみが行われるよう調整できます。例えば、ウェブサーバー用にHTTP(ポート80)とHTTPS(ポート443)のインバウンドトラフィックを許可する設定が一般的です。
インバウンドとアウトバウンドルール
インバウンドルールは外部からあなたのインスタンスへの接続を制御します。例として、SSH接続にはポート22が使われますので、このポートへのアクセスを指定したIPアドレスからのみ許可することが望ましいです。また、アウトバウンドルールはあなたのインスタンスから外部への通信を管理します。たとえば、データベースとの通信には特定のポート番号(例:3306がMySQL用)で制限できます。
一般的な設定例
AWSのセキュリティグループは、特定のトラフィックを制御するために重要です。ここでは、一般的な設定例として、Webサーバー用とデータベースサーバー用のセキュリティグループについて詳しく説明します。
Webサーバー用セキュリティグループ
Webサーバーには、通常次のようなインバウンドルールが必要です。
- HTTP (ポート80): ウェブサイトへの一般的なアクセスを許可します。
- HTTPS (ポート443): セキュアな通信を保障し、安全に情報をやり取りできます。
- SSH (ポート22): 管理者がリモートで接続する際に使用します。このポートは信頼できるIPアドレスからのみ許可することが推奨されます。
これらの設定により、安全かつ効率的にユーザーとインタラクションできます。ただし、アウトバウンドルールも確認しておきましょう。例えば、全てのトラフィックを許可する場合や特定のサービスへの接続のみ許可する場合があります。
データベースサーバー用セキュリティグループ
データベースサーバーには異なる要件があります。主なインバウンドルールは以下です。
- MySQL/Aurora (ポート3306): アプリケーションからデータベースへのアクセスを制御します。この接続は内部ネットワーク内のみで許可すると良いでしょう。
- PostgreSQL (ポート5432): 同様に、このプロトコルでも内部からのアクセスだけを許可します。
設定手順
AWSのセキュリティグループを正しく設定するには、いくつかの具体的な手順があります。以下に、AWSマネジメントコンソールとAWS CLIを使用した設定方法を示します。
AWS マネジメントコンソールを使用した設定
- AWSマネジメントコンソールにログインします。
- 「EC2」サービスを選択し、左側のメニューから「セキュリティグループ」をクリックします。
- 「セキュリティグループの作成」ボタンを押して、新しいセキュリティグループを作成します。
- セキュリティグループの名前や説明を入力し、必要なインバウンドおよびアウトバウンドルールを追加します。例えば:
- HTTP (ポート80)
- HTTPS (ポート443)
- SSH (ポート22) – 信頼できるIPアドレスのみ許可
- 「作成」ボタンで設定内容を保存します。この時点で新しいセキュリティグループが適用されます。
AWS CLIを使用した設定
AWS CLIでは、コマンドラインから直接セキュリティグループの設定が可能です。以下は基本的なコマンド例です。
- 新しいセキュリティグループの作成:
aws ec2 create-security-group --group-name MySecurityGroup --description "My security group"
- インバウンドルールの追加:
aws ec2 authorize-security-group-ingress --group-name MySecurityGroup --protocol tcp --port 80 --cidr 0.0.0.0/0
- SSHアクセス制限:
aws ec2 authorize-security-group-ingress --group-name MySecurityGroup --protocol tcp --port 22 --cidr あなたの信頼できるIPアドレス/32
ベストプラクティス
AWSセキュリティグループの設定には、いくつかのベストプラクティスがあります。これらを遵守することで、セキュリティを強化し、潜在的な脅威からシステムを保護できます。
最小権限の原則
最小権限の原則は重要です。この原則に従って、セキュリティグループには必要最低限のアクセス権のみを設定します。例えば:
- Webサーバー向けには、HTTP(ポート80)とHTTPS(ポート443)のみ許可。
- データベースサーバーへのアクセスは内部IPアドレスからのみ許可。
こうすることで、不必要なリスクを減少させます。
ルールの定期的な見直し
ルールの定期的な見直しも欠かせません。時間が経つにつれて、新しい脅威やビジネス要件が発生します。以下にチェックポイントを挙げます:
- 不要になったルールやIPアドレスを削除。
- 新たに追加されたサービスやインスタンス用にルールを更新。
- 外部からの攻撃パターンに基づいて設定内容を調整。
