先に要点
- Astro はプラットフォーム非依存で、特定のホスティングに縛られません。まず決めるのは出力モード(静的か、オンデマンドか)です。
- 静的(SSG)出力なら、生成された HTML/CSS/JS をどんな静的ホスティングにも置けます(Cloudflare Pages・Netlify・Vercel・GitHub Pages・S3+CDN・レンタルサーバーなど)。いちばん安く・速く・自由です。
- オンデマンド(SSR)出力にするなら、ホストに合わせた「アダプタ」(
@astrojs/vercel/@astrojs/netlify/@astrojs/cloudflare/@astrojs/nodeなど)を入れる必要があります。 - 選び方の入口は「サイトに毎回サーバー処理が要るか」。要らないなら静的でどこでも、要るならアダプタのあるホストを選びます。
- AIにAstroで作ってもらった場合、多くは静的サイトなので、まずは静的ホスティングに置くのが手軽。フォーム送信や認証など動的処理が要る所だけ後から考えれば十分です。
AIにAstroでサイトを作ってもらったけど、これどこに公開するの? ── Astroは「どこにでも置ける」のが強みですが、その自由さゆえに最初に迷うポイントでもあります。カギは出力モードを決めてから、それに合うホスティングを選ぶことです。
この記事では、静的(SSG)とオンデマンド(SSR)の違い、静的ならどこに置けるか、SSRならどのアダプタが要るか、主要ホスティングの選び方までを整理します。Astro自体の位置づけはAstroとは?を参照してください。
まず「出力モード」を決める
Astroのデプロイ先は、サイトをどう出力するかで決まります。大きく2つです。
多くのサイトは静的で十分です。まず静的で作り、どうしてもサーバー処理が要る部分が出てきたら、その時にSSRを検討する、という順番が無駄がありません。
静的(SSG)なら、どこにでも置ける
静的出力の実体は、ただの HTML/CSS/JS ファイル群です。だから置き先の自由度が非常に高いのが利点です。代表的な選択肢は次の通りです。
Cloudflare Pages
グローバルな CDN で配信。無料枠が広く、Cloudflare の各種機能とも組み合わせやすい。
その他
GitHub Pages(無料・個人向け)、S3+CloudFront、さらに普通のレンタルサーバーにビルド成果物を置くだけでも動く。
静的サイトはサーバーを動かし続ける必要がないので、無料〜低コストで運用でき、障害にも強いです。「AIに作ってもらったAstroサイト」も、たいていはこの静的ホスティングで公開できます。
オンデマンド(SSR)なら「アダプタ」が要る
SSR(リクエストごとにサーバーで生成)にする場合は、astro.config の output を server にしたうえで、デプロイ先ごとの「アダプタ」を追加します。ホストの実行環境が違うため、それに橋渡しするパッケージが必要になるからです。
| デプロイ先 | アダプタ | 向いている場面 |
|---|---|---|
| Vercel | @astrojs/vercel | Git連携・プレビュー重視、Vercel上で完結させたい |
| Netlify | @astrojs/netlify | Netlifyの付帯機能や既存運用に合わせたい |
| Cloudflare | @astrojs/cloudflare | エッジで動かす、Cloudflareのスタックと統合したい |
| 自前サーバー / VPS | @astrojs/node | Node.jsサーバーとして自分で動かす・運用を握りたい |
なお、SSRにしてもページ単位で prerender = true を付ければ、その部分だけ静的化できます。「大部分は静的、一部だけサーバー」という混在も自然に組めます。
どれを選ぶか
判断の入口はシンプルで、「サーバー処理が要るか、要らないか」です。Astroの強みは静的サイトなので、まず静的で公開し、必要になったらSSRを足すのが素直な進め方です。
注意点
アダプタとホストは一致させる
SSRでCloudflareに置くのに @astrojs/node のまま、といったズレはビルド/実行エラーの元。デプロイ先に合ったアダプタを入れる。
環境変数の置き場所
APIキーなどは各ホストの環境変数設定で管理する。コードに直書きしない。ホストごとに設定画面が違う。
画像最適化の対応
Astroの画像最適化は実行環境で挙動が変わることがある。SSRホストによっては追加設定や外部サービスが要る場合も。
静的で足りるか先に見極める
「なんとなくSSR」にすると運用が重くなる。本当に毎回サーバーが要る部分だけSSRにするのが安く・速い。
Astroのデプロイに関するよくある質問
Astroは無料でデプロイできますか?
できます。静的出力なら、Cloudflare Pages・Netlify・Vercel・GitHub Pages などの無料枠で公開可能です。アクセスが増えたり動的処理を足したりすると有料化を検討する形になりますが、個人サイトや小規模なら無料のまま運用できることが多いです。
レンタルサーバーにAstroを置けますか?
静的出力なら置けます。ビルドしてできた成果物(distなどのファイル群)を、そのままレンタルサーバーにアップロードすれば動きます。ただしSSR(サーバー処理)はNode.jsが動く環境やアダプタが必要なので、一般的な共有レンタルサーバーでは難しいことがあります。
Vercelに置くならNext.jsの方がいいですか?
用途次第です。Vercelは静的AstroもSSR Astroも普通に動かせます。コンテンツ中心で軽く作りたいならAstro、アプリのように動的ならNext.js、という選び分けで、「Vercelだから必ずNext.js」ではありません。
どのホスティングが一番おすすめですか?
一概には言えませんが、Git連携の自動デプロイと無料枠を重視するなら Cloudflare Pages・Netlify・Vercel はどれも手軽です。すでに使っているサービスがあればそれに合わせるのが楽で、SSRするならアダプタが用意されたホストから選ぶと迷いません。
静的とSSR、後から変えられますか?
変えられます。output の設定とアダプタを変えれば移行できますし、ページ単位で静的/動的を混在させることも可能です。最初は静的で始め、動的が必要になった部分だけSSR化する、という段階的な進め方がやりやすいです。
まとめ
Astroのデプロイ先は、まず出力モード(静的かオンデマンドか)を決めてから選ぶのが基本です。静的(SSG)なら、生成物をCloudflare Pages・Netlify・Vercel・GitHub Pages・レンタルサーバーなどどこにでも置け、安く・速く・落ちにくく運用できます。オンデマンド(SSR)にするなら、ホストに合わせたアダプタ(@astrojs/vercel ほか)を入れます。判断の入口は「毎回サーバー処理が要るか」で、Astroの強みを活かすならまず静的で公開し、必要な部分だけSSR化するのが無駄のない進め方です。
参考リンク
- 関連記事: Astroとは? / アイランドアーキテクチャとは
- 関連記事: Vercelとは / Netlifyとは / Cloudflare Workersとは
- 用語集: Astro / SSG / SSR / CDN
- 公式: Astro Docs: Deploy your site