不同账户下的 AWS CodeGuru 分析器
AWS CodeGuru profiler under different account
我们正在尝试构建集中式 CodeGuru 分析器仪表板,如 https://aws.amazon.com/blogs/devops/building-a-centralized-codeguru-profiler-dashboard-multi-account/ 中的文档所述。
因此,实际上,我们的 CodeGuru 分析组位于中央 aws-code-analysis 帐户下,实际应用程序 运行 位于 aws-application 帐户下。我们正面临跨账户连接的问题。看来 aws-application 账户下的代理 运行 正在尝试在本地 aws-application 账户下寻找分析组,而不是连接到中央 aws-code-analysis 账户。
代理的命令行调用 (as documented here) as well as integration by code (as documented here) 仅接受分析组名称作为输入,而不接受完整的 ARN 或帐户 ID、分析组名称组合。所以我不确定代理将如何确定要连接到哪个帐户?我找不到明确指定帐户 ID 以在任何地方使用的方法。
感谢任何指点。
您应该能够使用 awsCredentialsProvider 从您的中央帐户传递角色,例如"arn:aws:iam::<CODEGURU_CENTRAL_ACCOUNT_ID>:role/CodeGuruCrossAccountRole"
。这会将代理配置为将分析数据发送到此帐户。
我还要检查该区域是否设置为集中帐户中的分析组的区域。所以它应该看起来像这样:
static String roleArn = "arn:aws:iam::<v>:role/CodeGuruCrossAccountRole";
static String sessionName = "codeguru-java-session";
Profiler.builder()
.profilingGroupName("JavaAppProfilingGroup")
.awsCredentialsProvider(AwsCredsProvider.getCredentials(
roleArn,
sessionName))
.region(<CODEGURU_CENTRAL_ACCOUNT_REGION>)
.withHeapSummary(true)
.build()
.start();
我们正在尝试构建集中式 CodeGuru 分析器仪表板,如 https://aws.amazon.com/blogs/devops/building-a-centralized-codeguru-profiler-dashboard-multi-account/ 中的文档所述。
因此,实际上,我们的 CodeGuru 分析组位于中央 aws-code-analysis 帐户下,实际应用程序 运行 位于 aws-application 帐户下。我们正面临跨账户连接的问题。看来 aws-application 账户下的代理 运行 正在尝试在本地 aws-application 账户下寻找分析组,而不是连接到中央 aws-code-analysis 账户。
代理的命令行调用 (as documented here) as well as integration by code (as documented here) 仅接受分析组名称作为输入,而不接受完整的 ARN 或帐户 ID、分析组名称组合。所以我不确定代理将如何确定要连接到哪个帐户?我找不到明确指定帐户 ID 以在任何地方使用的方法。
感谢任何指点。
您应该能够使用 awsCredentialsProvider 从您的中央帐户传递角色,例如"arn:aws:iam::<CODEGURU_CENTRAL_ACCOUNT_ID>:role/CodeGuruCrossAccountRole"
。这会将代理配置为将分析数据发送到此帐户。
我还要检查该区域是否设置为集中帐户中的分析组的区域。所以它应该看起来像这样:
static String roleArn = "arn:aws:iam::<v>:role/CodeGuruCrossAccountRole";
static String sessionName = "codeguru-java-session";
Profiler.builder()
.profilingGroupName("JavaAppProfilingGroup")
.awsCredentialsProvider(AwsCredsProvider.getCredentials(
roleArn,
sessionName))
.region(<CODEGURU_CENTRAL_ACCOUNT_REGION>)
.withHeapSummary(true)
.build()
.start();