AWS SSMパラメータストアとは
- AWS Simple System Managerのパラメータストアのこと
- 詳しくは以下を参照
準備
-
パラメータの定義
- AWSコンソールから設定する場合は [サービス] -> [EC2] -> [パラメータストア] -> [パラメータの作成]
-
IAMロールにSSMの権限を追加
- 管理ポリシーのAmazonSSMReadOnlyAccessをアタッチしておく
EC2インスタンスにIAMロールを割り当て
単純な実装例
sample.php
<?php
require 'vendor/autoload.php';
function getSsmParameters(array $names)
{
$config = [
'version' => '2014-11-06',
'region' => 'ap-northeast-1'
];
$client = new Aws\Ssm\SsmClient($config);
$result = $client->getParameters(
[
'Names' => $names,
'WithDecryption' => false
]
);
if ($result['InvalidParameters']) {
// 存在しない値
echo "InvalidParameters: " . implode(', ', $result['InvalidParameters']) . "\n";
}
if (!is_array($result['Parameters'])) {
return null;
}
$params = [];
foreach ($result['Parameters'] as $v) {
$name = $v['Name'];
$params[$name] = $v['Value'];
}
return $params;
}
$params = getSsmParameters(['hoge', 'fuga']);
var_dump($params);
$ php sample.php
InvalidParameters: fuga
array(1) {
["hoge"]=>
string(11) "hello,world"
}
参考: http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-ssm-2014-11-06.html#getparameters