PHPでSSMパラメータストアを読み書きする
DynamoDBやS3を使うより手軽にシステムパラメータを管理することができます。
このSSMパラメータストアをAWS SDKを使って読み書きしてみます。
SDKのリファレンスはこちら。
ComposerでSDKをインストールします。
>composer require aws/aws-sdk-php
インストールしたフォルダにindex.phpを作成します。
<?php require 'vendor/autoload.php'; use Aws\Ssm\SsmClient; use Aws\Ssm\Exception\SsmException; $access_key = '********************'; $secret_access_key = '*******************************'; $client = new SsmClient([ 'credentials' => [ 'key' => $access_key, 'secret' => $secret_access_key, ], 'region' => 'ap-northeast-1', 'version' => '2014-11-06', ]); $key = ""; $value = ""; if(!empty($_POST)){ // get parameter if(isset($_POST['get'])){ $key = $_POST['key']; try { $result = $client->getParameter([ 'Name' => $key, 'WithDecryption' => false, ]); $value = $result['Parameter']['Value']; } catch (SsmException $e) { echo $e->getMessage(); } // put parameter }elseif(isset($_POST['put'])){ $key = $_POST['key']; $value = $_POST['value']; try { $result = $client->putParameter([ 'Name' => $key, 'Overwrite' => true, 'Tier' => 'Standard', 'Type' => 'String', 'Value' => $value, ]); } catch (SsmException $e) { echo $e->getMessage(); } } } ?> <html> <body> <form method="post"> <p><input name="key" type="text" value="<?= $key ?>" placeholder="key"/></p> <p><textarea rows="5" cols="100" name="value" placeholder="value"><?= $value ?></textarea></p> <input name="get" type="submit" value="get parameter"/> <input name="put" type="submit" value="put parameter"/> </form> </body> </html>アクセスキーとシークレットアクセスキーには、SSMへのアクセス権をもったクレデンシャルを設定しましょう。
実行するとこんな感じでパラメータの読み書きができます。
ディスカッション
コメント一覧
まだ、コメントがありません