AWSからCloudflareにブログを移植した

AWSからCloudflareにブログを移植した
カテゴリー: PC
投稿日:
更新日:
書いた人: 山椒ねこまんま

海外にもアプリを宣伝するため、英語版のブログを作成しました。

英語版ブログはCloudflareのPages上で運用するようにしました。
本ブログはAWSのCloudfront・Lambda・S3で運用しているため、事実上の移植になります。


変更点

本ブログはこちらのNuxt3で作成されたブログを元に作られています。
そのため、ブログそのものは nuxt.config.jsを

nitro: {
  -   preset: 'aws-lambda'
  +   preset: 'cloudflare_pages'
}

へと変更するだけで済みました。 お手軽〜


そんなわけで、実際変更したところのほとんどは Github Actions 用のファイルでした。

.github/workflows/deploy.yaml

- name: Sign in
 uses: aws-actions/configure-aws-credentials@v1
 with:
  aws-region: ap-northeast-1
  aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
  aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
- name: Sync files to S3
 run: aws s3 sync .output/public s3://bucket/ --delete
- name: lambda deploy
 run: npx serverless deploy

serverless.yml

service: lambda
frameworkVersion: '3'
provider:
 name: aws
 stage: dev
 region: ap-northeast-1
 runtime: nodejs18.x
package:
 patterns:
  - '!**'
  - '.output/server/**'
functions:
 NuxtSsrEngine:
  handler: '.output/server/index.handler'
 url: true

.github/workflows/deploy.yaml

- name: Deploy
 uses: cloudflare/wrangler-action@v3
 with:
  apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
  accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
  command: pages deploy dist/ --project-name=project

へと変更しました。


測定

PageSpeed Insights で測定してみました。

flame

日本版


flame

英語版


秒数自体は英語版の方が短いですが...スコアにはさほど差が出ませんでした。

これなら日本語版はAWS上のままでいいかな〜


アプリを作ったりしています! よかったらみていってくださいね→ つくったもの
今のイチオシ↓