環境
Squidは、お仕事用に2つの環境 – dev と prod – を提供します。
新しいアプリケーションを作成すると、Squidは自動的に dev
環境と prod
環境を設定します。開発やテストには dev
環境を使用してください。アプリケーションを本番稼働させる準備が整ったら、prod
環境を使用します。
dev と prod 間で共有されるもの | dev と prod 間で共有されないもの |
---|---|
App ID | Connectors |
Region | Secrets |
Organization | Built-in database |
Developer ID | Backend deployments |
API Keys |
環境とコネクタ
Squid Consoleでアプリの dev
バージョンと prod
バージョンを切り替えると、それぞれ異なるコネクタのセットがあることに気づくでしょう。本番アプリの機能に不要な変更が加わるのを防ぐため、dev
環境と prod
環境のコネクタは同期されません。Squidアプリにコネクタを追加する際は、追加先の環境が意図したものであることを確認してください。
開発用のコネクタの開発バージョンに対して、dev
環境を接続してください。これにより、本番バージョンのアプリケーションを変更することなく、機能の構築とテストが可能になります。
もし dev
と prod
の両方の環境で同じ connector ID を選択した場合、dev
環境で開発し、そのままコード内の変数を変更することなく prod
にプッシュすることができます。
dev 環境
dev
環境は、prod
環境のアプリケーションから独立した完全なバックエンドアプリケーションです。
dev バックエンドをローカルで実行する
Squid Consoleのアプリケーション概要ページからSquidバックエンドを初期化すると、dev
モードへの切り替えが求められます。
提示されたターミナルコマンドにより、新しいバックエンドが .env
ファイルと共に作成されます。このファイルには、バックエンドをローカルで実行するために必要な属性(SQUID_ENVIRONMENT_ID
を含む)が記述されています。この値により、バックエンドがどの環境で実行されるかが決定されます。
バックエンドのディレクトリで次のコマンドを実行し、ローカルでバックエンドを起動してください:
squid start
ローカルで実行中のバックエンドを使ってフロントエンドを動作させるには、フロントエンドの Squid Client SDK 設定にあなたの Squid Developer ID を含める必要があります:
<SquidContextProvider
options={{
appId: 'YOUR_APP_ID',
region: 'YOUR_REGION', // example: 'us-east-1.aws'
environmentId: 'dev',
squidDeveloperId: 'YOUR_SQUID_DEVELOPER_ID',
}}
>
<App />
</SquidContextProvider>
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で環境を切り替えるには、コンソール上部にある環境名を選択し、表示したい環境を選んでください。
開発中の環境
デフォルトでは、あなたの .env
ファイル内の environmentId
と apiKey
は dev
に設定されているため、これらのフラグなしでコマンドを実行すると、デフォルトで 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 ボタンをクリックすることもできます。