Amplifyのホスティング機能では、サーバー無しでReact等を公開することができます。
参考
追加 (amplifyhosting)
ホスティングを追加すると、以下のようにホスティング方法の選択を求められます。
amplify add hosting ? Select the plugin module to execute ... (Use arrow keys or type to filter) ❯ Hosting with Amplify Console (Managed hosting with custom domains, Continuous deployment) Amazon CloudFront and S3
Hosting with Amplify Consoleを選択した場合、次にデプロイ方法の選択を求められます。 以下では、マニュアルデプロイを選択しています。
amplify add hosting √ Select the plugin module to execute · Hosting with Amplify Console (Managed hosting with custom domains, Continuous deployment) ? Choose a type (Use arrow keys) Continuous deployment (Git-based deployments) > Manual deployment Learn more
完了後、画面は以下のようになっています。 この後、Amplify publishコマンドを実行すれば、公開されます。
amplify add hosting √ Select the plugin module to execute · Hosting with Amplify Console (Managed hosting with custom domains, Continuous deployment) ? Choose a type Manual deployment You can now publish your app using the following command: Command: amplify publish
ステータス
ホスティングを追加した後のステータスは、以下のようになります。
amplify status Current Environment: dev ┌──────────┬────────────────┬───────────┬───────────────────┐ │ Category │ Resource name │ Operation │ Provider plugin │ ├──────────┼────────────────┼───────────┼───────────────────┤ │ Hosting │ amplifyhosting │ Create │ awscloudformation │ └──────────┴────────────────┴───────────┴───────────────────┘ No amplify console domain detected
追加 (Amazon CloudFront and S3)
hostingの追加で、"Amazon CloudFront and S3"を選択すると、ホスティング用のS3バケット名の選択になります。 選択すると追加が完了して以下のように表示されます。
amplify add hosting √ Select the plugin module to execute · Amazon CloudFront and S3 √ hosting bucket name · sampleapp-20231003123456-hostingbucket Static webhosting is disabled for the hosting bucket when CloudFront Distribution is enabled. You can now publish your app using the following command: Command: amplify publish
この後、publishコマンドで公開すると、xxxx.cloudfront.net 形式のドメインで公開されます。 完了までの時間は、amplifyhostingより長く数分かかります。
amplify publish ・・・ ・・・ Your app is published successfully. https://**************.cloudfront.net************** の文字列は、半角数と半角英小文字から成るユニークな文字列です。
ステータス
"Amazon CloudFront and S3"の場合、公開後のステータスは以下のようになります。
$ amplify status Current Environment: dev ┌──────────┬─────────────────┬───────────┬───────────────────┐ │ Category │ Resource name │ Operation │ Provider plugin │ ├──────────┼─────────────────┼───────────┼───────────────────┤ │ Hosting │ S3AndCloudFront │ No Change │ awscloudformation │ └──────────┴─────────────────┴───────────┴───────────────────┘ Hosting endpoint: https://**************.cloudfront.net