ForgeVision Engineer Blog

フォージビジョン エンジニア ブログ

セキュリティグループにIPアドレスを追加する作業について

こんにちは、ソリューション技術部 平原です。

現在、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アドレスを追加する場合も同様の手順で作業しています。

同じような作業を行う際に、参考にしてもらえると幸いです!