Project Information

3 件の記事

ルール

Environment names are production, staging, development, and experimental

(環境名はproductionstagingdevelopmentexperimentalとする)

解説

productionは本番環境、stagingは本番環境と同等の構成で最終検証を行う環境、developmentは開発者が日常的に使用する開発環境、experimentalは新技術の検証や実験的な機能を試すための環境です。 表記ゆれがないよう明確に指定します。prd, prod, product, productionと同じ用途で微妙に異なる文字列が使われることは、美観を損なうだけでなく、リソースをまとめて管理したい際の妨げとなります。

サンプルコード

# ディレクトリ構造での使用例
# terraform/
#   production/
#   staging/
#   development/
#   experimental/

# リソース命名での使用例
resource "aws_vpc" "main" {
  cidr_block = "10.0.0.0/16"

  tags = {
    Name        = "${var.environment}-${var.project}-vpc"
    Environment = var.environment  # production, staging, development, experimental のいずれか
  }
}

ルール

AWS is used as the cloud platform

(クラウドプラットフォームとしてAWSを使用する)

解説

このプロジェクトでは、AWSを標準のクラウドプラットフォームとして採用しています。 AWSは手厚いサポートと情報提供、優秀なサービスラインナップ、安定したエコシステムを持ち、多くの企業での採用実績があります。

サンプルコード

参考リンク

ルール

Infrastructure is built and operated using Terraform

(インフラストラクチャはTerraformを使用して構築および運用する)

解説

このプロジェクトでは、インフラをIaCツールのTerraformで管理します。 コードでインフラを管理することは、生成AIによるインフラ構築を容易にするばかりか、GitとGithubを使ったトレーサビリティの確保の道も開きます。 今や手作業だけでAWSの管理をすることは想像もし難いことです。

サンプルコード

参考リンク