0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[AWS SDK for Python (Boto3)] EC2のタグ情報でEBSのタグ情報を設定する

Last updated at Posted at 2021-07-04

はじめに

EC2のタグ情報をもとに、EC2に紐づくEBSにタグ情報を設定するスクリプトの紹介です。
↓ このように、EBSのタグ情報を更新します。

-f オプションは、対象のEC2を絞り込みます。EC2のNameタグに含まれる文字列を設定します。文字列は前方一致です。-f aws-testとした場合、Nameタグが aws-testかきくけこ のEC2のみがEBSタグ更新の対象になります。対象のEC2に複数のEBSが紐づく場合は、それら全てが対象になります。

実行環境

Pythonスクリプトの実行環境はWindows10です。

PS C:\> python --version
Python 3.9.5
PS C:\> pip list
Package         Version
--------------- --------
boto            2.49.0
boto3           1.17.104
botocore        1.20.104
pip             21.1.3
PS C:\> aws --version
aws-cli/2.2.16 Python/3.8.8 Windows/10 exe/AMD64 prompt/off

スクリプト

スクリプトはgithubに格納しました。

スクリプト実行方法

-f,-d の2つのオプションを使用します。

オプション 概要
-f EC2のNameタグに含まれる文字列を設定します。文字列は前方一致
-d Falseを指定するとdry-runが 無効 になり、EBSのタグ情報を設定します

スクリプトの実行方法

PS C:\> python test.py -f {EC2 Nameタグのフィルタ文字列(前方一致)} -d False

実行例1)EC2のNameタグの文字列が aws で始まるEC2に紐づくEBSをタグ更新の対象にする

PS C:\> python test.py -f aws -d False

実行例2)EC2のNameタグの文字列が aws-test で始まるEC2に紐づくEBSをタグ更新の対象にする

PS C:\> python test.py -f aws-test -d False

実行例3)-d オプションを指定しない場合は dry-runが 有効 になり、処理対象の情報表示のみ行います。

PS C:\> python test.py -f {EC2 Nameタグのフィルタ文字列(前方一致)}

スクリプト実行結果サンプル

スクリプトを実行したときの出力サンプルです。

PS C:\Users\usr01\test> python setEbsTags.py -f aws-test -d False
Python Version Check [OK] : sys.version_info(major=3, minor=9, micro=5, releaselevel='final', serial=0)
==========================================================
[1]     ---------------------------
        EC2 InstanceID = i-00000000000000001
        タグ名= Name,   = aws-testかきくけこ
        タグ名= project,        = projectかきくけこ
        タグ名= cost,   = costかきくけこ
        EBS IDs= ['vol-000000000000001', 'vol-000000000000002']
==========================================================
----------------------------------------------------------
[Dry-run:OFF] EBSのタグ情報を更新->開始
[1](EBSタグ更新) ---------------------------
        EC2-ID=i-00000000000000001
        EBS=['vol-000000000000001', 'vol-000000000000002']
        Tags=[{'Key': 'Name', 'Value': 'aws-testかきくけこ'}, {'Key': 'project', 'Value': 'projectかきくけこ'}, {'Key': 'cost', 'Value': 'costかきくけこ'}]
[Dry-run:OFF] EBSのタグ情報を更新->終了
----------------------------------------------------------
PS C:\Users\usr01\test> 
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?