2013-01-22 87 views
1

我有一個Beanstalk應用程序,默認情況下它具有app_name.elasticbeanstalk.com域名。如何爲Elastic Beanstalk應用程序設置自定義DNS名稱

我想要一個域名,如www.app_name.com,可以通過bowser訪問,並採取以下步驟。

  1. 註冊域名app_name.com
  2. 設置www.app_name.com作爲ELB的公共DNS的CNAME。

通過這種方式,我可以通過瀏覽器訪問www.app_name.com。 但是,一旦瀏覽器加載,URL突然變成app_name.elasticbeanstalk.com

我不想向任何人展示app_name.elasticbeanstalk.com。我可以使用www.app_name.com嗎?怎麼樣?

請幫助我。

+0

只是要清楚:www.app_name.com的CNAME是app_name.elasticbeanstalk.com? –

回答

5

您可以通過使用Route53CloudFormation來完成此操作。爲此,您可以使用CloudFormation模板中的Elastic Beanstalk資源來創建Elastic Beanstalk堆棧。你也可以使用Route53資源來創建你想要的域名。然後在Route53資源中,您可以創建映射到Elastic Beanstalk端點的別名。

這可能看起來像:使用CloudFormation資源

"Resources" : { 
    "DNS" : { 
    "Type" : "AWS::Route53::RecordSetGroup", 
    "Properties" : { 
     "HostedZoneName" : "example.com", 
     "Comment" : "CNAME alias targeted to Elastic Beanstalk endpoint.", 
     "RecordSets" : [ 
     { 
      "Name" : "example.example.com", 
      "Type" : "CNAME", 
      "TTL" : "900", 
      "ResourceRecords" : [{ "Fn::GetAtt" : ["sampleEnvironment","EndpointURL"] }] 
     }] 
    } 
    }, 

    "sampleApplication" : { 
    "Type" : "AWS::ElasticBeanstalk::Application", 
    "Properties" : { 
     "Description" : "AWS Elastic Beanstalk Ruby Sample Application", 
     "ApplicationVersions" : [{ 
     "VersionLabel" : "Initial Version", 
     "Description" : "Version 1.0", 
     "SourceBundle" : { 
      "S3Bucket" : { "Fn::Join" : ["-", ["elasticbeanstalk-samples", { "Ref" : "AWS::Region" }]]}, 
      "S3Key" : "ruby-sample.zip" 
     } 
     }], 
     "ConfigurationTemplates" : [{ 
     "TemplateName" : "DefaultConfiguration", 
     "Description" : "Default Configuration Version 1.0 - with SSH access", 
     "SolutionStackName" : "64bit Amazon Linux running Ruby 1.9.3", 
     "OptionSettings" : [{ 
      "Namespace" : "aws:autoscaling:launchconfiguration", 
      "OptionName" : "EC2KeyName", 
      "Value" : { "Ref" : "KeyName" } 
     }] 
     }] 
    } 
    }, 
    "sampleEnvironment" : { 
    "Type" : "AWS::ElasticBeanstalk::Environment", 
    "Properties" : { 
     "ApplicationName" : { "Ref" : "sampleApplication" }, 
     "Description" : "AWS Elastic Beanstalk Environment running Ruby Sample Application", 
     "TemplateName" : "DefaultConfiguration", 
     "VersionLabel" : "Initial Version" 
    } 
    } 
}, 

更多信息,可以發現here和樣品模板可以發現here

CloudFormation支持與資源動態非常容易和乾淨的互動..沒有提及完全腳本:)

相關問題