SDK メトリクスの承認を、でメトリクスの収集と送信をに許可するAWSSDK for PHP バージョン 3 - AWSSDK for PHP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SDK メトリクスの承認を、でメトリクスの収集と送信をに許可するAWSSDK for PHP バージョン 3

からメトリックスを収集するにはAWSSDKs の使用AWS SDK Metrics for Enterprise Supportエンタープライズのお客様は、CloudWatch エージェントに、Amazon EC2 インスタンスまたは本番稼働用環境からデータを収集するためのアクセス許可を付与する IAM ロールを作成する必要があります。

次の PHP コードサンプルまたはAWSコンソールを使用して、CloudWatch エージェントが環境の SDK メトリクスにアクセスするための IAM ポリシーおよびロールを作成します。

SDK メトリクスの使用方法についてはこちらを参照してください。AWSSDK for PHPSDK メトリクスをセットアップするAWSSDK for PHP バージョン 3。SDK メトリクスの詳細については、「」を参照してください。SDK メトリクスの IAM アクセス許可」を参照してください。

を使用してアクセス許可をセットアップするAWSSDK for PHP

Amazon EC2 Systems Manager および SDK メトリクスのアクセス許可を持つ、インスタンスの IAM ロールを作成します。

最初に、CreatePolicy を使用して管理ポリシーを作成します。次に CreateRole を使用してロールを作成します。最後に、AttachRolePolicy を使用して、作成したポリシーを新しいロールにアタッチします。

インポート

require 'vendor/autoload.php'; use Aws\Iam\IamClient; use Aws\Exception\AwsException;

サンプルコード

$client = new IamClient([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2010-05-08' ]); $roleName = 'AmazonCSM'; $description = 'An Instance role that has permission for Amazon EC2 Systems Manager and SDK Metric Monitoring.'; $AmazonCSMPolicy = '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sdkmetrics-beta:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameter" ], "Resource": "arn:aws:ssm:*:*:parameter/AmazonCSM*" } ] }'; $rolePolicy = '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }'; try { $iamPolicy = $client->createPolicy([ 'PolicyName' => $roleName . 'policy', 'PolicyDocument' => $AmazonCSMPolicy ]); if ($iamPolicy['@metadata']['statusCode'] == 200) { $policyArn = $iamPolicy['Policy']['Arn']; echo('<p> Your IAM Policy has been created. Arn - '); echo($policyArn); echo('<p>'); $role = $client->createRole([ 'RoleName' => $roleName, 'Description' => $description, 'AssumeRolePolicyDocument' => $rolePolicy, ]); echo('<p> Your IAM User Role has been created. Arn: '); echo($role['Role']['Arn']); echo('<p>'); if ($role['@metadata']['statusCode'] == 200) { $result = $client->attachRolePolicy([ 'PolicyArn' => $policyArn, 'RoleName' => $roleName, ]); var_dump($result) } else { echo('<p> There was an error creating your IAM User Role </p>'); var_dump($role); } } else { echo('<p> There was an error creating your IAM Policy </p>'); var_dump($iamPolicy); } } catch (AwsException $e) { // output error message if fails echo $e; error_log($e->getMessage()); }

IAM コンソールを使用してアクセス許可をセットアップする

または、IAM コンソールを使用してロールを作成することもできます。

  1. に移動します。IAM コンソールをクリックし、Amazon EC2 を使用するロールを作成します。

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. [Create Role (ロールの作成)] を選択します。

  4. 選択AWSサービス[] を選択してから、[EC2

  5. [Next: (次へ:)] を選択します アクセス許可.

  6. [アクセス権限ポリシーをアタッチする] で、[ポリシーの作成] を選択します。

  7. [サービス] で、[Systems Manager] を選択します。[アクション] で、[Read] を展開し、[GetParameters] を選択します。リソースとして、CloudWatch エージェントを指定します。

  8. その他のアクセス許可を追加します。

  9. [Choose a service (サービスの選択)]、[Enter service manually (サービスを手動で入力)] の順に選択します。[サービス] に「sdkmetrics」と入力します。すべての sdkmetrics アクションとすべてのリソースを選択し、[ポリシーの確認] を選択します。

  10. ロールAmazonSDKMetrics という名前を付けて、説明を追加します。

  11. [Create Role (ロールの作成)] を選択します。