0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

タスク定義の環境変数をParameter Storeで管理する

Last updated at Posted at 2023-05-22

はじめに

ECS on Fargateの学習の為、サンプルアプリをデプロイしました。今回はタスク定義で設定している環境変数の値をParameter Storeで管理できるように設定していきます。

サンプルアプリの構成

Rails(コンテナ)、Vue(S3)、MySQL(RDS)、Nginx(コンテナ)
CI/CDパイプラインは使用せず、手動で各種設定、デプロイを行います。

やること

  1. Parameter Storeで環境変数を設定
  2. 新規のタスクロールを作成(Parameter Storeにアクセスできる)
  3. タスク定義の更新
  4. サービスの更新

現在のタスク定義の環境変数

タスク定義ではコンテナの環境変数が定義できます。DBに関する値をキーに直接値で設定しています。あまりセキュアとは言えません。※画像の値はフェイクです。

スクリーンショット 2023-05-22 16.45.30.png

Parameter Storeで環境変数を設定

今回は機密情報であるDB_USERNAME、DB_HOST、DB_PASSWORDを設定します。
コンソールから「Systems Manager > パラメータストア > パラメータを作成」の順に選択します。
画像では、DB_USERNAMEを設定しています。値には改行やスペースが入らないように気をつけてください。
スクリーンショット 2023-05-22 17.02.26.png

タスク実行ロールにParameter Storeにアクセスできるポリシーを追加

現時点のタスク実行ロール(ecsTaskExecutionRole)にはParameter Storeにアクセスするポリシーがありません。新しいロールを作成し、ecsTaskExecutionRoleで設定されてるポリシー(AmazonECSTaskExecutionRolePolicy)とParameter Storeにアクセスできるポリシーを追加します。

Parameter Storeにアクセスできるポリシーを作成

「ポリシーを作成」を選択してください。
1.サービスを選択
Systems Managerを検索して選択します。
スクリーンショット 2023-05-22 17.34.11.png

2.アクション 許可
GetParametersを検索して選択します。 ※GetParameterではありません
スクリーンショット 2023-05-22 17.34.58.png

3.ARAの追加(青太文字)
使用するアカウントとリージョンを指定したら、ARNを設定します。(Parameter Storeのパラメータ名)
DB_USERNAME、DB_HOST、DB_PASSWORDの3つのARNを追加しました。
スクリーンショット 2023-05-22 17.48.17.png

4.名前
今回は「ecs-systems-manager-policy」に命名しました。これでポリシーは完成です。

ロールの作成

「ロールを作成」を選択してください

  1. ユースケース
    「他の AWS のサービスのユースケース:」から「Elastic Container Service」検索して「Elastic Container Service Task」を選択します。
    スクリーンショット 2023-05-22 18.17.18.png

2.許可を追加
作成したポリシーとAmazonECSTaskExecutionRolePolicyをポリシーを選択します。

3.名前
今回は「task-execution-role」に命名しました。これでロールは完成です。

タスク定義の更新

1.環境変数の修正
値のタイプを「valuefrom」、値をParameter Storで設定したパラメータに変更します。
スクリーンショット 2023-05-22 18.31.22.png

2.タスク実行ロールの変更
タスク実行ロールを作成したロールに変更します。これでタスク定義を更新しました。

サービスの更新

新しいリビジョンを選択します。これで作業は終了です。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?