> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Heroku から Square Cloud への移行

> ウェブ、ワーカー、API アプリケーションを Heroku から Square Cloud へ移行するための実践ガイド。設定のマッピング、デプロイ手順、計画すべき主な違いを解説します。

## なぜ開発者は移行するのか

Heroku の dyno モデルはコンピュート時間とアドオンを個別に課金するため、アプリが成長するにつれて月額コストの予測が難しくなります。Square Cloud は異なるアプローチを取ります。

* **BRL 建ての予測可能な定額料金** — 1 つのプラン料金に RAM、vCPU、Blob ストレージが含まれ、その上に従量課金のアドオン費用が積み上がることはありません。[プランと料金](/ja/platform/plans)を参照してください。
* **専用リソース** — RAM と vCPU はベストエフォート型の共有キャパシティではなく、あなたのアプリケーション専用に確保されます。
* **数秒でデプロイ** — zip をアップロードするか CLI で push するだけで、ビルドキューを待つことなくアプリケーションが稼働します。

## 概念のマッピング

| Heroku                               | Square Cloud                                                                        |
| ------------------------------------ | ----------------------------------------------------------------------------------- |
| `Procfile`（`web:`/`worker:` プロセスタイプ） | [`squarecloud.app` 設定ファイル](/ja/getting-started/config-file) — `MAIN`/`START` フィールド  |
| Buildpacks                           | [Runtimes](/ja/runtimes/introduction) — 自動言語検出、buildpack を選ぶ必要なし                    |
| Config Vars                          | 環境変数。ダッシュボードで設定するか、`.env` ファイルからアップロード                                              |
| Heroku Postgres                      | [Square Cloud のマネージドデータベース](/ja/services/databases)（PostgreSQL、MySQL、MongoDB、Redis） |
| `heroku logs --tail`                 | ダッシュボードのログ、または CLI の `squarecloud app logs`                                         |
| カスタムドメイン（有料 dyno）                    | [Standard プラン以上](/ja/platform/plans)でのカスタムドメイン                                      |

## 移行手順

<Steps>
  <Step title="設定ファイルを作成する">
    `Procfile` を、プロジェクトのルートに置く `squarecloud.app` ファイルに置き換えます。次のような Heroku の `Procfile`:

    ```
    web: node index.js
    ```

    はこうなります。

    ```systemd squarecloud.app theme={null}
    MAIN=index.js
    MEMORY=512
    VERSION=recommended
    DISPLAY_NAME=My migrated app
    SUBDOMAIN=my-app
    ```

    worker プロセスタイプの場合は、`SUBDOMAIN` を省略し、代わりに `START` にワーカーの起動コマンドを設定してください。すべてのフィールドについては[設定ファイルのリファレンス](/ja/getting-started/config-file)を参照してください。
  </Step>

  <Step title="環境変数を設定する">
    Heroku の Config Vars（`heroku config`）をエクスポートし、同じキーを Square Cloud にも設定します。ダッシュボードの環境変数パネルから設定するか、`.env` ファイルをアップロードします。

    ```bash theme={null}
    squarecloud app env set --from-file .env --app <appID>
    ```
  </Step>

  <Step title="デプロイする">
    CLI またはダッシュボードからプロジェクトをアップロードします。

    ```bash theme={null}
    squarecloud upload
    ```

    両方の方法の詳しい手順については、[ウェブサイト/API のホスティング方法](/ja/tutorials/how-to-deploy-your-website)を参照してください。
  </Step>

  <Step title="DNS を向ける">
    アプリが `<subdomain>.squareweb.app` で稼働したら、ドメインの DNS を Square Cloud に向け、CLI からアタッチします。

    ```bash theme={null}
    squarecloud app network domain example.com --app <appID>
    ```

    カスタムドメインには有効な Standard プラン以上が必要です。
  </Step>
</Steps>

## 計画すべき主な違い

* **リージョンとレイテンシー。** Square Cloud のデータセンターはニューヨークにあります — インフラの詳細は[プラットフォーム概要](/ja/platform/overview)を参照してください。ユーザーの大半が現在の Heroku dyno のリージョンと異なる地域にいる場合は、切り替え前にレイテンシーを計測してください。
* **無料の dyno ティアはありません。** Square Cloud には無料 dyno 相当のものはなく、アプリケーションを実行するには有効な有料プランが必要です。ワークロードに合ったティアを選ぶには[プランと料金](/ja/platform/plans)を参照してください。
* **データベースは別途移行が必要です。** Heroku Postgres のデータを移行するには、データをエクスポートし（例: `pg_dump`）、新しい [Square Cloud のマネージドデータベース](/ja/services/databases)にリストアする必要があります — 切り替えのためのメンテナンス時間を計画してください。

## お問い合わせ

**技術的な問題**が解決しない場合は、**専門のサポートチーム**がお手伝いします。[**お問い合わせ**](https://squarecloud.app/ja/support)いただければ、どのような問題でも喜んで解決をサポートいたします — サポートの質の高さも、開発者が Google と Trustpilot で Square Cloud に[**402 件のレビューで 4.9/5**](https://www.trustpilot.com/review/squarecloud.app)という評価をつけている理由の 1 つです。
