Skip to content

Latest commit

 

History

History
83 lines (49 loc) · 4.61 KB

google-cloud.mdx

File metadata and controls

83 lines (49 loc) · 4.61 KB
title description type i18nReady
AstroサイトをGoogle Cloudにデプロイする
Google CloudでAstroサイトをウェブにデプロイする方法。
deploy
true

フル機能のWebアプリホスティングプラットフォームGoogle Cloudで、Astroサイトをデプロイできます。

デプロイ方法

Cloud Storage (静的配信のみ)

  1. 新しいGCPのプロジェクトを作成、または既存のプロジェクトを選択します。

  2. Cloud Storageで新しいバケットを作成します。

  3. バケットに名前を付け、その他必要な設定を行います。

  4. distフォルダをバケットにアップロードするか、Cloud Buildを使用してアップロードします。

  5. 新しくStorage オブジェクト閲覧者という権限をallUsersに追加して、公開アクセスを有効にします。

  6. Webサイトの設定を編集し、エントリポイントとしてìndex.htmlを、エラーページとして404.htmlを追加します。

Cloud Run (SSRと静的配信)

Cloud Runはインフラストラクチャを管理せずにコンテナを実行できるサーバーレスプラットフォームです。 静的サイトとSSRサイトの両方のデプロイに使用できます。

サービスの準備

  1. 新しいGCPのプロジェクトを作成、または既存のプロジェクトを選択します。

  2. Cloud Run APIが有効になっていることを確認してください。

  3. 新しいサービスを作成します。

Dockerfileの作成とコンテナのビルド

AstroのサイトをCloud Runにデプロイする前に、コンテナのビルドに使用されるDockerfileを作成する必要があります。AstroでDockerを使用する方法の詳細はレシピセクションをご覧ください。

Dockerfileが作成されたら、イメージをビルドしてGoogle Cloudにプッシュします。これを実現するには、いくつかの方法があります:

Dockerを使用してローカルでビルドする:

docker buildコマンドを使用してイメージをビルドし、docker tagでタグを付け、docker pushでレジストリにプッシュします。Google Cloud の場合、Artifact Registryが最も簡単なオプションですが、Docker Hubを使用することもできます。

# コンテナをビルドします
docker build .

docker tag SOURCE_IMAGE HOSTNAME/PROJECT-ID/TARGET-IMAGE:TAG

# イメージをレジストリにプッシュします
docker push HOSTNAME/PROJECT-ID/IMAGE:TAG

プロジェクトに合わせて、上記のコマンド内の次の値を変更します。

  • SOURCE_IMAGE: ローカルイメージ名またはイメージID。
  • HOSTNAME: レジストリのホスト(gcr.io, eu.gcr.io, asia.gcr.io, us.gcr.io)。
  • PROJECT: Google CloudのプロジェクトID。
  • TARGET-IMAGE: レジストリに保存された時のイメージ名。
  • TAGはイメージに関連付けられたバージョンです。

詳細はGoogle Cloudのドキュメントをご覧ください。

他のツールを使用する:

GitHub Actionsのような、DockerをサポートするCI/CDツールを使用できます。

Cloud Buildを使用してビルドする:

Dockerfileをローカルでビルドする代わりに、イメージをリモートでビルドするようにGoogle Cloudに指示できます。Google Cloud Buildのドキュメントを参照してください。

コンテナのデプロイ

デプロイはgcloudを使用してターミナルで手動で行うことも、Cloud Buildやその他のCI/CDシステムを使用して自動的に行うこともできます。

:::note[公開アクセスが必要ですか?] Cloud Runの権限設定のallUsersグループにCloud Run 起動元権限を追加することを忘れないでください! :::