運用の手間を減らす「共有セキュリティグループ機能」を設定方法から注意点まで解説!
どうも、こんにちは kaz です。
はじめに
「共有セキュリティグループ機能」は利用されていますでしょうか?
この機能は、Organizations 内の複数アカウント間でセキュリティグループを共有できる便利な機能です。
セキュリティグループを一元管理し、各アカウントで同じセキュリティグループを使用することで、セキュリティポリシーの一貫性を保つことができます。
今回は「共有セキュリティグループ機能」の設定方法と注意点について解説します。
前提条件
共有セキュリティグループ機能を利用するためには、以下の前提条件があります。
- AWS Organizations が有効化されていること
- Resource Access Manager (RAM) が有効化されていること
また、共有可能なセキュリティグループは、以下の条件を満たす必要があります。
- セキュリティグループを共有するアカウントは、VPC とセキュリティグループを所有していること
- デフォルト VPC のセキュリティグループは共有できません
- デフォルトセキュリティグループも共有できません
共有セキュリティグループ機能は、以下の AWS サービスで利用可能です (2025年6月時点)
※ RDS や VPC Endpoint などの一部サービスでは、共有セキュリティグループ機能は利用できないので注意が必要
- Amazon API Gateway
- Amazon EC2
- Amazon ECS
- Amazon EFS
- Amazon EKS
- Amazon EMR
- Amazon FSx
- Amazon ElastiCache
- AWS Elastic Beanstalk
- AWS Glue
- Amazon MQ
- Amazon SageMaker AI
- ELB - Application Load Balancer
- ELB - Network Load Balancer
その他の制限事項については、以下のドキュメントを参照してください。
共有セキュリティグループ機能を設定する
ここからは、共有セキュリティグループ機能を利用する手順を紹介します。
「共有するアカウント」と「共有されるアカウント」の2つのアカウントを用意し、実際にセキュリティグループを共有してみます。
共有するアカウントの準備
サブネットも共有する必要があるため、まずは共有するアカウントで VPC を作成します。
今回は検証用のため、サブネットは 1 つだけ作成します。
次に、共有元となるセキュリティグループを作成します。
インバウンドルールは適当に 1 つ設定しておきます。
AWS Resource Access Manager (RAM) を開き [リソース共有] を作成します。
- リソースタイプ: サブネット
- 先ほど作成した共有サブネットを選択
- リソースタイプ: セキュリティグループ
- 先ほど作成した共有セキュリティグループを選択
アクセス許可の設定では、マネージメントコンソールに表示されたデフォルトのものをそのまま利用します。
今回は特定の OU に共有するので [組織単位 (OU)] を選択し、共有先の OU を追加します。
また、「自分の組織内でのみを許可」を選択して共有先のアカウントを制限しておきましょう。
これで共有元の設定は完了です。
共有されるアカウントの準備
共有されるアカウントにログインして先ほど共有したサブネットとセキュリティグループを確認すると、どちらも共有されていることがわかります。
また、共有されたサブネットには (共有)
と表示されています。
サブネット
セキュリティグループ
これでメンバーアカウントでも、共有セキュリティグループ機能を利用できるようになりました。
動作確認
共有セキュリティグループ機能を利用して、実際にリソースを作成したりしてみましょう。
共有セキュリティグループの制限
共有セキュリティグループは、メンバーアカウント上で変更することはできません。
以下のように、共有セキュリティグループを選択しても編集できないことが確認できます。
また、以下の点に注意が必要です。
- 共有したセキュリティグループに付加されているタグは伝播されるか?
- されません。共有されたセキュリティグループに対するタグ設定は各アカウントで必要です
- ただし、共通元セキュリティグループのリソース ID が同じなので、クロスアカウントアクセスを利用してタグ付けを自動化することは可能です
- 共有されるアカウントで VPC を新規に作成したとき、共通セキュリティグループは利用できるのか?
- できません。共通セキュリティグループは共有元アカウントの VPC に依存しています
- そのため、共有元の VPC から共有されたサブネット上に作成するリソースでのみ利用可能です
- 共有元のプレフィックスリストをアタッチしたセキュリティグループは共有可能か?
- 可能です。プレフィックスリストは非常に便利なので、共有することをオススメします
- ただし、共有されたアカウント側はそのプレフィックスリストに定義された内容は確認できないので注意が必要です
- 他リージョンの VPC でも共有セキュリティグループは利用できるのか?
- 利用できません。RAM はリージョン単位でのサービスなので、共有セキュリティグループも共有元のリージョンに依存します
EC2 インスタンスの作成
共有されたサブネット上に EC2 インスタンスを作成します。
画像のように共有サブネットを選択したのち、共有されたセキュリティグループを選択できることがわかります。
問題なく EC2 インスタンスを作成できました。
RDS インスタンスの作成
RDS は共有セキュリティグループ機能がサポートされていません。
そのため、RDS インスタンスの作成画面では共有セキュリティグループを選択できないことがわかります。
※DB サブネットグループを作成するために、共有サブネットを 1 つ増やしてます
共有セキュリティグループの削除
さっそく共有セキュリティグループを削除しようとすると、以下のように「一部のセキュリティグループは削除できません」と表示されます。
理由のところに「1 のネットワークインターフェイスが関連付けられています。」とありますが、メンバーアカウントで作成した EC2 インスタンスが関連付けられているためです。
次に、RAM の [リソース共有] から共有セキュリティグループの関連付けを解除してみます。
すると、エラーなく共有の関連付けが解除されました。
メンバーアカウント側を確認すると、共有セキュリティグループが参照できずエラーが表示されています。
ですが、EC2 インスタンスはそのまま起動している状態で、EC2 への接続も問題なく可能です。
また、EC2 を停止 -> 起動してみましたが、問題なく起動もできました。
これで共有セキュリティグループ削除に伴う動作確認ができました。
まとめ
いかがでしたでしょうか?
共有セキュリティグループ機能を利用することで、AWS Organizations 内の複数アカウント間でセキュリティグループを共有し、一元管理ができます。
場合によっては、アカウント間でのネットワークセキュリティの一貫性を保つために非常に便利な機能です。
ネットワーク運用の手間を減らすという観点では非常に便利な機能ですが、上記のような制限があるので利用する際は十分に検討してから導入することをオススメします。
さまざまな AWS サービスを活用する環境では、これらの制限が今後の障害となる可能性がありそうです。
また、他の方法でセキュリティグループの一元管理をしたいというケースでは、AWS Firewall Manager の利用も検討してみてください。
アノテーション株式会社について
アノテーション株式会社 は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。
「らしく働く、らしく生きる」のスローガンを掲げ、さまざまな背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けています。
現在当社では AWS の構築・運用経験があり、以下の業務に携わってくれるメンバーを募集中です。
- AWS 環境の運用設計支援や構築
- 運用監視とインシデント対応
- 定型業務などの自動化
AWS 関連資格をお持ちの方、クラウドネイティブな運用経験者は大歓迎です。
少しでもご興味がありましたら 募集職種 よりご応募ください!!
一緒に働ける日を心待ちにしています!