💡

[開発日記] AWSデプロイ時の注意点

2024/12/23に公開

開発日記では、私が開発中に犯したミスやエラーを記録しようと思っています。

今日はAWSを使ってプロジェクトをデプロイしようとした際に発生したミスについて整理してみました。フロントエンドだけをデプロイするならGitHubをおすすめしますが、バックエンドやデータベースも一緒にデプロイするとなるとGitHubでは難しいです。

そこで私はAWSを利用してデプロイしようとしているのですが、この過程でいくつかのミスをしたので記録しておこうと思います。(ちなみに私はまだデプロイ設定中です。)

🙌非常に「初心者の視点」でのミスなので、ある程度の知識がある人は読まないことをおすすめします。

<デプロイサービスの種類

私が作成したプロジェクトに基づいて、フロントエンド(React)、バックエンド(Spring Boot)、DB(MariaDB) それぞれの情報を別々に入力する必要があります。

awsサービス
フォロンとエンド S3
バックエンド EC2
データーベース RDS

もちろん、この3つ以外にも他のサービスを利用することができます。詳細についてはAWSや検索をおすすめします。(私もまだよくわからないので..)

<リージョン確認>

リージョン:AWSには「リージョン」という概念があります。AWSが世界中でデータセンターをクラスター化する物理的な位置をリージョンと呼びます。
<AWSホームページより>

👩‍🏫つまり、サービスが提供される国を指します!

日本でサービスを提供するのに南アフリカにリージョンを設定すると、その分データアップロードなどが遅延するそうです。。私はこれも知らずにただデータベースを作成して現在変更作業中です😭(費用だけはかからないでほしい)

<S3にbuildファイルをアップロードする際の注意点>

バケットを作成した後、buildファイルをアップロードする際は新しいフォルダの中に入れてはいけません。

S3でバケットを作成し、そのバケット内にbuildファイルをアップロードする必要がありますが、バケット内に新しいフォルダを作ってその中にbuildフォルダをまるごとアップロードしてデプロイしたところ、ずっと404エラーが発生していました。

なぜうまくいかないのだろう?

'「Static Website Hosting」の設定は基本的にルートディレクトリでindex.htmlを探すように設定されています。したがって、ファイルが新しいフォルダにあるとS3はそのindex.htmlを見つけられず404エラーを返します。'と言います。

エラーを解決するために、バケットを作成しルートディレクトリ内にbuildフォルダの中のファイルをすべてアップロードする必要がありました。(staticフォルダはフォルダごとアップロードする必要があります)

* ルートディレクトリ構造の例
/
├── index.html
├── static/
│   ├── js/
│   ├── css/

<感想>

何でも早くやろうとせず、忍耐を持って待ち、文章をもう少し詳しく読みましょう!

Discussion