AWS Secrets Manager へのシークレットの格納
AWS CLI を使用して、AWS Secrets Manager にシークレットを作成することから始めましょう。ユーザー名とパスワードの値を含む JSON エンコードされた認証情報を含むシークレットを作成します:
~$export SECRET_SUFFIX=$(openssl rand -hex 4)
~$export SECRET_NAME="$EKS_CLUSTER_NAME-catalog-secret-${SECRET_SUFFIX}"
~$aws secretsmanager create-secret --name "$SECRET_NAME" \
--secret-string '{"username":"catalog", "password":"dYmNfWV4uEvTzoFu"}' --region $AWS_REGION
{"ARN": "arn:aws:secretsmanager:us-west-2:1234567890:secret:eks-workshop-catalog-secret-WDD8yS",
"Name": "eks-workshop-catalog-secret-WDD8yS",
"VersionId": "7e0b352d-6666-4444-aaaa-cec1f1d2df1b"
}
注記
アカウント内の既存のシークレットと競合しないように、openssl を使用してシークレット名に一意のサフィックスを生成しています。
シークレットが正常に作成されたことを、AWS Secrets Manager コンソール または AWS CLI を使用して確認できます。CLI を使用してシークレットのメタデータを調べてみましょう:
~$aws secretsmanager describe-secret --secret-id "$SECRET_NAME"
{"ARN": "arn:aws:secretsmanager:us-west-2:1234567890:secret:eks-workshop-catalog-secret-WDD8yS",
"Name": "eks-workshop-catalog-secret-WDD8yS",
"LastChangedDate": "2023-10-10T20:44:51.882000+00:00",
"VersionIdsToStages": {"94d1fe43-87f5-42fb-bf28-f6b090f0ca44": [
"AWSCURRENT"
]
},
"CreatedDate": "2023-10-10T20:44:51.439000+00:00"
}
AWS Secrets Manager にシークレットを正常に作成したので、次のセクションでこれを Kubernetes アプリケーションで使用します。