[AWS]リソースグループを使って、テスト・ステージング・本番環境ごとにAWSリソースを管理する

コンニチは、千葉です。

リソースグループを使っていますか?リソースグループを使うと、例えばテスト環境、ステージング環境、本番環境など環境が混在する場合、環境ごとにリソースをリスト化することができます。 EC2を操作する場合に、手動でフィルタを使えば環境ごとに一覧を作成することができますが、リソースグループを利用するとフィルタを事前に設定し保存することができます。また、EC2のみだけでなくRDS、S3など他のリソースも統合的にリスト化することができるので手順の簡素化や、誤操作のリスクを減らすことができます。

具体的にどんな感じか、実際に操作して確認してみます。

想定するユースケース

今回は、1つのAWSアカウント内で複数環境を利用する、具体的にはテスト、ステージング、本番の3環境を利用することを想定して進めます。

管理対象としてはVPC、EC2、セキュリティグループ、S3とします。

やってみた

タグの設定

各リソースにタグを設定します。 今回は、以下の設定をしました。

  • 環境識別タグ:env
  • 値:test, stg, prd

上記のタグを、VPC、EC2、セキュリティグループ、S3へ付与しました

タグつけするときは、[AWS]タグエディタを使ってリソースタグを一括編集するを参考にすると一括設定することもできます。

リソースグループで設定したときの画面です

20170312-resource-group-1

リソースグループの作成

リソースグループを作成します。

20170312-resource-group-3

グループの条件を指定します。タグにkeyがenvで、valueがtestのものをグループとして作成します。プレビューをクリックすると、どんなリソースが対象になるか事前に確認できます。(複数環境がある場合は、環境分グループを作成します)

20170312-resource-group-2

保存をクリックすると、テスト環境用のグループが作成されます。

20170312-resource-group-4

リソースグループからオペレーションを行って見る

では、リソースグループを使って各リソースを管理してみます。

20170312-resource-group-5

テスト環境のEC2を操作してみます

20170312-resource-group-6

フィルタされた状態でEC2が表示されました

20170312-resource-group-7

セキュリティグループ、S3、VPCについても対象の環境を指定した状態でコンソールを操作できました。

最後に

リソースが多く環境が混在している場合、リソースグループを利用することでオペレーションを改善することができます。 是非活用してみてください!