Serverless Frameworkのlambdaアプリにカスタムドメインを付与する
前回作成したLaravelのサーバレスアプリにカスタムドメインでアクセスできるようにします。
ACMで証明書を取得します。Route53経由の方はDNS経由で簡単に取得できます。サブドメインはワイルドカードで申請するのみです。
Lambda関数がEdgeの場合は、us-east-1
(バージニア北部)のACMである必要があります。東京のACMは関係ありません。
発行済になったらserverless-domain-manager
のインストールします。a4e6e25d
$ npm install serverless-domain-manager --save-dev
serverless.yml
を編集します。8c313faf
+ custom:
+ customDomain:
+ domainName: laravel-demo.umihi.co
+ certificateName: umihi.co
+ basePath: ''
+ stage: ${opt:stage, self:provider.stage}
+ createRoute53Record: true
+ endpointType: 'edge'
+ securityPolicy: tls_1_2
provider:
name: aws
region: ap-northeast-1
runtime: provided
plugins:
- ./vendor/bref/bref
+ - serverless-domain-manager
最後にsls create_domain
してsls deploy
しますが、create_domain
実行後は最大40分待つ必要があります。
$ sls create_domain
Serverless: Custom domain laravel-demo.umihi.co was created.
New domains may take up to 40 minutes to be initialized.
$ sls deploy
Serverless: Packaging service...
Serverless: Excluding development dependencies...
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading artifacts...
Serverless: Uploading service laravel-demo.zip file to S3 (14.2 MB)...
Serverless: Validating template...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
..............
Serverless: Stack update finished...
Service Information
service: laravel-demo
stage: dev
region: ap-northeast-1
stack: laravel-demo-dev
resources: 12
api keys:
None
endpoints:
ANY - https://td3rzowchc.execute-api.ap-northeast-1.amazonaws.com/dev
ANY - https://td3rzowchc.execute-api.ap-northeast-1.amazonaws.com/dev/{proxy+}
functions:
website: laravel-demo-dev-website
layers:
None
Serverless: Created basepath mapping.
Serverless Domain Manager Summary
Domain Name
laravel-demo.umihi.co
Distribution Domain Name
Target Domain: aaaaabbbbbcccc.cloudfront.net
Hosted Zone Id: XXXXYYYYYZZZZZ
Serverless: Run the "serverless" command to setup monitoring, troubleshooting and testing.
https://laravel-demo.umihi.co にアクセスできるようになりました。
カスタムドメイン+証明書+サーバレス+Laravelの完成です。
Cloudfrontの文字が見えますが、当該IDは、 https://console.aws.amazon.com/cloudfront
には無く、API Gateway配下の https://ap-northeast-1.console.aws.amazon.com/apigateway/main/publish/domain-names
で確認できます。
Author And Source
この問題について(Serverless Frameworkのlambdaアプリにカスタムドメインを付与する), 我々は、より多くの情報をここで見つけました https://qiita.com/umihico/items/e4f157991929f90fa571著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .