千家信息网

如何进行AWS的自动部署工具codedeploy部署

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,如何进行AWS的自动部署工具codedeploy部署,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开始部署codedeploy:1.
千家信息网最后更新 2025年02月05日如何进行AWS的自动部署工具codedeploy部署

如何进行AWS的自动部署工具codedeploy部署,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

开始部署codedeploy:

1.先预置IAM用户:

创建一个IAM用户或使用一个与AWS相关联的用户;

复制以下的策略附加到IAM用户,向IAM用户赋予对codedeploy(及codedeploy所依赖的AWS服务和操作)的访问权限:

{
"Version": "2012-10-17",
"Statement" : [
{
"Effect" : "Allow",
"Action" : [
"autoscaling:*",
"codedeploy:*",
"ec2:*",
"lambda:*",
"ecs:*",
"elasticloadbalancing:*",
"iam:AddRoleToInstanceProfile",
"iam:CreateInstanceProfile",
"iam:CreateRole",
"iam:DeleteInstanceProfile",
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:GetInstanceProfile",
"iam:GetRole",
"iam:GetRolePolicy",
"iam:ListInstanceProfilesForRole",
"iam:ListRolePolicies",
"iam:ListRoles",
"iam:PassRole",
"iam:PutRolePolicy",
"iam:RemoveRoleFromInstanceProfile",
"s3:*"
],
"Resource" : "*"
}
]
}

可以使用提供的AWS cloudformation 模板启动与codedeploy兼容的EC2实例;如果使用AWS cloudformation 模板创建应用程序,部署组及部署配置,需要向IAM用户赋予AWS cloudformation和AWS cloudformation 所依赖的AWS服务和操作的访问权限,例如:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudformation:*"
],
"Resource": "*"
}
]
}

2.安装或升级AWS CLI 或升级:

要从本地的计算机上调用codedeploy,必须安装AWS CLI 。

AWS CLI 的 1.6.1 版最先提供了 CodeDeploy 命令。而 1.7.19 版的 AWS CLI 中提供了用于处理本地实例的 CodeDeploy 命令;

安装的是旧版 AWS CLI,则必须升级它,以使 CodeDeploy 命令可用。调用 aws --version 来查看版本

使用捆绑安装程序安装AWS CLI:(这是为当前用户安装AWS CLI命令)

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

unzip awscli-bundle.zip

./awscli-bundle/install -b ~/bin/aws

这会将 AWS CLI 安装到默认位置 (~/.local/lib/aws) 并在 ~/bin/aws 中创建符号链接 (symlink)。确保您的 ~/bin 环境变量中包含 PATH,以使该符号链接生效。

$ echo $PATH | grep ~/bin$ export PATH=~/bin:$PATH

确保$PATH 设置在多次会话之间保留,将 export 行添加到 shell 配置文件(~/.profile~/.bash_profile 等)

卸载AWS CLI:

除了可选的符号链接之外,捆绑安装程序不会将任何内容放在安装目录之外,所以卸载十分简单,就是直接删除这两个项目,

sudo rm -rf /usr/local/aws
sudo rm /usr/local/bin/aws

在安装完后需要进行配置:

aws config 命令是配置AWS CLI 最快的方法:

$ aws configureAWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLEAWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault region name [None]: us-west-2Default output format [None]: json

键入该命令时,AWS CLI 会提示您输入四条信息(访问密钥、秘密访问密钥,AWS 区域和输出格式),并将它们存储在名为 default配置文件(一个设置集合)中。每当您运行的 AWS CLI 命令未明确指定要使用的配置文件时,就会使用该配置文件.

AWS Access Key IDAWS Secret Access Key 它和IAM或角色相关联。

在配置 AWS CLI 时,系统将提示您指定 AWS 区域。选择 AWS General Reference 中的区域和终端节点中列出的支持区域之一

要确认安装或者升级:可以使用(aws deploy help)

3.为codedeploy创建服务角色:

为codedeploy创建的服务角色必须授予对计算平台所需的权限,部署多个平台,建议为每一个平台创建一个角色,要添加权限,请添加以下一个或多个AWS提供的策略:

对于 EC2/本地 部署,附加 AWSCodeDeployRole 策略。该策略为您的服务角色提供针以下权限:

阅读您实例上的标签或通过 Amazon EC2 Auto Scaling 组名称来识别您的 Amazon EC2 实例。

读取、创建、更新和删除 Amazon EC2 Auto Scaling 组、生命周期挂钩和扩展策略。

将信息发布到 Amazon SNS 主题。

检索有关 CloudWatch 警报的信息。

读取和更新 Elastic Load Balancing。

对于 Amazon ECS 部署,附加 AWSCodeDeployRoleForECS 策略。该策略为您的服务角色提供针以下权限:

读取、更新和删除 Amazon ECS 任务集。

更新 Elastic Load Balancing 目标组、侦听器和规则。

调用 AWS Lambda 函数。

访问 Amazon S3 存储桶中的修订文件。

检索有关 CloudWatch 警报的信息。

将信息发布到 Amazon SNS 主题。

对于 AWS Lambda 部署,附加 AWSCodeDeployRoleForLambda 策略。该策略为您的服务角色提供针以下权限:

  • 读取、更新和调用 AWS Lambda 函数和别名。

  • 访问 Amazon S3 存储桶中的修订文件。

  • 将信息发布到 Amazon SNS 主题。

  • 检索有关 CloudWatch 警报的信息。

在设置服务角色过程中,还可以更新其信任关系,指定希望向其授予访问权限的终端节点。

4.为EC2实例创建IAM实例配置文件:

ECS和lambda平台是不需要IAM实例配置文件的;

ECS部署会部署一个ECS服务, Lambda部署会部署一个无服务器的Lambda函数版本;

登录AWS管理控制台并通过以下网址打开IAM控制台https://console.aws.amazon.com/iam/。

在IAM控制台的导航窗格中,选择策略(策略),然后选择创建策略(创建策略)。(如果开始按钮出现,选择此按钮,然后选择创建策略。)

创建³³策略页面上的JSON选项卡中粘贴以下内容:

{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:Get*",
"s3:List*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}

建议将此策略限制为仅 EC2实例必须访问的 S3。允许访问包含CodeDeploy代理的 S3。否则,在实例上安装或更新CodeDeploy代理时可能会发生错误。要授予IAM实例配置文件仅访问 S3中的某些CodeDeploy资源工具包存储桶,请使用以下策略,但删除要阻止访问的存储桶行:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:Get*",
"s3:List*"
],
"Resource": [
"arn:aws:s3:::replace-with-your-s3-bucket-name/*",
"arn:aws:s3:::aws-codedeploy-us-east-2/*",
"arn:aws:s3:::aws-codedeploy-us-east-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-1/*",
"arn:aws:s3:::aws-codedeploy-us-west-2/*",
"arn:aws:s3:::aws-codedeploy-ca-central-1/*",
"arn:aws:s3:::aws-codedeploy-eu-west-1/*",
"arn:aws:s3:::aws-codedeploy-eu-west-2/*",
"arn:aws:s3:::aws-codedeploy-eu-west-3/*",
"arn:aws:s3:::aws-codedeploy-eu-central-1/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",
"arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
"arn:aws:s3:::aws-codedeploy-ap-south-1/*",
"arn:aws:s3:::aws-codedeploy-sa-east-1/*"
]
}
]
}

  1. 选择查看策略

  2. Create policy(创建策略)页面上,在Policy Name(策略名称)框中键入CodeDeployDemo-EC2-Permissions

  3. (任选)对于描述,键入策略的描述。

  4. 选择创建策略

  5. 在导航窗格中,选择角色,然后选择创建角色

  6. Create role创建角色)页面上,选择AWS服务(AWS服务),然后从选择将使用此角色的服务(选择将使用此角色的服务)列表中,选择EC2

  7. 选择您的使用案例列表中,选择EC2

  8. 选择下一个:权限

  9. 附件权限策略页面中,选择您刚刚创建的策略,选择然后下一步:标签。如果您使用建议的名称,则该名称是CodeDeployDemo-EC2-Permissions

  10. 评论页面上的角色名称中,键入服务角色(例如,CodeDeployDemo-EC2-Instance-Profile),然后选择创建角色

    您还可以在部署说明框中键入此服务角色的说明。

现在,要附加到Amazon EC2实例的IAM实例配置文件已经创建完了。

关于如何进行AWS的自动部署工具codedeploy部署问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

策略 选择 角色 服务 实例 配置 文件 权限 信息 命令 用户 更新 名称 页面 存储 附加 区域 平台 升级 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库设计的几个建议 数据库建立表结构 烟草行业网络安全注意事项 普陀区优势软件开发服务不二之选 县级网络安全宣传周新闻稿 浙江发展软件开发概念设计 阿里云服务器搜索 娄底黑马软件开发有限公司 计算机网络技术哪些证 成都乐上网络技术有限公司 dsp软件开发框架 网络安全手抄报版型 徐汇区品质网络技术服务供应商家 软件开发专业哪些学校比较好 数据库会出现线程安全问题吗 软件开发公司产业链组建策略 脚本之家数据库 公主连结台服选什么服务器好 网络安全相关法律ppt课件大全 计算机网络技术专业介绍图 数据库技术有哪些特点 郴州计算机软件开发学费 opc读取设备数据库 阿里云服务器搜索 如何转行当软件开发工程师 安徽网络技术服务代理商 部队网络安全保密壁纸 软件开发客服是什么工作 cisg网络安全小组 适合网络安全的标题
0