Ich fange gerade an, Terraform zu lernen und versuche, einen elastischen Suchcluster mit einem API-Zugang davor zu gründen. Ich habe den Dienst erfolgreich so erstellt, dass der Elastic Search-Cluster erstellt und der Ausgabeendpunkt über die Ausgabevariablen an das API-Gateway für die Integrationsanforderung übergeben wird.Terraform kreisförmige Abhängigkeit zwischen Diensten
In meinen ersten Versuchen verwendete ich weit offenen Zugriff in der aws_elasticsearch_domain.my_name.access_policies
zum Testen meines Vorlagencodes. Dies funktionierte gut für Testzwecke, aber für den realen Gebrauch möchte ich den ARN des API-Gateways in der aws_elasticsearch_domain.my_name.access_policies
verwenden. Dies ist anscheinend problematisch, da die aws_api_gateway_integration.my_name.uri
die aws_elasticsearch_domain.my_name.endpoint
benötigt, um die aws_api_gateway_deployment.my_name.execution_arn
einzurichten.
Ich denke, das ist ziemlich häufig, aber ich kann nicht herausfinden, wie dies durch Ausgänge oder Variablen erreicht werden kann.
Danke für jede Hilfe.
Danke Monil. Dies könnte funktionieren, aber ich bin auf ein anderes Problem gestoßen, da AWS Ihnen keine Sicherheitsrichtlinie zuweist, die es Ihrem API-Gateway ermöglicht, direkt mit Elastic Search zu sprechen, ohne es für die Welt zugänglich zu machen. Ihre Lösung besteht darin, sie entweder zu vertreten oder ein Lambda in einer Mitte zu verwenden, die beide nicht ideal sind, aber es gibt nicht viel, was ich tun kann, bis AWS eine direkte sichere Kommunikation ermöglicht. – earthtrip
Ah ja. Ich mag diese Anforderung auch nicht. Mit Lambda können Sie Ihre Ressourcen jedoch hinter VPC stellen und Lambda einfach mit der VPC sprechen lassen. Hier ist der Link, wenn es hilft https://aws.amazon.com/blogs/compute/using-api-gateway-with-vpc-endpoints-via-aws-lambda/ –
Danke Monil. Ich habe jetzt ein Lambda in der Mitte, ich wünschte nur, dass ich es nicht tun müsste, da es in den meisten Aufrufen genug Latenz> 100ms hinzufügt, um wirklich nichts anderes zu machen, als mich die Sicherheitsbeschränkungen in AWS zu umgehen. Aber für jetzt muss es tun und ich bin hoffnungsvoll Amazon wird die gleichen Sicherheitsmodelle hinzufügen, die sie für Dinge wie DynamoDB zum Beispiel in der Zukunft haben, so dass ich direkt zu API Gateway-> ElasticSearch zurückgehen kann. Danke nochmal! – earthtrip