LoginSignup
9
6

More than 5 years have passed since last update.

PHPでAWS SSMパラメータストアの値を参照する

Last updated at Posted at 2017-10-03

AWS SSMパラメータストアとは

準備

  • パラメータの定義

    • 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

9
6
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
9
6