1

デフォルトで app_name.elasticbeanstalk.com ドメイン名を持つ Beanstalk アプリがあります。

クッパでアクセスできる www.app_name.com のようなドメイン名が必要で、次の手順を実行します。

  1. ドメイン名 app_name.com を登録する
  2. www.app_name.comELB のパブリック DNS の CNAME として設定します。

このようにして、ブラウザで www.app_name.com にアクセスできます。しかし、ブラウザーが読み込まれると、URL が突然 app_name.elasticbeanstalk.com に変わります。

誰にも見せたくないapp_name.elasticbeanstalk.com。www.app_name.com だけを使用できますか? どのように?

お願い助けて。

4

1 に答える 1

5

Route53CloudFormationを使用してこれを行うことができます。これを行うには、CloudFormation テンプレート内の Elastic Beanstalk リソースを使用して、Elastic Beanstalk スタックを作成します。また、Route53 リソースを使用して、目的のドメイン名を作成します。次に、Route53 リソース内で、Elastic Beanstalk エンドポイントにマップするエイリアスを作成します。

これは次のようになります。

"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"
     }
   }
 },

CloudFormation リソースの使用に関する詳細については、こちらをご覧ください。サンプル テンプレートはこちらをご覧ください。

CloudFormation を使用すると、リソースとの動的なやり取りが非常に簡単かつクリーンになります...完全にスクリプト化されていることは言うまでもありません :)

于 2013-02-13T21:31:03.287 に答える