gpt4 book ai didi

linux - 使用 IAM 用户凭证为 CodeDeploy 设置 Amazon Linux 实例

转载 作者:太空宇宙 更新时间:2023-11-04 10:41:22 25 4
gpt4 key购买 nike

我已经创建了成功部署所需的一切。我尝试在未在 Amazon 实例中配置 CodeDeploy 代理的情况下进行部署,但部署 [显然] 失败了。设置好之后,成功了。所以,我的问题是,我应该手动配置我使用的每个实例吗?如果部署组中有 100 个实例怎么办?我是否应该使用已配置的 CodeDeploy 代理工具创建 AMI?

编辑

我看过这个: https://www.youtube.com/watch?v=qZa5JXmsWZs

有了这个: https://github.com/andrewpuch/code_deploy_example

然后阅读: http://blogs.aws.amazon.com/application-management/post/Tx33XKAKURCCW83/Automatically-Deploy-from-GitHub-Using-AWS-CodeDeploy

我只是不明白为什么我必须使用 IAM 凭据配置实例。难道它不应该从我启动它的角色中获得信誉吗?我不是 aws 角色和政策方面的专家,但从 CD 文档来看,这是我的理解。有没有办法让 IAM 用户访问实例,这样我就不必设置 CD 代理?

编辑 2

我认为这篇文章的答案是:http://adndevblog.typepad.com/cloud_and_mobile/2015/04/practice-of-devops-with-aws-codedeploy-part-1.html

但是如您所见,我启动了多个实例,但我只在一个实例上安装了 CodeDeploy 代理,其他实例呢?我是否必须重复自己并登录到它们并单独安装它们?没关系,因为我只有 2 或 3 个。但是如果我有 handers 甚至数千个实例怎么办?实际上有不同的解决方案。其中之一是,我在一个实例上设置所有环境并从中创建一个 AMI。当我启动我的工作实例时,我将从我已经配置的实例而不是 AWS 默认实例创建实例。还有一些其他的解决方案

最佳答案

每个实例只需要在其上安装 CodeDeploy 代理。它不需要安装 AWS CLI。参见 AWS CodeDeploy Agent Operations安装和操作细节。

您应该在 IAM 中创建一个实例配置文件/角色,它将授予任何实例正确的权限以通过 CodeDeploy 服务接受代码部署。

创建一个名为 ApplicationServer 的角色。向该角色添加以下策略。这假设您使用 S3 进行修订:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::codedeploy-example-com/*"
]
},
{
"Sid": "Stmt1414002531000",
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData"
],
"Resource": [
"*"
]
},
{
"Sid": "Stmt1414002720000",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:PutLogEvents"
],
"Resource": [
"*"
]
}
]
}

针对您的具体问题:

So, my question is, should I configure every instance that I use manually?

What if I have 100 instances in the deployment group? Should I create an AMI with the aws-cli tool already configured?

使用您的基本工具配置 AMI,或使用 CloudFormation 或 puppet 根据需要管理给定实例上的软件安装。同样,CodeDeploy 不需要 AWS CLI。只需要最新版本的 CodeDeploy 代理。

关于linux - 使用 IAM 用户凭证为 CodeDeploy 设置 Amazon Linux 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35001012/

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