APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【小ネタ】AWSの別環境にSGを移動させるコマンド

はじめに

こんにちは、クラウド事業部の中嶋です。

現場業務中にAWS環境内の別の環境にSGを移動させたい!といったことがありまして~

具体的には、A環境にあるSGをB環境にも同じモノを作成したいといった感じです。

その際、マネコン操作で同じ設定値をポチポチする方法もありましたが、数も多くてそんなに時間もかけられない状況・・・。

コマンド操作で何とかならないものかといったところで、いい方法があったのでその紹介になります!

作業の流れ

  1. A環境内のB環境に送りたい対象SGが紐づいたサーバAにアクセスしてエクスポートするコマンドを実行(json形式でサーバA内に抽出)
  2. ターミナルソフトのファイル転送機能で、local環境にjsonファイルを移動
  3. local環境からB環境サーバへ③同様にターミナルソフトのファイル転送機能を使用してファイルを移動
  4. AWSのマネコン上でB環境で使用するSGの箱(SGの外枠だけ作成して、インバウンド・アウトバウンドルール設定せず)を作成 ※コマンドで作成でもOK
  5. B環境サーバ内にてjsonファイルをインポートするコマンドを実行

作業の流れはざっくりこのような運びで実施しました!

①A環境内のB環境に送りたい対象SGが紐づいたサーバAにアクセスしてエクスポートするコマンドを実行

A環境の対象サーバにSSHした後に下記コマンドを実行する

aws ec2 describe-security-groups --group-ids YOUR_SECURITY_GROUP_ID --query 'SecurityGroups[0].IpPermissions' > /tmp/sg_rules.json
・YOUR_SECURITY_GROUP_ID:こちらはA環境からB環境に送りたい対象のSGのIDを記載
・/tmp/sg_rules.json:任意のパス配下にjson形式で格納
※sg_rules.json:sg_rulesはSGの名前に置き換え可

json形式でエクスポートできたか確認

[root@xx.xx.xx.xx ~]# ll /tmp
合計 xx
-rw-r--r-- 1 root root xxxxx mm dd hh:mm sg_rules.json ★

②ターミナルソフトのファイル転送機能で、local環境にjsonファイルを移動

TeraTermでしたら、メニューバーの「ファイル」⇒「SSH SCP」を使用して【sg_rules.json】をlocal環境へ送る

from:/tmp/sg_rules.json
to:localのデスクトップ上

③local環境からB環境サーバへ③同様にターミナルソフトのファイル転送機能を使用してファイルを移動

こちらに関しても、②と同様に実施

下記が入れ替わる点だけ注意

from:localのデスクトップ上に格納した【sg_rules.json】を指定
to:B環境の/tmp配下へ

④AWSのマネコン上でB環境で使用するSGの箱(SGの外枠だけ作成して、インバウンド・アウトバウンドルール設定せず)を作成

SG作成に関しては名前とVPCを指定し、インバウンド・アウトバウンドルールは未設定でOKです。

下記を参考に・・

タグはお好みで!

⑤B環境サーバ内にてjsonファイルをインポートするコマンドを実行

aws ec2 authorize-security-group-ingress --group-id YOUR_NEW_SG_ID --ip-permissions file://sg_rules.json
YOUR_NEW_SG_ID:④で作成したSGのIDを記載「このSGにA環境のSGの設定がインポートされる」
※パスを指定したい場合は、file://sg_rules.json⇒file:///tmp/sg_rules.json 等で試してみてください。

最後にマネコン上でSGにインバウンド・アウトバウンドルールが追加されてるかを確認してみてください。

こちらの記事が作業負担の軽減に繋がれは幸いです!


APCはAWSセレクトティアサービスパートナー認定を受けております。
https://cdn-ak.f.st-hatena.com/images/fotolife/s/szk5008/20230815/20230815104746.png

その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。

https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp

本記事の投稿者: 中嶋
AWSをメインにインフラ系のご支援を担当しています。