目的
既存webサービスをデプロイしている
https://sss.red-miso.work/
のURLを工事中リニューアルページに差し替える
経緯
SkateSpotSearch
というwebサービスをrails+webpackerで作成
aws ecs+circleCI+code3兄弟で構築しておりました。
↓こんな感じで
フロントとバックエンドを分離するSPA構築にしたい
ので、
一旦サービスを停止。
URLはそのままにリニューアルページを差し替えたいと思います。
よろしくお願いいたします。
リニューアルページを作成しておく
最低限
- index.html
があれば良いですが、今回は勉強も兼ねてvue.jsで簡単に作成してみました。
vue create .
npm run serve ==>>(localhost:8080で確認できる)
[画像ファイルと文言を整える]
npm run build ==>> 別ディレクトリ/distが作成されます。これをS3にあげますね!
↓localhost:8080で見ると、こんな感じですね!
あ、Canvaというおすすめの
Canva:ロゴ作成サイト
があるのでチェックしてみてください!使いやすいですよ!
S3で新規バケット作成〜エンドポイントでアクセス可能にしよう
AWS S3
↑アクセスして、
- red-miso.work
- sss.red-miso.work
ドメインとは、
定義域という意味ですが
簡単にいうと
私のURLが
https://sss.red-miso.work
ここでいう
red-miso.work
がお名前ドットコムなどで購入したドメインです!
サブドメインとは、
任意で設定可能で、サイトを拡張していくときなどブランディングができ便利です!
route53にて、レコード作成するタイミングで
sss.red-miso.workからred-miso.workへ
とアクセスをマッピングする役割があります。
sssを含む、
sss.red-miso.workがサブドメインに当たります。
- ドメイン名(red-miso.work)バケット内で、[タブ]アクセス許可内の
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3::: **ここにバケット名を入れましょう** "
}
]
}
- ドメイン名(red-miso.work)のバケット内の[タブ]プロパティ内で、静的ホスティングを設定する
↓ここで参照するファイル名を大文字小文字正確に入力。
私は今回vue.jsプロジェクト内のindex.htmlを読み込むので、指定します。
エラードキュメントは無くても良さそう。
一応、用意しておきましたね。
- ファイルやフォルダのアップロード
index.htmlやerror.htmlなどをアップロードします。
これにて、[タブ]プロパティのエンドポイントをクリックすれば表示されているかと思います。
↓ここ
- サブドメイン名(sss.red-miso.work)のバケットからも閲覧できるようリダイレクト設定をする
↓アクセス許可やポリシーを追加せずとも、エンドポイントからアクセスができるようになる
Route53にて、ドメイン名(red-miso.work)のS3エンドポイントへリクエストが流れるようにする。
- Route53ダッシュボードからドメイン名のホストゾーン内へと移動する
- レコードの作成
↓トラフィックはエイリアスをONに、S3を選択、リージョンを選択、バケット名(ドメイン名)を選択
以上でレコード作成
http://red-miso.work
で閲覧可能となる
Route53にて、サブドメイン名(sss.red-miso.work)のS3エンドポイントへリクエストが流れるようにする。
*もし、既存のサブドメイン名のレコードが定義されている場合は削除してから再作成しましょう。
↓すると、s3バケット名選択肢にsss.red-miso.workが現れる
以上でレコード作成
http://sss.red-miso.work
で閲覧可能となる
https通信にする。
cloudfrontを使用する
-
cloudfrontページ
にアクセスする。
↓オリジンドメイン名として、ドメイン名(red-miso.workから始まるs3バケットを選択)
↓他の設定は触らず、代替ドメイン名にドメイン(red-miso.work)を入力。
↓Route53内のドメイン内に、レコードを作成して認証する。
以上で、cloudfrontディストリビューションを作成。
https://sss.red-miso.work
https化が成功し、アクセスができるようになる。
最後まで、閲覧ありがとうございました!
あとは、SPA化できるようにするだけだな〜