AWS TERRAFORM → STACKIT TERRAFORM

AWS Terraform naar STACKIT Terraform

StackToIT leest uw AWS-Terraform zoals uw engineers het schreven, inclusief modules en variabelen, en schrijft STACKIT-providercode die uw platformteam kan beoordelen, versioneren en via de eigen pipeline kan toepassen.

Eén echte conversie: Aurora PostgreSQL naar PostgreSQL Flex

De orders-database van de AWS Retail Store Sample App: links precies zoals AWS hem publiceert, rechts precies zoals StackToIT hem schreef in de gepubliceerde run.

AWS-bronterraform/lib/dependencies/orders_rds.tf
module "orders_rds" {
  source  = "terraform-aws-modules/rds-aurora/aws"
  version = "7.7.1"

  name           = "${var.environment_name}-orders"
  engine         = "aurora-postgresql"
  engine_version = "15.10"
  instance_class = "db.t3.medium"

  instances = {
    one = {}
  }

  vpc_id  = var.vpc_id
  subnets = var.subnet_ids

  allowed_security_groups = concat(var.allowed_security_group_ids, [var.orders_security_group_id])

  master_password        = random_string.orders_db_master.result
  create_random_password = false
  database_name          = "orders"
  storage_encrypted      = true
  apply_immediately      = true
  skip_final_snapshot    = true

  create_db_parameter_group = true
  db_parameter_group_name   = "${var.environment_name}-orders"
  db_parameter_group_family = "aurora-postgresql15"

  create_db_cluster_parameter_group = true
  db_cluster_parameter_group_name   = "${var.environment_name}-orders"
  db_cluster_parameter_group_family = "aurora-postgresql15"

  tags = var.tags
}
STACKIT-Terraform van StackToITterraform/data.tf
resource "stackit_postgresflex_instance" "dependencies_orders_rds_this" {
  project_id = var.project_id
  name       = "retail-store-ecs-orders"
  version    = "15"
  flavor_id  = "2.4"
  storage = {
    class = var.postgresflex_storage_class
    size  = var.orders_rds_storage_size
  }
  backup_schedule = "0 2 * * *"
  network = {
    acl          = coalescelist(var.orders_rds_allowed_cidrs, stackit_ske_cluster.retail_app_ecs_cluster.egress_address_ranges)
    access_scope = var.orders_rds_access_scope == "SNA" ? "SNA" : null
  }
  retention_days = 32
}
  • Engine en versie overgenomen

    aurora-postgresql 15 wordt een PostgreSQL Flex-instance op versie 15, genoemd naar de bron.

  • Netwerktoegang afgeleid uit de graaf

    Standaard komt de ACL van de database uit de egressbereiken van het SKE-cluster dat de ECS-services vervangt, zodat alleen de workloads erbij kunnen.

  • Openstaande waarden worden variabelen

    Opslagklasse en omvang zijn invoer met een vermelde herkomst, nooit verzonnen standaardwaarden. Uw team vult ze eenmalig in en de volgende run leest ze.

  • Elk attribuut verantwoord

    Van de 27 betekenisvolle attributen op dit Aurora-cluster wordt elk attribuut gebruikt, gekoppeld aan een STACKIT-contract of benoemd als niet overgenomen. Er blijft geen attribuut onverklaard.

Hoe de conversie werkt

  1. Verwerk de omgeving

    Rootmodules, onderliggende modules uit het Terraform Registry, variabelen en count- of for_each-expansies worden één afhankelijkheidsgraaf.

  2. Beslis per resource

    Een versiebeheerde regelbasis geeft elke resource een STACKIT-doel en een migratieklasse, op basis van de feitelijke configuratie.

  3. Schrijf STACKIT-code

    Bestanden per domein: netwerk, data, identiteit, Kubernetes, load balancing, messaging, beveiliging en observability, plus variabelen en vastgezette providerversies.

  4. Valideer en herleid

    Statische validatie met OpenTofu tegen de vastgezette STACKIT-provider, en trace-ID's van de STACKIT-code terug naar elke bronresource.

Wat er in terraform/ terechtkomt

De STACKIT-Terraform van de Retail Store-run, ingedeeld zoals een platformteam die onderhoudt.

network.tf
STACKIT-netwerken voor de voormalige VPC en subnets
data.tf
PostgreSQL Flex, MariaDB, Key Value Store, OpenSearch en MongoDB Flex
kubernetes.tf
Het SKE-cluster en de nodepool voor de ECS-workloads
identity.tf
Serviceaccounts en roltoewijzingen voor de voormalige IAM-rollen
loadbalancing.tf
STACKIT Application Load Balancer
messaging.tf
STACKIT RabbitMQ voor Amazon MQ
security.tf
Security groups en regels
observability.tf
STACKIT Logs
variables.tf
Elke waarde waarover uw team beslist, met de herkomst
terraform.tf
Vastgezette STACKIT-provider

Bewezen op een echte AWS-omgeving

De AWS Retail Store Sample App, een openbaar Terraform-project van AWS, door StackToIT beoordeeld en volledig gepubliceerd, precies zoals de run het heeft opgeleverd.

Casestudy bekijken (Engels)
282
Terraform-resourcedeclaraties geanalyseerd
44
migratie-eenheden geïdentificeerd
38
doeleenheden gegenereerd, van de 52 onderzochte eenheden
331
planstappen uitgeschreven

Vragen van platformteams

Converteert StackToIT Terraform-modules?

Ja. StackToIT verwerkt registermodules en lokale modules, inclusief de AWS-communitymodules, en koppelt de resources die ze aanmaken. De conversie hierboven komt uit de module terraform-aws-modules/rds-aurora.

Werkt het met OpenTofu?

Ja. StackToIT leest Terraform- en OpenTofu-rootmodules en valideert de STACKIT-code statisch met OpenTofu.

Wie past de STACKIT-Terraform toe?

Uw team, via uw eigen pipeline, nadat uw architecten die hebben beoordeeld. StackToIT wijzigt niets in welke cloud dan ook.

Bronnen

Uw volgende stap: STACKIT.

Vertel ons over uw omgeving, dan laten wij zien wat StackToIT daarvoor oplevert: doelarchitectuur, Terraform-artefacten en een gestructureerd migratieplan.

Laat uw gegevens achter, onze specialisten nemen contact met u op.

Liever zelf een e-mail sturen? connect@stacktoit.com

Wij gebruiken uw gegevens alleen om dit verzoek te beantwoorden en een mogelijke pilot te bespreken. Privacyverklaring