はじめに
これまでNetlifyにホストしていたこのブログをAWS Amplify Consoleに移行しました。 移行のモチベーションは、AWSをもっと使い倒そう考えたからで、Netlifyに特別何かデメリットがあったわけではありません。 AWS Amplify Consoleも手軽で便利ですね。以下、簡単に経緯をまとめます。
移行手順
大まかな流れ
大まかに、以下の手順で移行しました。
- Blog専用のAWSアカウントを払い出し
- “AWS Amplify Console"にてgitリポジトリを取得するように設定&サブドメイン設定
- DNS管理サービス上でNetlifyのCNAME設定を削除
- 証明書及びブログ用サブドメインのCNAME設定
- Netlifyのサイトを削除
移行手順詳細
Blog専用のAWSアカウントを払い出し
今回、コストやその他諸々の面を考慮して分離するために、Blog専用のAWSアカウントを作ることにしました。 元々別件でマルチアカウント運用を始めていたので、個人のAWSアカウント(“AWS Organizations"のマネジメントアカウント)から、AWS Organizationsを利用してBlog専用アカウントを払い出ししました。AWS SSOにてユーザーとアクセス権限セットを割り当てて、ログインもできるように設定しました。
“AWS Amplify Console"にてブログコンテンツのgitリポジトリを取得するように設定&サブドメイン設定
ここからは、AWS Amplify Consoleを利用してブログのデプロイをしていきます。
まず前提として、今回の対象コンテンツはhugo
を利用して生成しています。
また、その生成されたコンテンツはGithubのプライベートリポジトリにホストしていて、今まではNetlifyに連携してブログを公開していました。
このGithubのリポジトリはそのままに、ブログ自体のホストをNetlifyからAWS Amplify Consoleに変更します。
-
該当のAWSアカウントにて、“AWS Amplify"を開き、Get Startedを押す(はじめてAWS Amplify Consoleを利用する場合)
-
“Deliver"のGet Startedをクリック
-
ソースのリポジトリを選択します。私の場合はGithubにあるので、Githubとの連携を設定
-
リポジトリを選択した後、デプロイしたいブランチを選択
- こんな感じ
-
その後、ビルドオプションを設定。これは、利用しているツールに応じてよしなに設定してください
- このスクリーンショットは
hugo
を前提にしています
- このスクリーンショットは
ここまでで、AWS Amplify Consoleを利用したBlogのデプロイが行われます。
一旦これで、https://<branch name>.<自動生成文字列>.amplifyapp.com
というドメインでサイトがアクセスできるようになりますので、想定通りにデプロイされているか確認してみます。
この段階で、AWS Amplifyが自動生成するURLでとりあえずアクセスできるので、想定通りにデプロイされているかをまず確認してみましょう。
想定通りにデプロイされていれば成功です。
DNS管理サービス上でNetlifyのCNAME設定を削除
一旦AWS Amplify Consoleでデプロイできているのは確認できたので、Netlifyの方の作業に取りかかります。 DNS管理サービス上で、Netlifyと紐付けていたCNAME設定を削除します。
証明書及びブログ用サブドメインのCNAME設定
次に、AWS Amplify Console側で、サブドメインの設定をしていきます。
AWS Amplify Consoleの画面から、ドメイン管理>「カスタムドメインの追加」ボタンを押し、ブログに紐付けるドメインを指定して、「保存」します。
私の場合は、blog.xtatsux.dev
を追加して保存しています。
その次に、DNSレコードの表示で出てくる、ACM証明書とサブドメインを紐付けるCloudFrontへのCNAMEの両方をDNS管理サービスに登録します。ステータスがAll Greenになったら、ブログに紐付けたドメインでアクセスし、問題がないことを確認。 ステータスチェックが終わるまではそこそこ時間かかる場合があります。おおよそ、30分ぐらい。私の今回のケースでは、およそ20分ぐらいで完了しました。
サブドメインの設定が完了すると、最終的にこういう画面イメージになります。
Netlifyのサイトを削除
ここまでで移行が完了したので、Netlifyにホストしてあったものは削除します。
まとめ
ということで、非常に簡単にNetlifyからAWS Amplify Consoleに移行ができました。