【问题标题】:Connect webpage to rds using Cloudformation使用 Cloudformation 将网页连接到 rds
【发布时间】:2020-07-03 06:35:40
【问题描述】:

我正在使用 rds (mysql) 创建一个 ec2。在用户数据中给出的配置文件中,我想给出 rds 端点。如何在这里引用端点'DB_SERVER', '**Endpoint of db**'将ec2实例网页连接到rds

注意:我在同一个 yml 文件中创建 rds 只是想将 REF 提供给我正在使用 Userdata 回显的配置文件的端点

 EC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      AvailabilityZone: us-east-2a
      UserData:
        Fn::Base64: !Sub |
          #!/bin/bash
           echo "<?php

           define('DB_SERVER', '**Endpoint of db**');
           define('DB_USERNAME', 'shifadb');
           define('DB_PASSWORD', 'shifa123a');
           define('DB_DATABASE', 'shifadb');

           ?>" > dbinfo.inc
          
      BlockDeviceMappings:
        - DeviceName: /dev/xvda
          Ebs:
            DeleteOnTermination: "true"
            VolumeSize: "8"
            VolumeType: gp2
      ImageId: ami-0bdcc6c05dec346bf
      InstanceType: t2.micro
      IamInstanceProfile: !Ref ListS3BucketsInstanceProfile
      KeyName: webserver
      NetworkInterfaces:
        - Description: Primary network interface
          DeviceIndex: 0
          SubnetId: !Ref SubnetA
          GroupSet:
            - Ref: webserver

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-rds


    【解决方案1】:

    通常你会通过使用return values 来实现AWS::RDS::DBInstance 资源。

    例如,如果您有 RDS 实例:

    Resources:
    
      MyDBInstance:
        Type: 'AWS::RDS::DBInstance'
        Properties: {}
    

    那么你可以访问MyDBInstance的Endpoint.Address如下:

    UserData:
        Fn::Base64: !Sub |
          #!/bin/bash
           echo "<?php
    
           define('DB_SERVER', '${MyDBInstance.Endpoint.Address}');
           define('DB_USERNAME', 'shifadb');
           define('DB_PASSWORD', 'shifa123a');
           define('DB_DATABASE', 'shifadb');
    
           ?>" > dbinfo.inc   
    

    如果需要,同样适用于Endpoint.Port

    【讨论】:

      【解决方案2】:

      我已经添加了这个函数来获取 db dns 并连接它。define('DB_SERVER', '!GetAtt MyDB.DNSName'); 更多信息请阅读https://docs.amazonaws.cn/en_us/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-01-22
        • 2020-09-15
        • 1970-01-01
        • 2016-10-13
        • 2018-05-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多