reference resources between CDK stacks

0

Hi Team,

I have 2 CDK stacks one in the Front end project and the second in the Backend project.

the first stack needs resources ref from the second stack (and vice versa can be true)

I have a lambda function in the backend stack that needs to call another lambda in the front end stack,

If I deploy the backend CDK stack first, how can I make a reference/call to the second lambda in the front end stack?

If I use event bridge or SNS I still need to have the name of the target lambda which is the lambda created by the CDK front end or I need the SNS ref to be shared between the 2 stacks for pub/sub.

any idea how to solve this :)

Thank you.

2 Antworten
3

CloudFormation supports the concept of exporting outputs from one stack and importing their values into another stack.

In CDK, you can export a resource's output by creating a cfnOutput with an exportName property. You can also use Fn.ImportValue to import an exported value to a stack from a different stack.

Here's a blog post that illustrates this concept in further detail.

Note that neither CDK nor CloudFormation support circular stack dependencies, so you can't have stack A depend on a resource in stack B while also having stack B depend on a resource in stack A. The stack dependency graph must be acyclical.

AWS
EXPERTE
beantwortet vor 2 Jahren
1

CDK can handle export/import of the resource variable automatically.

If you make a resource a member variable of the stack instance, and reference that stack member variable from the other stack by passing the variable as a property of stack props parameter, CDK will export the resource reference, and import it from the other stack automatically.

You can find more detailed information from https://docs.aws.amazon.com/cdk/v2/guide/resources.html#resource_stack.

Be aware that this operation only supported in a same region stacks. If you need to deploy the two stacks in two different regions, you need other mechanism.

AWS
beantwortet vor 2 Jahren

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen