メインコンテンツまでスキップ

環境

Squid はあなたの作業用に 2 つの環境 – dev と prod – を提供します。

新しいアプリケーションを作成すると、Squid は自動的に devprod の環境を設定します。開発やテストには dev 環境を使用してください。アプリケーションを本番公開する準備ができたら prod 環境を利用します。

Shared Between dev and prodNot Shared Between dev and prod
App IDConnectors
RegionSecrets
OrganizationBuilt-in database
Developer IDBackend deployments
API Keys

Environments and connectors

Squid Console でアプリの devprod バージョンを切り替えると、それぞれ異なるセットの connectors があることに気づくでしょう。 本番アプリの機能に望ましくない変更を加えないように、devprod 環境の connectors は同期されません。Squid アプリに connector を追加する際は、目的の環境に追加していることを確認してください。

Best practice

dev 環境は、開発版の connectors と接続してください。これにより、本番版のアプリケーションを変更することなく、機能の構築やテストが可能になります。

両方の devprod 環境で同じ connector ID を選択すると、dev で開発してから prod にプッシュする際、コード内の変数を変更する必要がなくなります。

The dev environment

dev 環境は、prod 環境のアプリケーションとは別個の、完全なバックエンドアプリケーションです。

Running the dev backend locally

Squid Console のアプリケーション概要ページから Squid バックエンドを初期化するとき、dev モードに切り替えるようプロンプトが表示されます。

提供されたターミナルコマンドは、.env ファイルを含む新しいバックエンドを作成します。このファイルには、ローカルでバックエンドを実行するために必要な属性(SQUID_ENVIRONMENT_ID を含む)が記載されています。この値は、バックエンドがどの環境で実行されるかを決定します。

バックエンドディレクトリで以下のコマンドを実行して、バックエンドをローカルで実行してください:

squid start

ローカルで実行中のバックエンドを使ってフロントエンドを動作させるには、フロントエンドの Squid Client SDK 設定に Squid Developer ID を含める必要があります:

Client code
<SquidContextProvider
options={{
appId: 'YOUR_APP_ID',
region: 'YOUR_REGION', // example: 'us-east-1.aws'
environmentId: 'dev',
squidDeveloperId: 'YOUR_SQUID_DEVELOPER_ID',
}}
>
<App />
</SquidContextProvider>
Caution

Squid Developer ID はローカル開発用です。フロントエンドアプリに developer ID を含めないでください。

The prod environment

Squid アプリケーションの本番環境は、ユーザーが操作するバージョンです。prod バージョンの Squid に connector を追加する際は、サービスの本番版を使用してください。

Deploying your Squid backend

Squid バックエンドをデプロイする際は、どの環境にデプロイするかを選択する必要があります。

dev へデプロイすると、コラボレータが機能をテストできるステージング環境が提供されます。dev バックエンドがデプロイされると、Squid コンテキスト内で squidDeveloperId パラメータを使用せずに、アプリのフロントエンドからライブでアクセスできるようになります。

prod へデプロイすると、ユーザーが操作するバックエンドのライブ版が作成され、これにより既にデプロイされていたバックエンドのバージョンが上書きされます。

バックエンドプロジェクトのディレクトリから以下のコマンドを実行して、dev 環境に Squid バックエンドをデプロイしてください:

squid deploy # OR npm run deploy

バックエンドのバージョンを prod にプッシュする準備ができたら、以下のコマンドを使用してください:

squid deploy --environmentId prod --apiKey YOUR_PROD_API_KEY
Note

'squid deploy' コマンドが実行できない場合は、システムに Squid CLI がインストールされていることを確認してください。

Squid Console の Backend project セクションにある Deploy backend ボタンをクリックすると、あなたの prod デプロイコマンドと prod API キーを確認できます。

Selecting your environment

Environments in the console

コネクタを追加または管理する前に、正しい環境にいるかどうかを確認してください。 Squid Console で環境を切り替えるには、コンソール上部の環境名を選択し、表示したい環境を選んでください。

Environments in the console

Environments during development

デフォルトでは、.env ファイル内の environmentIdapiKeydev に設定されています。そのため、これらのフラグなしでコマンドを実行すると、コマンドは dev 環境を使用します。

バックエンドの環境を変更するには、Squid CLI コマンドで適切なフラグを使用してください。

squid deploy # deploys to dev
squid deploy --environmentId prod --apiKey YOUR_PROD_API_KEY # deploys to prod

アプリのフロントエンドの環境を変更するには、Squid コンテキスト内で適切な environmentId の値を使用してください:

<SquidContextProvider
options={{
appId: 'YOUR_APP_ID',
region: 'YOUR_REGION', // example: 'us-east-1.aws'
environmentId: 'dev', // or 'prod'
}}
>
<App />
</SquidContextProvider>

Key environment variables

環境変数(envars とも呼ばれます)は、開発環境と本番環境の両方でアプリケーションを構成・運用するために不可欠です。

  • SQUID_APP_ID: あなたのユニークな Squid アプリケーション識別子。(コマンドラインで使用する場合は --appId
  • SQUID_REGION: 'us-east-1.aws' などのリージョンを指定します。(コマンドラインで使用する場合は --region
  • SQUID_ENVIRONMENT_ID: 作業環境を示し、'dev' または 'prod' のいずれかです。(コマンドラインで使用する場合は --environmentId
  • SQUID_API_KEY: 各環境ごとに異なる API アクセス用のキーです。(コマンドラインで使用する場合は --apiKey
  • SQUID_DEVELOPER_ID: ローカルで Squid バックエンドを実行するために必要な値で、.env ファイルまたは Squid Console で確認できます。(コマンドラインで使用する場合は --squidDeveloperId

Netlify や GitHub Actions のようなツールを使用した自動デプロイの場合、これらの環境変数はデプロイマシン上、またはデプロイツールの設定内で直接設定することを推奨します。このアプローチは、API Key などの機密情報のセキュリティと管理を強化します。

デプロイマシンまたはプロセス上で変数を設定することにより、開発用と本番用の設定の明確な分離が可能となります。

Security considerations

特に API Key のような機密変数には注意してください。セキュリティリスクを避けるため、これらの情報はクライアントサイドのコードに露出しないようにする必要があります。常にサーバー側または保護された環境変数内で、このような重要な情報を安全に管理してください。

Locate envars in the console

管理を容易にするため、Squid Console から環境変数をコピーできます。この機能は、開発とデプロイの両方において、正確に変数を設定するのに役立ちます。 Squid Console 内の Show env vars ボタンは、これらの変数にアクセスするための便利なツールです。

ローカル開発用の .env ファイルを生成するには、"Create .env file" ボタンをクリックすることもできます。

Undeploying your backend

必要に応じて、アプリからバックエンドを削除できます。Squid Console で Application overview ページに移動し、ページ下部にある Undeploy Backend をクリックしてください。