NetlifyからAWS Amplify Consoleに移行しました

header

はじめに

これまでNetlifyにホストしていたこのブログをAWS Amplify Consoleに移行しました。 移行のモチベーションは、AWSをもっと使い倒そう考えたからで、Netlifyに特別何かデメリットがあったわけではありません。 AWS Amplify Consoleも手軽で便利ですね。以下、簡単に経緯をまとめます。

移行手順

大まかな流れ

大まかに、以下の手順で移行しました。

  1. Blog専用のAWSアカウントを払い出し
  2. “AWS Amplify Console"にてgitリポジトリを取得するように設定&サブドメイン設定
  3. DNS管理サービス上でNetlifyのCNAME設定を削除
  4. 証明書及びブログ用サブドメインのCNAME設定
  5. 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との連携を設定

  • リポジトリを選択した後、デプロイしたいブランチを選択

    • こんな感じ Amplify01
  • その後、ビルドオプションを設定。これは、利用しているツールに応じてよしなに設定してください

    • このスクリーンショットはhugoを前提にしています Amplify02

ここまでで、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分ぐらいで完了しました。

サブドメインの設定が完了すると、最終的にこういう画面イメージになります。 Amplify03

Netlifyのサイトを削除

ここまでで移行が完了したので、Netlifyにホストしてあったものは削除します。

まとめ

ということで、非常に簡単にNetlifyからAWS Amplify Consoleに移行ができました。