説明
EC2 インスタンスがデフォルトセキュリティグループを共有していると、1 回のルール変更が複数のリソースに影響することがあります。用途別の専用グループを使うと、許可するポートと接続元を管理しやすくなります。
デフォルトグループを使うだけで、インターネットからの受信が許可されるわけではありません。初期ルールは同じグループを使うリソースからの受信と、すべての送信を許可します。運用中に変更できるため、実際のルールを確認してください。
想定される影響
- 共有ルールが不要な通信を許可したり、変更時に複数のサービスへ影響したりする可能性があります。
- リソースごとの利用目的や管理者が不明確になり、不要な許可が残ることがあります。
対処方法
- インスタンスの用途に合った専用グループを関連付け、必要なポートと通信相手だけを許可してください。
- 複数のセキュリティグループを使う場合は、全体の許可範囲を確認してください。
- デフォルトグループのルールを削除する前に、関連付けられたリソースと必要な通信を確認し、移行後に接続をテストしてください。
例
以下はグループの選択を示す抜粋です。AMI と参照先は環境に合わせて用意してください。SecurityGroups に名前を指定する方法はデフォルト VPC 用です。他の VPC では SecurityGroupIds にグループ ID を指定してください。
変更前
yaml
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-79fd7eee
SecurityGroups:
- !Ref default
default がデフォルトグループの名前として解決されるよう、別途定義されている前提です。
変更後
yaml
Resources:
MyEC2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-79fd7eee
SecurityGroups:
- !Ref AppServerSecurityGroup
専用グループを選択します。名前を変えるだけではアクセスは制限されないため、実際のルールを確認してください。