11# develop環境(staging)Vercel環境変数 + Secrets Manager実値 設定手順
22
33` docs/20260831_1206_staging環境整備計画.md ` の手順6・「TopicAnalysisStackのデプロイ後にやること」手順1に対応する作業手順。
4- ` MiraiGikaiVercelOidcStack-dev ` / ` MiraiGikaiTopicAnalysisStack-dev ` は既にAWSアカウント` 826784631888 ` (` saga-koucho-dev ` )にデプロイ済みで、この手順はその出力値をVercel/Secrets Managerに反映する作業。
4+ ` MiraiGikaiVercelOidcStack-stg ` / ` MiraiGikaiTopicAnalysisStack-stg ` は既にAWSアカウント` 826784631888 ` (` saga-koucho-stg ` )にデプロイ済みで、この手順はその出力値をVercel/Secrets Managerに反映する作業。
55
66## 前提
77
8- - AWSアカウント` 826784631888 ` (プロファイル` saga-koucho-dev ` )への読み取りアクセス権があること
8+ - AWSアカウント` 826784631888 ` (プロファイル` saga-koucho-stg ` )への読み取りアクセス権があること
99- Vercelチーム` c4j ` の` saga-kocho-web ` / ` saga-kocho-admin ` プロジェクトの設定変更権限があること
1010- ` SUPABASE_SECRET_KEY ` / ` AI_GATEWAY_API_KEY ` などの実値を持っていること(1Password等、社内の秘密情報管理先を参照)
1111
@@ -20,8 +20,8 @@ develop環境(staging)には性質の異なる3種類の認証情報があ
2020| ③ AWS Secrets Manager | AWSアカウント` 826784631888 ` 内 | AWS Batchで動くworkerコンテナが起動時に読む、Supabase/AI Gatewayの認証情報 | ** 未設定(本手順の対象)** |
2121
2222①と②はどちらも「AWSにOIDCで認証する」という点で似ているが、** 別々のIAM Role** を使う点に注意:
23- - ①は` MiraiGikaiGitHubActionsDeployRole-dev ` (GitHub Actions用、` infra/aws-cdk ` のCDKデプロイ専用)
24- - ②は` MiraiGikaiVercelBedrockAccessRole-dev ` (Vercel用、Bedrock呼び出し+Batch SubmitJob専用)
23+ - ①は` MiraiGikaiGitHubActionsDeployRole-stg ` (GitHub Actions用、` infra/aws-cdk ` のCDKデプロイ専用)
24+ - ②は` MiraiGikaiVercelBedrockAccessRole-stg ` (Vercel用、Bedrock呼び出し+Batch SubmitJob専用)
2525
2626### ① GitHub Actions Environment Secrets(` staging ` 、現状・参考情報)
2727
@@ -33,7 +33,7 @@ gh api repos/codeforjapan/saga-broadlistening/environments/staging/secrets --jq
3333
3434| Secret名 | 用途 |
3535| ---| ---|
36- | ` AWS_CDK_DEPLOY_ROLE_ARN ` | CDK deploy/diff・worker ECR pushのOIDC認証(` MiraiGikaiGitHubActionsDeployRole-dev ` ) |
36+ | ` AWS_CDK_DEPLOY_ROLE_ARN ` | CDK deploy/diff・worker ECR pushのOIDC認証(` MiraiGikaiGitHubActionsDeployRole-stg ` ) |
3737| ` SUPABASE_ACCESS_TOKEN ` / ` SUPABASE_PROJECT_REF ` / ` SUPABASE_DB_PASSWORD ` | ` supabase link ` / ` db push ` |
3838| ` SUPABASE_AUTH_EXTERNAL_GOOGLE_CLIENT_ID ` / ` SUPABASE_AUTH_EXTERNAL_GOOGLE_SECRET ` / ` ADMIN_AUTH_CALLBACK_URL ` | ` supabase config push ` (Google OAuth設定) |
3939| ` WEB_VERCEL_DEPLOY_HOOK_URL ` / ` ADMIN_VERCEL_DEPLOY_HOOK_URL ` | DB migrate完了後にVercelデプロイを起動するDeploy Hook |
@@ -46,24 +46,24 @@ adminアプリ(`admin/src/lib/env.ts`)が実行時に読む変数。**webア
4646
4747| 環境変数名 | 取得元 |
4848| ---| ---|
49- | ` AWS_ROLE_ARN ` | ` MiraiGikaiVercelOidcStack-dev ` の出力` VercelBedrockAccessRoleArn ` |
49+ | ` AWS_ROLE_ARN ` | ` MiraiGikaiVercelOidcStack-stg ` の出力` VercelBedrockAccessRoleArn ` |
5050| ` AWS_REGION ` | ` ap-northeast-1 ` (固定値。未設定でもコード側のデフォルトで動くが明示推奨) |
51- | ` TOPIC_ANALYSIS_BATCH_JOB_QUEUE_ARN ` | ` MiraiGikaiTopicAnalysisStack-dev ` の出力` JobQueueArnOutput ` |
52- | ` TOPIC_ANALYSIS_BATCH_JOB_DEFINITION_ARN ` | ` MiraiGikaiTopicAnalysisStack-dev ` の出力` JobDefinitionArnOutput ` |
51+ | ` TOPIC_ANALYSIS_BATCH_JOB_QUEUE_ARN ` | ` MiraiGikaiTopicAnalysisStack-stg ` の出力` JobQueueArnOutput ` |
52+ | ` TOPIC_ANALYSIS_BATCH_JOB_DEFINITION_ARN ` | ` MiraiGikaiTopicAnalysisStack-stg ` の出力` JobDefinitionArnOutput ` |
5353
5454### 2.2 実際の値を取得する
5555
5656``` bash
57- aws sso login --profile saga-koucho-dev
57+ aws sso login --profile saga-koucho-stg
5858
5959aws cloudformation describe-stacks \
60- --stack-name MiraiGikaiVercelOidcStack-dev \
61- --profile saga-koucho-dev --region ap-northeast-1 \
60+ --stack-name MiraiGikaiVercelOidcStack-stg \
61+ --profile saga-koucho-stg --region ap-northeast-1 \
6262 --query " Stacks[0].Outputs"
6363
6464aws cloudformation describe-stacks \
65- --stack-name MiraiGikaiTopicAnalysisStack-dev \
66- --profile saga-koucho-dev --region ap-northeast-1 \
65+ --stack-name MiraiGikaiTopicAnalysisStack-stg \
66+ --profile saga-koucho-stg --region ap-northeast-1 \
6767 --query " Stacks[0].Outputs"
6868```
6969
@@ -75,7 +75,7 @@ aws cloudformation describe-stacks \
7575
7676### 2.4 注意(重要・セキュリティ)
7777
78- Vercelの` Preview ` 環境変数は、branchを絞らない限り** developブランチだけでなく、任意のfeatureブランチのプレビューデプロイにも適用される** 。つまり何も絞らずに設定すると、develop以外のPRプレビューからも` MiraiGikaiVercelBedrockAccessRole-dev ` (Bedrock呼び出し+Batch SubmitJob権限)にアクセスできてしまう。
78+ Vercelの` Preview ` 環境変数は、branchを絞らない限り** developブランチだけでなく、任意のfeatureブランチのプレビューデプロイにも適用される** 。つまり何も絞らずに設定すると、develop以外のPRプレビューからも` MiraiGikaiVercelBedrockAccessRole-stg ` (Bedrock呼び出し+Batch SubmitJob権限)にアクセスできてしまう。
7979
8080- Vercelのプラン・設定で「特定ブランチのみに適用するPreview環境変数」(Preview Branchesの指定)が可能な場合は、** ` develop ` ブランチに限定** して設定すること
8181- 絞り込みができない場合は、リスクを許容範囲と判断できるか(本リポジトリはfork PRを` if: github.event.pull_request.head.repo.full_name == github.repository ` で弾いているため、外部フォークからの悪用は防げるが、社内の他featureブランチのプレビューからはアクセスできてしまう点は変わらない)を確認してから設定する
@@ -84,66 +84,66 @@ Vercelの`Preview`環境変数は、branchを絞らない限り**developブラ
8484
85851 . ` develop ` へpush → ` Migrate DB then Deploy ` ワークフロー経由でVercelデプロイが起動することを確認
86862 . developのプレビューURLでadminにログインし、トピック分析のBatch起動機能(` admin/src/lib/topic-analysis-batch.ts ` を使う画面)を実行
87- 3 . AWS Batchのjob queue(` mirai-gikai-topic-analysis-dev ` )にjobが積まれることを確認:
87+ 3 . AWS Batchのjob queue(` mirai-gikai-topic-analysis-stg ` )にjobが積まれることを確認:
8888 ``` bash
89- aws batch list-jobs --job-queue mirai-gikai-topic-analysis-dev \
90- --profile saga-koucho-dev --region ap-northeast-1
89+ aws batch list-jobs --job-queue mirai-gikai-topic-analysis-stg \
90+ --profile saga-koucho-stg --region ap-northeast-1
9191 ```
9292
93- ## 3. Secrets Manager実値の投入(devのworker用 )
93+ ## 3. Secrets Manager実値の投入(stgのworker用 )
9494
9595### 3.1 対象キー
9696
9797CDKは空のSecretだけを作成しており(` infra/aws-cdk/lib/stacks/topic-analysis-stack.ts ` )、実値は別途投入する必要がある。worker本体(` worker/src/main.ts ` )が起動時に必須envとして要求する3つ。
9898
9999| Secret ID | 値 |
100100| ---| ---|
101- | ` mirai-gikai-topic-analysis-worker-dev /SUPABASE_URL ` | dev用SupabaseプロジェクトのURL |
102- | ` mirai-gikai-topic-analysis-worker-dev /SUPABASE_SECRET_KEY ` | dev用SupabaseのService Role Key |
103- | ` mirai-gikai-topic-analysis-worker-dev /AI_GATEWAY_API_KEY ` | Vercel AI GatewayのAPIキー |
101+ | ` mirai-gikai-topic-analysis-worker-stg /SUPABASE_URL ` | stg用SupabaseプロジェクトのURL |
102+ | ` mirai-gikai-topic-analysis-worker-stg /SUPABASE_SECRET_KEY ` | stg用SupabaseのService Role Key |
103+ | ` mirai-gikai-topic-analysis-worker-stg /AI_GATEWAY_API_KEY ` | Vercel AI GatewayのAPIキー |
104104
105105### 3.2 投入コマンド
106106
107107値は対話入力させ、シェル履歴に残さない。
108108
109109``` bash
110110aws secretsmanager put-secret-value \
111- --secret-id mirai-gikai-topic-analysis-worker-dev /SUPABASE_URL \
112- --secret-string " <値>" --profile saga-koucho-dev --region ap-northeast-1
111+ --secret-id mirai-gikai-topic-analysis-worker-stg /SUPABASE_URL \
112+ --secret-string " <値>" --profile saga-koucho-stg --region ap-northeast-1
113113
114114aws secretsmanager put-secret-value \
115- --secret-id mirai-gikai-topic-analysis-worker-dev /SUPABASE_SECRET_KEY \
116- --secret-string " <値>" --profile saga-koucho-dev --region ap-northeast-1
115+ --secret-id mirai-gikai-topic-analysis-worker-stg /SUPABASE_SECRET_KEY \
116+ --secret-string " <値>" --profile saga-koucho-stg --region ap-northeast-1
117117
118118aws secretsmanager put-secret-value \
119- --secret-id mirai-gikai-topic-analysis-worker-dev /AI_GATEWAY_API_KEY \
120- --secret-string " <値>" --profile saga-koucho-dev --region ap-northeast-1
119+ --secret-id mirai-gikai-topic-analysis-worker-stg /AI_GATEWAY_API_KEY \
120+ --secret-string " <値>" --profile saga-koucho-stg --region ap-northeast-1
121121```
122122
123123### 3.3 workerイメージのpush(初回のみ手動、以降は自動)
124124
125125` :latest ` タグが無いとBatch Job Definitionの起動が失敗する。PR #109 で` deploy_worker_ecs_dev.yml ` が追加されたため、** develop側は次回` worker/ ` 配下の変更がdevelopにマージされた時点で自動push** される。それより前に動作確認したい場合のみ手動push:
126126
127127``` bash
128- aws ecr get-login-password --region ap-northeast-1 --profile saga-koucho-dev | \
128+ aws ecr get-login-password --region ap-northeast-1 --profile saga-koucho-stg | \
129129 docker login --username AWS --password-stdin 826784631888.dkr.ecr.ap-northeast-1.amazonaws.com
130130docker build --platform linux/amd64 -f worker/Dockerfile \
131- -t 826784631888.dkr.ecr.ap-northeast-1.amazonaws.com/mirai-gikai-topic-analysis-worker-dev :latest .
132- docker push 826784631888.dkr.ecr.ap-northeast-1.amazonaws.com/mirai-gikai-topic-analysis-worker-dev :latest
131+ -t 826784631888.dkr.ecr.ap-northeast-1.amazonaws.com/mirai-gikai-topic-analysis-worker-stg :latest .
132+ docker push 826784631888.dkr.ecr.ap-northeast-1.amazonaws.com/mirai-gikai-topic-analysis-worker-stg :latest
133133```
134134
135135### 3.4 動作確認(手動でBatchジョブを実行)
136136
137137``` bash
138138aws batch submit-job \
139139 --job-name manual-test \
140- --job-queue mirai-gikai-topic-analysis-dev \
141- --job-definition mirai-gikai-topic-analysis-worker-dev \
140+ --job-queue mirai-gikai-topic-analysis-stg \
141+ --job-definition mirai-gikai-topic-analysis-worker-stg \
142142 --container-overrides command=--mode=analyze-all \
143- --profile saga-koucho-dev --region ap-northeast-1
143+ --profile saga-koucho-stg --region ap-northeast-1
144144
145- aws logs tail /mirai-gikai/topic-analysis-worker-dev --follow \
146- --profile saga-koucho-dev --region ap-northeast-1
145+ aws logs tail /mirai-gikai/topic-analysis-worker-stg --follow \
146+ --profile saga-koucho-stg --region ap-northeast-1
147147```
148148
149149## 4. 未対応(本手順の対象外)
0 commit comments