Ich denke an eine Anwendung in Mikro-Dienste mit dieser Terraforming Verzeichnisstruktur Zerschlagung:Können Sie Parent-Ressource zwischen Terraform-Unterverzeichnissen teilen?
myurl.com/service1
myurl.com/service2
Beide:
/staging
/global
/service1
/service2
/prod
/global
/service1
/service2
nehme ich jedes Micro eigenen AWS Apigateway Endpunkt es haben möchte Dienste können Teil der gleichen Eltern AWS apigateway Ressource sein:
#creates the api (a parent of all resources),
resource "aws_api_gateway_rest_api" "api" {
name = "API root parent"
description = "Contains all endpoints"
}
Mein Verständnis ist, dass jeder top le vel AWS REST api wäre eine eigene Cloudfront und ich brauche nur EINE von ihnen für alle meine Microservices statt einer REST api pro Microservice. Ich möchte die REST-api-Deklaration in den Ordner /global
legen, da dies von allen Microservices geteilt würde.
Dann in service1 Unterverzeichnis würde ich definieren, Ressourcen beginnen, die die Eltern verweisen müßten:
resource "aws_api_gateway_resource" "service1" {
rest_api_id = "${aws_api_gateway_rest_api.api.id}"
parent_id = "${aws_api_gateway_rest_api.api.root_resource_id}"
path_part = "service1"
}
Aber wie wäre das service1 Unterverzeichnis hat Zugriff auf die api
Ressource, da es im selben Verzeichnis nicht definiert ist?
Ich könnte möglicherweise den Status einer vorhandenen Ressource in das Unterverzeichnis für jedes Microservice-Unterverzeichnis importieren, aber das scheint wie ein Durcheinander.
UPDATE: Es sieht so aus, als ob AWS api Gateway nur Gebühren für die Verwendung, so dass ich nur separate Rest API-Ressourcen für jedes Unterverzeichnis schließlich erstellen kann. Aber ich muss immer noch wissen, wie man die Ressourcenvariablen in den Unterordnern sammelt, um die entsprechenden API-Implementierungsstufen zu einer gemeinsamen benutzerdefinierten Domäne hinzuzufügen. Gibt es eine Technik oder ein Muster, um in der Lage zu sein, Projekte hauptsächlich nach Ordnern zu trennen, aber in der Lage zu sein, Variablen zu extrahieren und zusammen in /global
zu kleben, was nicht für jedes Unterverzeichnis spezifisch ist?
dank nutzen können! Ich werde das lesen – Homan