【问题标题】:Installing mysql client on EC2 via CloudFormation通过 CloudFormation 在 EC2 上安装 mysql 客户端
【发布时间】:2017-01-13 08:41:09
【问题描述】:

要在我的 EC2 实例上安装 MySQL 客户端,我执行以下操作:

# Update all packages
sudo yum update

# Install mysql client 
sudo yum install mysql

我想知道在创建 EC2 实例时如何使用 CloudFormation 进行配置?

有没有可以参考的样本?

【问题讨论】:

    标签: mysql amazon-ec2 amazon-cloudformation


    【解决方案1】:

    要在使用 CloudFormation 配置的 EC2 实例上运行简单脚本,您可以使用 AWS::EC2::Instance 资源的 UserData 属性。

    例子:

    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
    

    【讨论】:

      【解决方案2】:

      只想分享上面的答案。

      后来我发现我的 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"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-12
        • 2021-06-22
        • 1970-01-01
        • 2018-04-04
        • 2021-02-09
        • 2020-10-16
        • 2015-07-13
        • 2015-09-08
        相关资源
        最近更新 更多