ぶろとよ

ネットワーク系クラウドエンジニア(AWS)の技術ブログ。自動化に興味があるためAWS CLIを勉強&アウトプット中。

AWSリソースの命名規則について

[更新履歴]

  • 2021/09/23, 命名規則ルール lowerCamelCaseCamelCase に変更。分かりづらかったため。

自分のAWS環境で利用するAWSリソースの命名規則をこれまでまとめたことが無かったため、ルール決めに挑戦してみました。
あくまでも「自分用の命名規則」となりますので、変な箇所があったり、ちょくちょく更新して変えていきます。利用される場合は実環境に合わせて検討してから使用ください。

目次

命名規則の作成にあたって

  • 命名規則の表記方法は「シスコ テクニカル ティップスの表記法」を参照しています。
    • シスコ テクニカル ティップスの表記法

    • 本ページで使用している表記法
      • < > : 引数、ユーザが入力する文字列
      • [ ] : オプション
      • {選択肢A|選択肢B} : 必須選択事項
      • [{選択肢A|選択肢B}] : オプションの中に選択事項がある
  • 以下は「Nameタグ」と「CloudFormationの論理ID」の変換で悩んで付けてるルールです。CloudFormationを使わない時や、面倒な時はスルーしてください。
    • CamelCasekebab-case のハイブリッドで記載する。
      • CloudFormation化する際、「-」だけ抜けばそのまま論理IDとして使えるようにしたい。
      • 最初から「-」を無くそうかと思ったが、視認性のため「-」は付与したい。
      • 「-」の後に数字が来ないようにする。
      • 「-」の後は大英文字にする。
      • CloudFormation化する際の、論理ID変換する正規表現


命名規則 一覧

AWSリソース 命名規則                     付与例    
VPC <Env><Region><Az>-Vpc P1x-Vpc
InternetGateway <Env><Region><Az>-Igw P1x-Igw
NatGateway <Env><Region><Az>-Ngw P1x-Ngw
サブネット <Env><Region><Az>-Sub-<Layer><連番> P1a-Sub-Pri01
ネットワークACL <Env><Region><Az>-Ncl-<Layer><連番> P1a-Ncl-Pri01
RouteTable <Env><Region><Az>-Rtb-<Layer><連番> P1x-Rtb-Pri01
ElasticIP <Env><Region><Az>-Eip-<使用目的,Hostname等> P1x-Eip-Hostname
EC2 <Env><Region><Az>-Ec2-<Type>-<Hostname> P1a-Ec2-Web-Hostname
EBS <Env><Region><Az>-Ebs-<Type>-<Hostname>-<Device> P1a-Ebs-Web-Hostname-Sda1
ENI <Env><Region><Az>-Eni-<Type>-<Hostname>-<Device> P1a-Eni-Web-Hostname-Eth0
SecurityGroup
(共有)
<Env><Region><Az>-Sgr-<Type>-Share[<連番>] P1a-Sgr-Mnt-Share
SecurityGroup
(個別)
<Env><Region><Az>-Sgr-<Type>-<Hostname>[<連番>] P1a-Sgr-Web-Hostname
CLB <Env><Region><Az>-Clb-<Type>-{In|Ex}[<連番>] P1x-Clb-Web-In
ALB <Env><Region><Az>-Alb-<Type>-{In|Ex}[<連番>] P1x-Alb-Web-Ex
NLB <Env><Region><Az>-Nlb-<Type>-{In|Ex}[<連番>] P1a-Nlb-Web-Ex01
ターゲットグループ <Env><Region><Az>-Tgr-<Type>-{In|Ex}[<連番>] P1x-Tgr-Web-Ex
IAMグループ <Env><Region><Az>-Igr-<Authority> P1x-Igr-Adm
IAMユーザー <Env><Region><Az>-Iur-<Authority>-<Freeword> P1x-Iur-Rdo-Username
IAMロール <Env><Region><Az>-Irl-<Authority>-<Freeword> P1x-Irl-Ope-Lambda
IAMポリシー <Env><Region><Az>-Ipl-<Freeword> P1x-Ipl-Ec2-To-Systemmanager
CloudFormation
スタック
<Env><Region><Az>-Cfs<構築順>-<Freeword> P1x-Cfs01-Vpc-Subnet-Routetable
S3バケット <Env><Region><Az>-S3b-<Freeword> p1x-s3b-elbaccesslogs ※S3は大文字不可
KeyPair <Env><Region><Az>-key-<Freeword> Pxx-Key-Username

※「<Env><Region><Az>」は全AWSリソースで共通です。
※複数システムが混在する環境では命名規則の頭に<system>-を付与します。例) Sales-, Tech-, Unyo-


命名規則内のパーツについて

  • System
    • Unyo : 運用監視
    • Sales : 営業部
    • Tech : 技術部
  • Env
    • P : Production, 本番
    • T : Test, テスト
    • D : Development, 開発
    • M : Maintenance, メンテナンス・運用
  • Region
    • 1 : ap-northeast-1, 東京リージョン
    • 3 : ap-northeast-3, 大阪リージョン
    • t : 東京リージョン, 他国も使う場合
    • s : シンガポールリージョン, 他国も使う場合
    • x : 指定不要やグローバルサービスの場合 ※他リソースと桁数を合わせたい
  • Az
    • a : ap-northeast-1a, ap-northeast-3a
    • b : ap-northeast-3b
    • c : ap-northeast-1c, ap-northeast-3c
    • d : ap-northeast-1d
    • x : 指定不要やリージョンサービスの場合 ※他リソースと桁数を合わせたい
  • Layer
    • Pub : パブリック, VPC内およびインターネットと通信可能
    • Pri : プライベート, VPC内およびプライベート空間と通信可能
    • Pro : プロテクト, VPC内のみ通信可能
  • Type
    • App : アプリケーションサーバ
    • Bsv : 踏み台サーバー(Bastion)
    • Web : WEBサーバー
    • Srv : 単にServer
    • Fsv : ファイルサーバー
    • Msv : メールサーバー
    • Ads : ADサーバー
    • Pxy : Proxyサーバ
    • Dns : DNSサーバー
    • Log : Syslogサーバー
    • Mnt : メンテナンス
  • Authority
    • Adm : 管理者権限
    • Ope : オペレーター
    • Rdo : リードオンリー
    • Api : API使用
  • Device
    • Eth0 : ENI Ethernet0
    • Eth1 : ENI Ethernet1
    • Sda1 : EBS ルート(Windows)
    • Xvda : EBS ルート(Linux)
    • Xvdb : EBS 2つ目



参考URL

dev.classmethod.jp

www.cisco.com