云网牛站
所在位置:首页 > Linux教程 > 在CentOS 8/RHEL 8上安装AWS CloudFormation帮助脚本

在CentOS 8/RHEL 8上安装AWS CloudFormation帮助脚本

2020-06-05 15:36:56作者:赖以葵稿源:云网牛站

本文介绍在CentOS 8/RHEL 8操作系统上安装AWS CloudFormation帮助脚本、安装AWS CodeDeploy代理的方法。

 

简介

AWS CloudFormation是一项服务,可帮助您在AWS Cloud Platform上自动配置和管理资源。CloudFormation使用模板来构建应用程序或服务,以使用“stacks”快速可靠地进行配置。

AWS CloudFormation提供以下Python帮助程序脚本,可用于在作为堆栈一部分创建的Amazon EC2实例上安装软件和启动服务:

cfn-init:用于检索和解释资源元数据,安装软件包,创建文件以及启动服务。

cfn-signal:用于用CreationPolicy或WaitCondition发出信号,因此,当必备资源或应用程序准备就绪时,您可以同步堆栈中的其他资源。

cfn-get-metadata:用于检索资源的元数据或特定键的路径。

cfn-hup:用于检查对元数据的更新并在检测到更改时执行自定义钩子。

 

在CentOS 8/RHEL 8上安装AWS CloudFormation帮助脚本的方法

在AWS上使用Amazon Linux以外的其他操作系统模板时,无法从存储库安装aws-cfn-bootstrap软件包,因为该软件包仅适用于Amazon Linux。在Amazon Linux AMI上,AWS CloudFormation帮助程序脚本已预安装在/opt/aws/bin中。我们将探讨如何一次在CentOS 8/RHEL 8上安装CloudFormation Helper脚本。

步骤1:在CentOS 8/RHEL 8上安装Python 2

从之前的测试中,我无法使用Python 3安装CloudFormation Helper脚本,我必须安装Python 2:

sudo dnf -y update

sudo dnf -y install python2

参考:在RHEL 8系统上安装Python 3和Python 2.7及设置默认Python版本

如果要将Python2设置为Python的默认版本,请使用以下命令:

sudo alternatives --set python /usr/bin/python2

确认python命令版本输出:

$ python -V

Python 2.7.16

步骤2:在CentOS 8/RHEL 8上安装CloudFormation脚本

安装Python2后,下载最新的aws-cfn-bootstrap文件:

curl -O https://s3.amazonaws.com/cloudformation-examples/aws-cfn-bootstrap-latest.tar.gz

提取文件:

tar xvf aws-cfn-bootstrap-latest.tar.gz

安装Python脚本:

cd aws-cfn-bootstrap-*/

sudo python2 setup.py build

sudo python2 setup.py install

为初始化和脚本创建符号链接:

sudo mkdir -p /opt/aws/bin

sudo ln -s /usr/init/redhat/cfn-hup /etc/init.d/cfn-hup

sudo chmod 775 /usr/init/redhat/cfn-hup

sudo ln -s /usr/bin/cfn-hup /opt/aws/bin/cfn-hup

sudo ln -s /usr/bin/cfn-signal /opt/aws/bin/cfn-signal

sudo ln -s /usr/bin/cfn-init /opt/aws/bin/cfn-init

sudo ln -s /usr/bin/cfn-get-metadata /opt/aws/bin/cfn-get-metadata

sudo ln -s /usr/bin/cfn-signal /opt/aws/bin/cfn-signal

sudo ln -s /usr/bin/cfn-send-cmd-event /opt/aws/bin/cfn-send-cmd-event

sudo ln -s /usr/bin/cfn-send-cmd-result /opt/aws/bin/cfn-send-cmd-result

确认:

$ ls -lh /opt/aws/bin/

在CentOS 8/RHEL 8上安装AWS CloudFormation帮助脚本

步骤3:在CentOS 8/RHEL 8上安装AWS CodeDeploy代理

CodeDeploy代理是一个软件包,项目地址在https://github.com/aws/aws-codedeploy-agent,在实例上安装和配置该软件包后,便可以在CodeDeploy部署中使用该实例。

安装AWS CLI:

sudo pip3 install awscli

使用凭据配置它:

$ aws configure

AWS Access Key ID [None]:

AWS Secret Access Key [None]:

Default region name [None]:

Default output format [None]:

下载codedeploy代理rpm文件:

$ aws s3 cp 's3://aws-codedeploy-us-east-1/latest/codedeploy-agent.noarch.rpm' .

download: s3://aws-codedeploy-us-east-1/latest/codedeploy-agent.noarch.rpm to ./codedeploy-agent.noarch.rpm

在RHEL 8/CentOS 8上安装Ruby:

sudo dnf -y install @ruby

最后,在CentOS 8/RHEL 8上安装AWS CodeDeploy代理:

sudo dnf install ./codedeploy-agent.noarch.rpm

出现提示时,请接受安装,按y键:

在CentOS 8/RHEL 8上安装AWS CloudFormation帮助脚本

现在,您可以从任何CloudFormation自动化工作配置的实例中创建AMI。

 

相关主题

使用AWS CLI从命令行界面创建AWS IAM用户和组

精选文章
热门文章