[小ネタ] AWS App Runner から Secrets Manager のシークレット値を直接参照する

Fargateと同じ記法でApp Runnerからも参照できました
2023.06.21

ども、大瀧です。

AWS App RunnerはGitHubリポジトリのコミットに連動した自動デプロイを備えつつマネージドのDockerコンテナ実行サービスです。 秘匿情報を管理するAWS Secret Managerや構成情報を管理するAWS Systems Managerパラメータストアから環境変数経由で動的に情報を取得できるのが便利なのですが、Secret Managerの通常の指定方法(ARN指定) ではシークレットに含まれる全ての値を含むJSON形式で取得することになるため、アプリケーションでJSONのパースが必要です。 そこで本記事ではJSONのパースが不要な、値を直接取得する方法をご紹介します。

値の指定方法

Fargateと同じく、ARNに文字列を付加する以下の形式で動作しました。

arn:aws:secretsmanager:<region>:<aws_account_id>:secret:<secret_name-AbCdEf>:<name>::

現時点でAWSドキュメントには記載されていないたため、動作が保証されるものではありません(書いてあるのを見つけたらSNSなどで教えてください)。 本番環境で利用する場合は、あらかじめAWSサポートに相談することを推奨します。

まとめ

App RunnerでSecret Managerのシークレットの値を直接参照する様子をご紹介しました。App Runnerをバシバシ使っていきましょう!