Option
HeimHeim Skill Cloud-Infrastruktur terraform-module-library

terraform-module-library

amurata/cc-tools amurata/cc-tools

In Übereinstimmung mit den Best Practices für „Infrastructure as Code“ erstellen wir wiederverwendbare Terraform-Module für AWS-, Azure- und GCP-Infrastrukturen. Diese werden bei der Erstellung von Infrastrukturmodulen, der Standardisierung der Cloud-Bereitstellung und der Implementierung wiederverwendbarer IaC-Komponenten eingesetzt.

...Alle erweitern
50
Zeit aktualisiert 29. Juni 2026

Über terraform-module-library

Die „ terraform-module-library “-Kompetenz bietet eine strukturierte Sammlung wiederverwendbarer Terraform-Module, die für die Bereitstellung produktionsreifer Infrastrukturen auf AWS, Azure und GCP konzipiert sind. Sie bewältigt die Herausforderungen einer konsistenten Verwaltung von Cloud-Infrastrukturen, indem sie standardisierte Muster für gängige Komponenten wie VPCs, Kubernetes-Cluster, Datenbanken und Speicherdienste bereitstellt. Durch die Befolgung von Best Practices für „Infrastructure as Code“ vereinfacht dieses Skill die Erstellung, das Testen und die Wartung von Cloud-Umgebungen, verringert das Risiko von Fehlkonfigurationen und gewährleistet wiederholbare Bereitstellungen über mehrere Cloud-Anbieter hinweg.

Zu den wichtigsten Funktionen gehören gut organisierte Modulstrukturen mit separaten Verzeichnissen für jeden Cloud-Anbieter und Unterverzeichnissen für einzelne Ressourcen wie VPCs, RDS, S3, AKS, GKE und Cloud SQL. Jedes Modul folgt einem einheitlichen Muster mit den wichtigsten Terraform-Ressourcen, Eingabevariablen, Ausgabedaten, Beispielen, Versionsfestlegungen und Testdateien. Die Module umfassen Eingabevalidierung, semantische Versionierung, Terratest-Integration und Tagging-Standards, um Zuverlässigkeit und Rückverfolgbarkeit zu gewährleisten. Darüber hinaus veranschaulichen Beispielkonfigurationen praktische Implementierungen und erleichtern so die Einführung und Integration in bestehende Infrastruktur-Pipelines.

Diese Skill ist ideal für DevOps-Ingenieure, Cloud-Architekten und Infrastrukturteams, die darauf abzielen, Bereitstellungsprozesse zu standardisieren und wiederverwendbare, wartbare Terraform-Module zu erstellen. Sie unterstützt Szenarien wie Multi-Cloud-Bereitstellungen, die Etablierung unternehmensweiter Terraform-Standards, den Aufbau wiederverwendbarer Infrastrukturkomponenten und die Gewährleistung der Einhaltung von Best Practices. Unternehmen, die die Cloud-Einführung beschleunigen und gleichzeitig die operative Konsistenz wahren möchten, werden diese Kompetenz als besonders nützlich empfinden.

FAQ

Welche Cloud-Anbieter werden von der „ terraform-module-library “ unterstützt?

Die Skill bietet wiederverwendbare Terraform-Module für AWS, Azure und GCP, die gängige Infrastrukturkomponenten für jeden Anbieter abdecken.

Können diese Module in Produktionsumgebungen eingesetzt werden?

Ja, die Module sind produktionsreif konzipiert und folgen Best Practices wie Eingabevalidierung, Tagging, Versionsfixierung und Tests mit Terratest.

Wie sind die Module strukturiert und organisiert?

Die Module sind nach Cloud-Anbieter und Ressourcentyp organisiert und folgen einem Standardmuster, das die Dateien „main.tf“, „variables.tf“, „outputs.tf“, „versions.tf“, „README.md“, Beispiele und Tests umfasst.

Unterstützen die Module Multi-Cloud-Bereitstellungen?

Ja, die Funktion ist für die Erstellung wiederverwendbarer Komponenten gedacht, die über mehrere Cloud-Anbieter hinweg integriert werden können.

Gibt es Voraussetzungen für die Nutzung dieser Module?

Benutzer sollten über praktische Kenntnisse in Terraform und den Diensten der Cloud-Anbieter verfügen. Die Module setzen den Zugriff auf die entsprechenden Cloud-Konten sowie entsprechende IAM-Berechtigungen voraus.

Auf GitHub ansehen

English | 日本語

Terraformモジュールライブラリ

AWS、Azure、GCPインフラ用の本番環境対応Terraformモジュールパターン。

目的

複数のクラウドプロバイダーにまたがる一般的なクラウドインフラパターン用の再利用可能で、十分にテストされたTerraformモジュールを作成します。

使用タイミング

  • 再利用可能なインフラコンポーネントの構築
  • クラウドリソースプロビジョニングの標準化
  • Infrastructure as Codeベストプラクティスの実装
  • マルチクラウド互換モジュールの作成
  • 組織のTerraform標準の確立

モジュール構造

terraform-modules/├── aws/│   ├── vpc/│   ├── eks/│   ├── rds/│   └── s3/├── azure/│   ├── vnet/│   ├── aks/│   └── storage/└── gcp/    ├── vpc/    ├── gke/    └── cloud-sql/

標準モジュールパターン

module-name/├── main.tf          # メインリソース├── variables.tf     # 入力変数├── outputs.tf       # 出力値├── versions.tf      # プロバイダーバージョン├── README.md        # ドキュメント├── examples/        # 使用例│   └── complete/│       ├── main.tf│       └── variables.tf└── tests/           # Terratestファイル    └── module_test.go

AWS VPCモジュール例

main.tf:

resource "aws_vpc" "main" {  cidr_block           = var.cidr_block  enable_dns_hostnames = var.enable_dns_hostnames  enable_dns_support   = var.enable_dns_support  tags = merge(    {      Name = var.name    },    var.tags  )}resource "aws_subnet" "private" {  count             = length(var.private_subnet_cidrs)  vpc_id            = aws_vpc.main.id  cidr_block        = var.private_subnet_cidrs[count.index]  availability_zone = var.availability_zones[count.index]  tags = merge(    {      Name = "${var.name}-private-${count.index + 1}"      Tier = "private"    },    var.tags  )}resource "aws_internet_gateway" "main" {  count  = var.create_internet_gateway ? 1 : 0  vpc_id = aws_vpc.main.id  tags = merge(    {      Name = "${var.name}-igw"    },    var.tags  )}

variables.tf:

variable "name" {  description = "VPCの名前"  type        = string}variable "cidr_block" {  description = "VPC用CIDRブロック"  type        = string  validation {    condition     = can(regex("^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}$", var.cidr_block))    error_message = "CIDRブロックは有効なIPv4 CIDR表記でなければなりません。"  }}variable "availability_zones" {  description = "アベイラビリティゾーンのリスト"  type        = list(string)}variable "private_subnet_cidrs" {  description = "プライベートサブネット用CIDRブロック"  type        = list(string)  default     = []}variable "enable_dns_hostnames" {  description = "VPCでDNSホスト名を有効化"  type        = bool  default     = true}variable "tags" {  description = "追加タグ"  type        = map(string)  default     = {}}

outputs.tf:

output "vpc_id" {  description = "VPCのID"  value       = aws_vpc.main.id}output "private_subnet_ids" {  description = "プライベートサブネットのID"  value       = aws_subnet.private[*].id}output "vpc_cidr_block" {  description = "VPCのCIDRブロック"  value       = aws_vpc.main.cidr_block}

ベストプラクティス

  1. モジュールにセマンティックバージョニングを使用
  2. 説明付きですべての変数を文書化
  3. examples/ディレクトリに例を提供
  4. 入力検証に検証ブロックを使用
  5. モジュール構成のために重要な属性を出力
  6. versions.tfでプロバイダーバージョンをピン
  7. 計算値にlocalsを使用
  8. count/for_eachで条件付きリソースを実装
  9. Terratestでモジュールをテスト
  10. すべてのリソースに一貫してタグ付け

モジュール構成

module "vpc" {  source = "../../modules/aws/vpc"  name               = "production"  cidr_block         = "10.0.0.0/16"  availability_zones = ["us-west-2a", "us-west-2b", "us-west-2c"]  private_subnet_cidrs = [    "10.0.1.0/24",    "10.0.2.0/24",    "10.0.3.0/24"  ]  tags = {    Environment = "production"    ManagedBy   = "terraform"  }}module "rds" {  source = "../../modules/aws/rds"  identifier     = "production-db"  engine         = "postgres"  engine_version = "15.3"  instance_class = "db.t3.large"  vpc_id     = module.vpc.vpc_id  subnet_ids = module.vpc.private_subnet_ids  tags = {    Environment = "production"  }}

参照ファイル

  • assets/vpc-module/ - 完全なVPCモジュール例
  • assets/rds-module/ - RDSモジュール例
  • references/aws-modules.md - AWSモジュールパターン
  • references/azure-modules.md - Azureモジュールパターン
  • references/gcp-modules.md - GCPモジュールパターン

テスト

// tests/vpc_test.gopackage testimport (    "testing"    "github.com/gruntwork-io/terratest/modules/terraform"    "github.com/stretchr/testify/assert")func TestVPCModule(t *testing.T) {    terraformOptions := &terraform.Options{        TerraformDir: "../examples/complete",    }    defer terraform.Destroy(t, terraformOptions)    terraform.InitAndApply(t, terraformOptions)    vpcID := terraform.Output(t, terraformOptions, "vpc_id")    assert.NotEmpty(t, vpcID)}

関連スキル

  • multi-cloud-architecture - アーキテクチャ決定用
  • cost-optimization - コスト効率的な設計用

Alle Dateien

1 Dateien

terraform-module-library installieren

Laden Sie die Skill-Dateien herunter und entpacken Sie sie in Ihr Verzeichnis „.claude/skills/“.

ZIP herunterladen

Klonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.

git clone https://github.com/amurata/cc-tools/blob/main/i18n/ja/plugins/cloud-infrastructure/skills/terraform-module-library/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Kopieren Kopieren
Schnelle Einrichtung: Kopiere den Skill-Ordner nach .claude/skills/. Claude erkennt den Skill automatisch und nutzt ihn.
Repository amurata/cc-tools

Ähnliche Skills

Cloudflare Manager
Zeit aktualisiert 29. Juni 2026
netlify-forms
Zeit aktualisiert 23. August 2026
pinecone
Zeit aktualisiert 29. Juni 2026
azure-setup-guide
Zeit aktualisiert 29. Juni 2026
OR