簡體   English   中英

CloudFormation UserData 模板,用於在 EC2 的配置文件中寫入 RDS 端點

[英]CloudFormation UserData template to write RDS endpoint in a configuration file of the EC2

我被我的 CloudFormation 腳本的一部分困住了:我有一個帶有 Docker 燈的 EC2 和用 Docker-compose 文件定義的 Wordpress,以及 VPC 中的一個單獨的 RDS 數據庫。

每次我創建堆棧時,RDS 端點都會發生變化。 我需要在 docker compose 文件中編寫新端點以允許通信。 我編寫了一個 bash 腳本來通過替換 WORDPRESS_DB_HOST 行來更改此信息,這沒關系,但是我無法正確傳遞端點,我認為這是一個語法問題,我無法找到解決方案。

UserData:
        Fn::Base64: 
          !Sub |
            #!/bin/bash -xe
            sed -i 's/WORDPRESS_DB_HOST.*/WORDPRESS_DB_HOST: {Fn::GetAtt: ["MasterDB", "Endpoint.Address"]}:3306 /' /home/ubuntu/lampconfig/docker-compose.yml 
            docker-compose up -d 

這個問題上,你可以如何使用Fn:GetAtt里子。 您需要使用簡短的語法:

UserData:
        Fn::Base64: 
          !Sub |
            #!/bin/bash -xe
            sed -i 's/WORDPRESS_DB_HOST.*/WORDPRESS_DB_HOST: ${MasterDB.Endpoint.Address}:3306 /' /home/ubuntu/lampconfig/docker-compose.yml 
            docker-compose up -d 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM