通过 CloudFormation 在 EC2 上安装 mysql 客户端
Installing mysql client on EC2 via CloudFormation
要在我的 EC2 实例上安装 MySQL 客户端,我执行以下操作:
# Update all packages
sudo yum update
# Install mysql client
sudo yum install mysql
我想知道如何在创建 EC2 实例时使用 CloudFormation 进行配置?
有没有样本可以参考?
要 运行 使用 CloudFormation 配置的 EC2 实例上的简单脚本,您需要使用 UserData
property of the AWS::EC2::Instance
资源。
示例:
Description: Run a bash script using the UserData property.
Mappings:
# amzn-ami-hvm-2016.09.1.20161221-x86_64-gp2
RegionMap:
us-east-1:
"64": "ami-9be6f38c"
Resources:
Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: !FindInMap [ RegionMap, !Ref "AWS::Region", 64]
InstanceType: m3.medium
UserData:
"Fn::Base64":
!Sub |
#!/bin/bash
# Update all packages
yum -y update
# Install mysql client
yum -y install mysql
只想在上面的答案之上分享。
后来我发现我的 EC2 是通过 EB 部署的,而 UserData 似乎不起作用。
在这种情况下,我必须使用 .ebextension 的 container_commands。
所以在这里张贴它希望它也能帮助别人:
files:
"/usr/local/bin/eb_mysql.sh":
mode: "000755"
owner: root
group: root
content: |
#!/bin/bash
yum -y update
yum -y install mysql
container_commands:
040_install_mysql_client:
command: "chmod a+rx /usr/local/bin/eb_mysql.sh && /usr/local/bin/eb_mysql.sh"
要在我的 EC2 实例上安装 MySQL 客户端,我执行以下操作:
# Update all packages
sudo yum update
# Install mysql client
sudo yum install mysql
我想知道如何在创建 EC2 实例时使用 CloudFormation 进行配置?
有没有样本可以参考?
要 运行 使用 CloudFormation 配置的 EC2 实例上的简单脚本,您需要使用 UserData
property of the AWS::EC2::Instance
资源。
示例:
Description: Run a bash script using the UserData property.
Mappings:
# amzn-ami-hvm-2016.09.1.20161221-x86_64-gp2
RegionMap:
us-east-1:
"64": "ami-9be6f38c"
Resources:
Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: !FindInMap [ RegionMap, !Ref "AWS::Region", 64]
InstanceType: m3.medium
UserData:
"Fn::Base64":
!Sub |
#!/bin/bash
# Update all packages
yum -y update
# Install mysql client
yum -y install mysql
只想在上面的答案之上分享。
后来我发现我的 EC2 是通过 EB 部署的,而 UserData 似乎不起作用。
在这种情况下,我必须使用 .ebextension 的 container_commands。
所以在这里张贴它希望它也能帮助别人:
files:
"/usr/local/bin/eb_mysql.sh":
mode: "000755"
owner: root
group: root
content: |
#!/bin/bash
yum -y update
yum -y install mysql
container_commands:
040_install_mysql_client:
command: "chmod a+rx /usr/local/bin/eb_mysql.sh && /usr/local/bin/eb_mysql.sh"