Blazor wasm は c#で書けるウェブアセンブリなアプリで、サーバーレスで稼働することができます。
この記事では、Blazor wasm で作成したウェブアプリをAWS S3 で公開する方法を紹介します。
1. S3 バケットを作成する
まずはS3バケットを作成しましょう。
作成のしかたはいつもと同じです。コマンドラインが好きな方はコマンドラインからでもいいですし、ウェブコンソールが好きな方は
ウェブコンソールから作成しましょう。
最終的にウェブホスティングを有効にしますので、パブリック・アクセスを許可しておく必要があります。
2. アクセス許可から、バケットポリシーを設定する
バケットの「アクセス許可」からバケットポリシーを選択します。
バケットポリシーを入力して、有効にします。
バケットポリシーは以下のように入力します。
1 | { |
3. ウェブホスティングを有効にする
ウェブホスティングを有効にします。
バケットのプロパティから「静的ウェブサイトホスティング」より、有効にします。
このとき、インデックスドキュメントとエラードキュメントの両方に「index.html」を入力することを忘れないようにしましょう。
3. Blazor wasm アプリを Publish する
Blazor wasm アプリを Publish して、デプロイするファイルを生成しましょう。
やり方は至ってかんたんで、プロジェクトディレクトリで以下のコマンドを実行するだけです。
1 | > dotnet publish -c Release |
以下のように、ファイルが生成されれば成功です。
1 | haruo@Haruos-MBP dailystack % dotnet publish -c Release |
4. S3 バケットにアップロードする
生成されたファイルをS3へアップロードしましょう。
アップロードする方法は何でもOKです。ウェブコンソールからアップロードしても構いませんし、AWS CLI がインストールされていれば、以下のコマンドからでもアップロードできます。
1 | > aws s3 sync ローカルディレクトリ名 s3://バケット名 --delete |
--delete
オプションは、ローカルディレクトリ側に存在せず、S3バケット側にのみ存在するファイルを削除する、という意味です。
5. URL にアクセスして動作確認する
S3のウェブホスティングURLにブラウザからアクセスしてみましょう。
この図のように、Blazorアプリが表示されれば成功です。