gpt4 book ai didi

typescript - 将堆栈资源值传递给另一个帐户

转载 作者:行者123 更新时间:2023-12-03 07:30:53 24 4
gpt4 key购买 nike

我在账户 A 中有一个日志组,我想将其发送到另一个账户 B 中的运动流。我正在关注 https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CrossAccountSubscriptions.html实现它(在 typescript 中)。

账户 B 中,我创建了一个跨账户目标:

const logDestination = new CrossAccountDestination(this, 'LogDestination', {
destinationName: 'LogDestination',
role: IAMRole,
targetArn: kinesisStream.streamArn
});

帐户 A 中,我尝试创建订阅过滤器:

const filter = lambdaFunction.logGroup.addSubscriptionFilter('Filter', {
filterPattern: pattern,
destination: ...
})

如何在账户 A 的模板中引用账户 B 的跨账户目标,以便将 A 的日志发送到 B 的目标?

最佳答案

如果您正在考虑Export/ImportValue类型的引用,那么就没有这样的选项。 CloudFormation (CFN) 不支持该类型的跨区域或跨账户引用。

这意味着您基本上必须执行以下操作之一:

  • 使用 Parameters 将值从 Acc1 传递到 Acc2 。因此,您可以通过编程方式执行此操作(创建堆栈 1,获取其输出,然后创建堆栈 2,将所需的输出作为参数传递)。

  • 开发 custom resource Acc 2 中的 lambda 函数。该函数将有权查询 Acc 1 中的堆栈 1 的输出,并将其返回到堆栈 2。这可以是完全自动化的解决方案,全部包含在 CFN 中。

其他解决方案也是可能的,例如使用 SSM 参数存储,但据我所知,上面的两个是最常用的两个。

关于typescript - 将堆栈资源值传递给另一个帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66328329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com