AWS Systems Manager のパラメータストアは、データベースの接続文字列やパスワードなどの設定情報をセキュアに保存して管理するためのサービスです。この記事では、ローカルの Python スクリプトを使ってパラメータストアに保存されている値を取得する方法を説明します。
1. 必要なライブラリをインストール
まず、AWS SDK for Python (Boto3) をインストールします。これをインストールするために、以下のコマンドを実行します。
pip install boto3
2. Python スクリプトを作成
以下のサンプルコードを使用して、パラメータストアから任意のパラメータ名で保存されている値を取得します。
import boto3
def get_parameter_from_store(param_name):
# Boto3 クライアントを初期化
ssm = boto3.client('ssm')
# パラメータを取得
response = ssm.get_parameter(
Name=param_name,
WithDecryption=True # 暗号化されている場合はデコード
)
# パラメータの値を返す
return response['Parameter']['Value']
if __name__ == "__main__":
param_name = input("Enter the parameter name: ")
param_value = get_parameter_from_store(param_name)
print(f"Value of '{param_name}': {param_value}")
3. AWS 認証情報を設定
ローカルマシンに ~/.aws/credentials
というファイルを作成し、以下の内容を追加します。これにより、Boto3 は自動的にこのファイルの認証情報を使用します。
[default]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
注意: 実際のアクセスキーとシークレットアクセスキーに置き換えてください。
4. Python スクリプトを実行
上記のスクリプトを保存し、ローカルマシンで実行します。スクリプトを実行すると、取得したいパラメータ名を入力するプロンプトが表示されるので、対応する名前を入力してください。これにより、指定したパラメータの値がコンソールに表示されます。
これで、AWS Systems Manager のパラメータストアからローカルの Python スクリプトで値を読み取る方法についての概要を把握することができました。