こんにちは、ソリューション技術部 平原です。
現在、AWSを利用した環境構築及びシステムの運用の業務に携わっています。
携わっている業務の中で、AWSにアクセスするアクセス元の変更に伴い、IPアドレスの追加・削除作業が発生します。
その際、セキュリティグループにIPアドレスの追加が必要となることがあります。
実際に行っている作業内容を記載し、今後、皆様が同様の作業を行う時に参考になればと思います。
セキュリティグループとは
いわゆるステートフルなIPフィルタリングであり、あるリソース(EC2やRDSなど)へのアクセスをトラフィック毎に制御する設定を行えるものです。
EC2やRDSへのアクセス元が追加が必要となった場合、セキュリティグループにアクセス元のIPアドレスを追加します。
セキュリティグループの詳細については、こちら。
セキュリティグループにユーザ拠点のIPアドレスを追加
セキュリティグループにユーザ拠点のIPアドレスを追加する実際の作業内容を記載します。
1. AWS CLIを使用し、追加前の状態を記録する
追加後に意図せぬ設定になっていないか確認する為、追加前の状態をAWS CLIを使用して記録します。
aws ec2 describe-security-groups \
--filters Name=group-name,Values='<セキュリティグループ名>' \
--query 'SecurityGroups.IpPermissions.{FromPort:FromPort,ToPort:ToPort,IPs:IpRanges.CidrIp,SGs:UserIdGroupPairs.GroupId}' > <記録ファイル名>_before.txt
- 1行目:AWS CLIのセキュリティグループ詳細情報を取得する"describe-security-groups"を指定。
- 2行目:filtersオプションで、セキュリティグループ名を指定し、対象セキュリティグループをフィルタリング。
- 3行目:queryオプションで、セキュリティグループに設定されているIPアドレスの部分のみ取得するように指定。ファイルに追加前の状態を出力。
【ファイル出力例】
[
{
"ToPort": 443,
"FromPort": 443,
"SGs": ,
"IPs": [
"192.168.0.1/32",
"172.16.0.1/32"
]
}
]
2. AWSマネージメントコンソールからセキュリティグループにIPアドレスを追加
AWSマネージメントコンソールから、セキュリティグループにIPアドレスを追加します。
あえてAWSマネージメントコンソールを使用して、確認箇所をGUIとCLIの2視点にし、作業の品質向上を図っています。
- AWSマネージメントコンソールにログインし、[セキュリティグループ]に遷移する
- IPアドレス追加対象のセキュリティグループを選択する
- [インバウンド]タブに表示し、「編集」をクリックする
本作業は、ユーザの拠点からAWS内リソースに向けてのアクセスを許可する為、"インバウンド"にIPアドレスを追加 - 「ルールの追加」をクリックし、各項目を入力し、ソースに追加するIPアドレスを入力する
- 設定内容に誤りがないことを確認し、「保存」をクリックする
3. AWS CLIを使用し、追加後の状態を記録する
追加前と同様のAWS CLIを使用し、追加後の状態を使用し記録します。
aws ec2 describe-security-groups \
--filters Name=group-name,Values='<セキュリティグループ名>' \
--query 'SecurityGroups.IpPermissions.{FromPort:FromPort,ToPort:ToPort,IPs:IpRanges.CidrIp,SGs:UserIdGroupPairs[].GroupId}' > <記録ファイル名>_after.txt
※ 記録するファイル名のみ変更
4. 追加前と追加後のdiffを取得し、設定内容を確認
diffコマンドなどを使用し、追加前と追加後の状態を比較します。
diff <記録ファイル名>before.txt <記録ファイル名>after.txt
差異が追加したIPアドレスのみであることを確認する
さいごに
IAMのポリシーにIPアドレスを追加する場合も同様の手順で作業しています。
同じような作業を行う際に、参考にしてもらえると幸いです!