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

環境

Squidは、お仕事用に2つの環境 – dev と prod – を提供します。

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

dev と prod 間で共有されるものdev と prod 間で共有されないもの
App IDConnectors
RegionSecrets
OrganizationBuilt-in database
Developer IDBackend deployments
API Keys

環境とコネクタ

Squid Consoleでアプリの dev バージョンと prod バージョンを切り替えると、それぞれ異なるコネクタのセットがあることに気づくでしょう。本番アプリの機能に不要な変更が加わるのを防ぐため、dev 環境と prod 環境のコネクタは同期されません。Squidアプリにコネクタを追加する際は、追加先の環境が意図したものであることを確認してください。

Best practice

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

もし devprod の両方の環境で同じ connector ID を選択した場合、dev 環境で開発し、そのままコード内の変数を変更することなく prod にプッシュすることができます。

dev 環境

dev 環境は、prod 環境のアプリケーションから独立した完全なバックエンドアプリケーションです。

dev バックエンドをローカルで実行する

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 を含めないでください。

prod 環境

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

Squid バックエンドのデプロイ

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

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

prod へのデプロイは、ユーザーが対話するバックエンドのライブバージョンを作成します。この操作により、以前にデプロイされたバックエンドのバージョンは上書きされます。

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

squid deploy

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

squid deploy --environmentId prod --apiKey YOUR_PROD_API_KEY

あなたの prod デプロイコマンドおよび prod API キーは、Squid Consoleで確認できます。コマンドを確認するには、Backend project セクションの Deploy backend ボタンをクリックしてください。

環境の選択

Console 内の環境

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

Environments in the console

開発中の環境

デフォルトでは、あなたの .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>

主要な環境変数

環境変数(「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 キーなどの機密情報がより安全に管理されます。

また、デプロイマシンまたはプロセス上で変数を設定することで、開発環境と本番環境の構成を明確に分離できます。

セキュリティ上の注意点

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

Console 内で envars を確認する

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

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