

• AWS Systems Manager CloudWatch ダッシュボードは、2026 年 4 月 30 日以降は利用できなくなります。お客様は、これまでと同様に Amazon CloudWatch コンソールを使用して、Amazon CloudWatch ダッシュボードの表示、作成、管理を継続できます。詳細については、「[Amazon CloudWatch ダッシュボードのドキュメント](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)」を参照してください。

# AWS Systems Manager アプリケーションツール
<a name="systems-manager-application-management"></a>

アプリケーションツールは、AWS で実行されているアプリケーションの管理に役立つ一連の機能です。

**Topics**
+ [AWS AppConfig](appconfig.md)
+ [AWS Systems Manager Application Manager](application-manager.md)
+ [AWS Systems Manager Parameter Store](systems-manager-parameter-store.md)

# AWS AppConfig
<a name="appconfig"></a>

AWS AppConfig に関する情報は、別のガイドに移動しました。詳細については次を参照してください:
+ [AWS AppConfig ユーザーガイド](https://docs.aws.amazon.com/appconfig/latest/userguide/what-is-appconfig.html)
+ [AWS AppConfig API リファレンス](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/Welcome.html)

# AWS Systems Manager Application Manager
<a name="application-manager"></a>

AWS Systems Manager のツールである Application Manager は、DevOps エンジニアがアプリケーションとクラスターのコンテキストで AWS リソースに関する問題を調査および修復するのに役立ちます。Application Manager は、複数の AWS のサービスと Systems Manager のツールのオペレーション情報を単一の AWS マネジメントコンソールに集約します。

Application Manager では、*アプリケーション*はユニットとして動作する AWS リソースの論理グループです。この論理グループは、アプリケーションのさまざまなバージョン、オペレーターの所有権の境界、またはデベロッパー環境などを表すことができます。Application Manager コンテナクラスターのサポートには、Amazon Elastic Kubernetes Service (Amazon EKS) クラスターと Amazon Elastic Container Service (Amazon ECS) クラスターの両方が含まれます。

Application Manager を初めて開くと、**「What Application Manager can do for you**」ページが表示されます。**[開始方法]** を選択すると、Application Manager は、他の AWS のサービス または Systems Manager ツールで作成されたリソースに関するメタデータを自動的にインポートします。Application Manager は、これらのリソースを事前定義されたカテゴリ別にグループ化されたリストに表示します。

**アプリケーション**の場合、リストには次のものが含まれます。
+ AWS CloudFormation スタック
+ カスタムアプリケーション
+ AWS Launch Wizard アプリケーション
+ AppRegistry アプリケーション
+ AWS SAP Enterprise ワークロードアプリケーション
+ Amazon ECS クラスター
+ Amazon EKS クラスター

AWS のサービスおよび Systems Manager のツールを[セットアップ](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-getting-started-related-services.html)して設定すると、Application Manager はリソースに関する次の種類の情報を表示します。
+ アプリケーション内の Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの現在の状態、ステータス、Amazon EC2 Auto Scaling の正常性に関する情報
+ Amazon CloudWatch によって提供されるアラーム
+ AWS Config および State Manager (Systems Manager のコンポーネント) によってもたらされるコンプライアンス情報
+ Amazon EKS によってもたらされる Kubernetes クラスター情報
+ AWS CloudTrail および Amazon CloudWatch Logs によってもたらされるログデータ
+ Systems Manager OpsCenterによってもたらされる OpsItems
+ リソースをホストする AWS のサービスによって提供されるリソースの詳細。
+ Amazon ECS によってもたらされるコンテナクラスター情報。

コンポーネントまたはリソースに関する問題の修復を支援するために、Application Manager はアプリケーションに関連付けられるランブックも提供します。Application Manager の使用を開始するには、[Systems Manager コンソール](https://console.aws.amazon.com//systems-manager/appmanager)を開きます。ナビゲーションペインで、**[Application Manager]** を選択します。

## Application Manager を使用することの利点は何ですか。
<a name="application-manager-learn-more-benefits"></a>

Application Manager を使用すると、DevOps エンジニアが AWS リソースに関する問題を検出して調査する時間を短縮できます。これを行うため、Application Managerでは 1 つのコンソールにアプリケーションのコンテキストで多くのタイプのオペレーション情報が表示されます。また、Application Manager により AWS リソースで一般的な修復タスクを実行するランブックが提供されることで、問題の修復にかかる時間を短縮できます。

## Application Manager の特徴は何ですか?
<a name="application-manager-learn-more-features"></a>

Application Manager には、以下の特徴があります。
+ **AWS リソースを自動的にインポート**

  初期セットアップ時に、CloudFormation スタック、AWS Resource Groups、Launch Wizard デプロイ、AppRegistry アプリケーション、Amazon ECS および Amazon EKS クラスターに基づくリソースを、Application Manager が AWS アカウント に自動的にインポートして表示するように選択できます。このシステムにより、これらのリソースは、定義済みのアプリケーションまたはクラスターカテゴリに表示されます。その後、これらのタイプの新しいリソースが AWS アカウント に追加されるたびに、Application Manager では、事前定義されたアプリケーションとクラスターカテゴリに新しいリソースが自動的に表示されます。
+ **CloudFormation スタックとテンプレートの作成および編集**

  Application Manager は、[CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) と統合することで、アプリケーションのリソースのプロビジョニングと管理を支援します。CloudFormation テンプレートとスタックは、Application Manager で作成、編集、削除できます。Application Manager には、テンプレートのクローン、作成、および格納が可能なテンプレートライブラリも含まれています。Application Manager と CloudFormation には、スタックの現在のステータスに関する同じ情報が表示されます。テンプレートとテンプレートの更新は、スタックをプロビジョニングするまで Systems Manager に格納されます。このとき、変更内容は CloudFormation にも表示されます。
+ **アプリケーションの観点からインスタンスに関する情報を表示する**

  Application Manager は Amazon Elastic Compute Cloud (Amazon EC2) と統合しており、アプリケーションの観点からインスタンスに関する情報を表示することができます。 Application Manager は、選択したアプリケーションのインスタンスの状態、ステータス、および Amazon EC2 Auto Scaling の正常性を、グラフィカルな形式で表示します。**[Instances]** (インスタンス) タブには、アプリケーション内の各インスタンスに関する以下の情報を示すための表も含まれています。
  + インスタンスの状態 (保留中、停止中、実行中、停止済み)
  + SSM Agent の ping ステータス
  + インスタンス上で最後に処理された、Systems Manager Automation ランブックのステータスと名前
  + 状態ごとの Amazon CloudWatch Logs アラームの数。
    + `ALARM` – メトリクスまたは式が、定義されているしきい値を超えています。
    + `OK` – メトリクスや式は、定義されているしきい値の範囲内です。
    + `INSUFFICIENT_DATA` – アラームが開始直後であるか、メトリクスが利用できないか、メトリクス用のデータが不足しているため、アラームの状態を判定できません。
  + 親および個別の Auto Scaling グループに関する正常性
+ **アプリケーションまたはクラスターのオペレーションメトリクスおよびアラームの表示**

  Application Manager は [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) と統合され、アプリケーションまたはクラスターのリアルタイムオペレーションメトリクスとアラームを提供します。アプリケーションツリーにドリルダウンして、各コンポーネントレベルのアラームを表示したり、個々のクラスターのアラームを表示したりできます。
+ **アプリケーションのログデータの表示**

  Application Manager は [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) と統合され、Systems Manager を離れることなく、アプリケーションのコンテキストでログデータが提供されます。
+ **アプリケーションまたはクラスター用の OpsItems の表示と管理** 

  Application Manager は、[AWS Systems Manager OpsCenter](OpsCenter.md) と統合して、アプリケーションとクラスターの運用作業項目 (OpsItems) のリストを提供します。リストには、自動的に生成され、手動で作成された OpsItems が反映されます。OpsItem を作成したリソースの詳細のほか、OpsItem のステータス、ソース、重要度を表示できます。
+ **アプリケーションまたはクラスターのリソースのコンプライアンスデータの表示** 

  Application Manager は、[AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/WhatIsConfig.html) と統合して、指定したルールに従い、AWS リソースに関するコンプライアンスと履歴の詳細を提供します。Application Manager もまた、[AWS Systems Manager State Manager](systems-manager-state.md) と統合して、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで維持する状態に関するコンプライアンス情報を提供します。
+ **Amazon ECS および Amazon EKS クラスターインフラストラクチャ情報の表示**

  Application Manager は [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) および [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) と統合して、クラスターのインフラストラクチャの正常性に関する情報と、クラスター内のコンピューティング、ネットワーキング、およびストレージリソースのコンポーネントランタイムビューを提供します。

  ただし、Application Manager では、Amazon EKS ポッドまたはコンテナに関するオペレーション情報を管理または表示することはできません。管理および表示できるのは、Amazon EKS リソースをホストしているインフラストラクチャに関するオペレーション情報のみです。
+ **アプリケーションのリソースコストの詳細の表示**

  Application Manager は、**[Cost]** (コスト) ウィジェットによって、AWS Billing and Cost Management の機能である AWS Cost Explorer と統合されています。請求およびコストマネジメントコンソールで Cost Explorer を有効にした後、Application Manager の **[Cost]** (コスト) ウィジェットに、特定の非コンテナアプリケーションまたはアプリケーションコンポーネントのコストデータが表示されます。ウィジェットでフィルターを使用して、棒グラフまたは折れ線グラフで、異なる期間、粒度、およびコストタイプに基づいてコストデータを表示できます。
+ **リソースの詳細情報を 1 つのコンソールで表示**

  Application Manager に表示されているリソース名を選択すると、Systems Manager を離れることなくそのリソースに関するコンテキスト情報とオペレーション情報を表示できます。
+ **アプリケーションのリソース更新の自動受信 ** 

  サービスコンソールでリソースに変更を加え、そのリソースが Application Manager のアプリケーションの一部である場合、Systems Manager はそれらの変更を自動的に表示します。たとえば、CloudFormation コンソールでスタックを更新し、そのスタックが Application Manager アプリケーションの一部である場合、スタックの更新は自動的に Application Manager に反映されます。
+ **Launch Wizard アプリケーションの自動検出**

  Application Manager は [AWS Launch Wizard](https://docs.aws.amazon.com/launchwizard/?id=docs_gateway) と統合されています。Launch Wizard を使用してアプリケーションのリソースを配置した場合、Application Manager では「Launch Wizard」セクションにリソースを自動的にインポートして表示できます。
+ **CloudWatch Application Insights を使用した Application Manager でのアプリケーションリソースの監視**

  Application Manager は、Amazon CloudWatch Application Insights と統合できます。Application Insights は、アプリケーションリソースとテクノロジースタック全体の主要なメトリクス、ログ、アラームを識別して設定します。また、メトリクスとログを継続的にモニタリングし、異常やエラーを検出して相互に関連付けます。エラーや異常が検出されると、Application Insights は CloudWatch Events を生成します。これを使用すると、通知を設定したり、アクションを実行したりできます。Application Insights は、Application Manager の [**Overview** (概要)] と [**Monitoring** (モニタリング)] タブで有効にして表示できます。Application Insights の詳細については、*Amazon CloudWatch ユーザーガイド*で「[Amazon CloudWatch Application Insights とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html)」を参照してください。
+ **ランブックに関する問題を修復** 

  Application Manager には、AWS リソースの一般的な問題を修正するための事前定義された Systems Manager ランブックが含まれています。Application Manager を終了しなくても、アプリケーション内で対象となるすべてのリソースに対してランブックを実行できます。

## Application Manager の使用料金はかかりますか?
<a name="application-manager-learn-more-cost"></a>

Application Manager は追加料金なしでご利用いただけます。

## Application Manager のリソースクォータについて説明します。
<a name="application-manager-learn-more-quotas"></a>

すべての Systems Manager ツールのクォータは、「*Amazon Web Services 全般のリファレンス*」の「[Systems Manager Service Quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)」で確認できます。特に明記されていない限り、クォータはリージョンごとに存在します。

**Topics**
+ [Application Manager を使用することの利点は何ですか。](#application-manager-learn-more-benefits)
+ [Application Manager の特徴は何ですか?](#application-manager-learn-more-features)
+ [Application Manager の使用料金はかかりますか?](#application-manager-learn-more-cost)
+ [Application Manager のリソースクォータについて説明します。](#application-manager-learn-more-quotas)
+ [関連サービスのセットアップ](application-manager-getting-started-related-services.md)
+ [Systems Manager Application Manager のアクセス許可を設定する](application-manager-getting-started-permissions.md)
+ [Application Manager へのアプリケーションとコンテナクラスターの追加](application-manager-getting-started-adding-applications.md)
+ [アプリケーションの使用](application-manager-working-applications.md)

# 関連サービスのセットアップ
<a name="application-manager-getting-started-related-services"></a>

AWS Systems Manager のツールである Application Manager は、他の AWS のサービスおよび Systems Manager ツールのリソースと情報を表示します。Application Manager に表示されるオペレーション情報の量を最大化するには、Application Manager を使用する*前*に、これら他のサービスやツールをセットアップおよび設定することが推奨されます。

**Topics**
+ [リソースをインポートするためのタスクのセットアップ](#application-manager-getting-started-related-services-resources)
+ [リソースに関するオペレーション情報を表示するタスクのセットアップ](#application-manager-getting-started-related-services-information)

## リソースをインポートするためのタスクのセットアップ
<a name="application-manager-getting-started-related-services-resources"></a>

次のセットアップタスクは、Application Manager で AWS リソースを表示するのに役立ちます。これらのタスクがそれぞれ完了すると、Systems Manager はリソースを自動的に Application Manager にインポートできます。リソースのインポート後、Application Manager でアプリケーションを作成し、インポートしたリソースをそのアプリケーションに移動できます。これは、アプリケーションのコンテキストでオペレーション情報を表示するのに役立ちます。

**(オプション) タグを使用して AWS リソースを整理する**  
AWS のリソースにメタデータをタグ形式で割り当てることができます。各タグは、ユーザー定義のキーと値で構成されるラベルです。タグは、リソースの管理、識別、整理、検索、フィルタリングに役立ちます。タグを作成することで、リソースを目的、所有者、環境その他の基準別に分類できます。

**(オプション) [AWS](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html) を使用して AWS Resource Groups リソースを整理する**  
AWS リソースを整理するには、リソースグループを使用します。リソースグループを使用すると、リソース上の多くのタスクを一度に管理、モニタリング、および自動化しやすくなります。  
Application Manager は、すべてのリソースグループを自動的にインポートし、**カスタムアプリケーション**カテゴリに表示します。

**(オプション) [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) を使用して AWS CloudFormation リソースをセットアップおよびデプロイする**  
CloudFormation は、計画に従い、繰り返し AWS インフラストラクチャデプロイを作成し、プロビジョニングします。Amazon EC2、Amazon Elastic Block Store (Amazon EBS)、Amazon Simple Notification Service (Amazon SNS)、Elastic Load Balancing、AWS Auto Scaling などの AWS のサービスの利用に役立ちます。CloudFormation を使用すると、基盤となる AWS インフラストラクチャを作成したり設定することなく、安定性と拡張性に優れ、費用効率の高いアプリケーションを構築できます。  
Application Manager は、すべての CloudFormation リソースを自動的にインポートし、**CloudFormation スタック** カテゴリに表示します。Application Manager で CloudFormation のスタックとテンプレートを作成できます。スタックとテンプレートの変更は、Application Manager と CloudFormation 間で自動的に同期されます。Application Manager でアプリケーションを作成し、スタックをそこに移動することもできます。これは、アプリケーションのコンテキストで、スタック内のリソースのオペレーション情報を表示するのに役立ちます。料金については、「[CloudFormation の料金](https://aws.amazon.com/cloudformation/pricing/)」を参照してください。

**(オプション) AWS Launch Wizard を使用してアプリケーションをセットアップおよびデプロイする**  
Launch Wizard では、個々の AWS リソースを手動で識別およびプロビジョニングすることなく、サードパーティーアプリケーションの AWS リソースのサイジング、設定、デプロイを行うプロセスを実行します。  
Application Manager では、Launch Wizard のすべてのリソースが自動的にインポートされ、**Launch Wizard** カテゴリに一覧表示されます。AWS Launch Wizard の詳細については、「[AWS Launch Wizard for SQL Server の開始方法](https://docs.aws.amazon.com/launchwizard/latest/userguide/launch-wizard-getting-started.html)」を参照してください。Launch Wizard は追加料金なしでご利用いただけます。ソリューションを実行するためプロビジョニングした AWS リソースに対してのみ料金が発生します。

**(オプション) [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/) および [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) を使用した、コンテナ化されたアプリケーションの設定とデプロイ**  
Amazon Elastic Container Service (Amazon ECS) は、クラスターでコンテナの実行、停止、管理を簡単に行うことのできる、高度にスケーラブルで高速なコンテナ管理サービスです。コンテナは、個々のタスクやサービス内のタスクを実行するために使用するタスク定義で定義されます。  
Amazon EKS は、独自の Kubernetes コントロールプレーンまたはノードをインストール、操作、維持することなく、AWS で Kubernetes を簡単に実行できるようにするマネージド型サービスです。Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するためのオープンソースシステムです。  
Application Manager では、Amazon ECS および Amazon EKS インフラストラクチャリソースがすべて自動的にインポートされ、[**コンテナクラスター**] タブに一覧表示されます。ただし、Application Manager では、Amazon EKS ポッドまたはコンテナに関するオペレーション情報を管理または表示することはできません。管理および表示できるのは、Amazon EKS リソースをホストしているインフラストラクチャに関するオペレーション情報のみです。料金情報については、「[Amazon ECS の料金](https://aws.amazon.com/ecs/pricing/)」および「[Amazon EKS の料金](https://aws.amazon.com/eks/pricing/)」を参照してください。

## リソースに関するオペレーション情報を表示するタスクのセットアップ
<a name="application-manager-getting-started-related-services-information"></a>

次のセットアップタスクは、Application Manager で AWS リソースに関するオペレーション情報を表示するのに役立ちます。

**(推奨) [ランブックのアクセス許可](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-setup.html)の確認**  
Systems Manager Automation ランブックを使用して、Application Manager から AWS リソースに関する問題を修復できます。この修復ツールを使用するには、アクセス許可を設定または確認する必要があります。料金に関する情報については、[[AWS Systems Manager の料金](https://aws.amazon.com/systems-manager/pricing/)]を参照してください。

**(オプション) [Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html) を有効にする**  
AWS Cost Explorer は、詳細な分析のためにコストデータを視覚化するために使用できる AWS Cost Management の機能です。Cost Explorer を有効にすると、アプリケーションのリソースのコスト情報、コスト履歴、コスト最適化を Application Manager コンソールに表示できます。

**(オプション) Amazon CloudWatch [Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_GettingStarted.html) と[アラーム](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/GettingStarted.html)のセットアップと設定**  
CloudWatch は、AWS、ハイブリッド、マルチクラウドのアプリケーションリソースとインフラストラクチャのリソースに関するデータ、および、実用的なインサイトを取得できるモニタリングと管理のサービスです。CloudWatch では、単一のプラットフォームを使用して、ログとメトリクスの形式で生成されたすべてのパフォーマンスとオペレーションのデータを収集し、アクセスできます。Application Manager でリソースの CloudWatch Logs とアラームを表示するには、CloudWatch をセットアップして設定する必要があります。料金の詳細については、「[CloudWatch の料金](https://aws.amazon.com/cloudwatch/pricing/)」を参照してください。  
CloudWatch Logs のサポートはアプリケーションのみを対象としており、クラスターは対象外です。

**(オプション) セットアップおよび設定 [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/getting-started.html)**  
AWS Config では、設定内容、相互の関連、時間の経過とともに設定と関係がどのように変化するかなど、AWS アカウント アカウントに関連付けられたリソースの詳細が提供されます。AWS Config を使用して AWS リソースの設定を評価できます。これを行うには、AWS Config ルールを作成して最適な設定内容を定義します。AWS Config はリソースで発生する設定変更を継続的に追跡し、これらの変更がルールの条件に違反していないかどうかを確認します。リソースがルール違反していると、AWS Config はリソースとルールに*非準拠*のフラグを付けます。Application Manager は、AWS Config ルールに関するコンプライアンス情報を表示します。Application Manager でこのデータを表示するには、AWS Config をセットアップおよび設定する必要があります。料金に関する情報については、[[AWS Config の料金](https://aws.amazon.com/config/pricing/)]を参照してください。

**(オプション) State Manager [関連付け](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html)**  
Systems Manager State Manager を使用して、マネージドノードに割り当てる設定を作成できます。*関連付け*と呼ばれるこの設定では、ノードで維持する状態を定義します。Application Manager で関連付けのコンプライアンスデータを表示するには、State Manager の関連付けを1 つ以上設定する必要があります。State Manager は追加料金なしで提供されます。

**(オプション) セットアップおよび設定 [https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html)**  
OpsCenter を使用して、Application Managerのリソースに関する運用作業項目 (OpsItems) を表示できます。アラームとイベントに基づいて OpsItems と OpsCenter を自動的に送信するように Amazon CloudWatch と Amazon EventBridge を設定できます。OpsItems を手動で入力することもできます。料金に関する情報については、[[AWS Systems Manager の料金](https://aws.amazon.com/systems-manager/pricing/)]を参照してください。

# Systems Manager Application Manager のアクセス許可を設定する
<a name="application-manager-getting-started-permissions"></a>

AWS Identity and Access Management (IAM) エンティティ (ユーザー、グループ、ロールなど) に、このトピックに一覧表示されている API オペレーションへのアクセス権がある場合は、AWS Systems Manager のツールである Application Manager のあらゆる機能を使用できます。API オペレーションは 2 つのテーブルに分割され、それらが実行するさまざまな機能を理解するのに役立ちます。

次の表に、リソースの詳細を表示するために Application Manager でリソースを選択した場合に Systems Manager によって呼び出される API オペレーションを示します。例えば、Application Manager で Amazon EC2 Auto Scaling グループを一覧表示し、そのグループの詳細を表示するように選択した場合、Systems Manager で `autoscaling:DescribeAutoScalingGroups` API オペレーションが呼び出されます。アカウントに Auto Scaling グループがない場合、この API オペレーションは Application Manager から呼び出されません。


****  

| リソースの詳細のみ | 
| --- | 
|  <pre>acm:DescribeCertificate <br />acm:ListTagsForCertificate<br />autoscaling:DescribeAutoScalingGroups <br />cloudfront:GetDistribution<br />cloudfront:ListTagsForResource <br />cloudtrail:DescribeTrails<br />cloudtrail:ListTags <br />cloudtrail:LookupEvents<br />codebuild:BatchGetProjects <br />codepipeline:GetPipeline<br />codepipeline:ListTagsForResource <br />dynamodb:DescribeTable<br />dynamodb:ListTagsOfResource <br />ec2:DescribeAddresses<br />ec2:DescribeCustomerGateways <br />ec2:DescribeHosts<br />ec2:DescribeInternetGateways <br />ec2:DescribeNetworkAcls<br />ec2:DescribeNetworkInterfaces <br />ec2:DescribeRouteTables<br />ec2:DescribeSecurityGroups <br />ec2:DescribeSubnets<br />ec2:DescribeVolumes <br />ec2:DescribeVpcs <br />ec2:DescribeVpnConnections<br />ec2:DescribeVpnGateways <br />elasticbeanstalk:DescribeApplications<br />elasticbeanstalk:ListTagsForResource<br />elasticloadbalancing:DescribeInstanceHealth<br />elasticloadbalancing:DescribeListeners<br />elasticloadbalancing:DescribeLoadBalancers<br />elasticloadbalancing:DescribeTags <br />iam:GetGroup <br />iam:GetPolicy<br />iam:GetRole <br />iam:GetUser <br />lambda:GetFunction<br />rds:DescribeDBClusters <br />rds:DescribeDBInstances<br />rds:DescribeDBSecurityGroups <br />rds:DescribeDBSnapshots<br />rds:DescribeDBSubnetGroups <br />rds:DescribeEventSubscriptions<br />rds:ListTagsForResource <br />redshift:DescribeClusterParameters<br />redshift:DescribeClusterSecurityGroups<br />redshift:DescribeClusterSnapshots<br />redshift:DescribeClusterSubnetGroups <br />redshift:DescribeClusters<br />s3:GetBucketTagging</pre>  | 

次の表に、Application Manager で表示されるアプリケーションおよびリソースを変更したり、選択したアプリケーションまたはリソースのオペレーション情報を表示するために Systems Manager が使用する API オペレーションを示します。


****  

| アプリケーションのアクションおよび詳細 | 
| --- | 
|  <pre><br />applicationinsights:CreateApplication<br />applicationinsights:DescribeApplication<br />applicationinsights:ListProblems<br />ce:GetCostAndUsage<br />ce:GetTags<br />ce:ListCostAllocationTags<br />ce:UpdateCostAllocationTagsStatus<br />cloudformation:CreateStack<br />cloudformation:DeleteStack<br />cloudformation:DescribeStackDriftDetectionStatus<br />cloudformation:DescribeStackEvents<br />cloudformation:DescribeStacks<br />cloudformation:DetectStackDrift<br />cloudformation:GetTemplate<br />cloudformation:GetTemplateSummary<br />cloudformation:ListStacks<br />cloudformation:UpdateStack<br />cloudwatch:DescribeAlarms<br />cloudwatch:DescribeInsightRules<br />cloudwatch:DisableAlarmActions<br />cloudwatch:EnableAlarmActions<br />cloudwatch:GetMetricData<br />cloudwatch:ListTagsForResource<br />cloudwatch:PutMetricAlarm<br />config:DescribeComplianceByConfigRule<br />config:DescribeComplianceByResource<br />config:DescribeConfigRules<br />config:DescribeRemediationConfigurations<br />config:GetComplianceDetailsByConfigRule<br />config:GetComplianceDetailsByResource<br />config:GetResourceConfigHistory<br />config:ListDiscoveredResources<br />config:PutRemediationConfigurations<br />config:SelectResourceConfig<br />config:StartConfigRulesEvaluation<br />config:StartRemediationExecution<br />ec2:DescribeInstances<br />ecs:DescribeCapacityProviders<br />ecs:DescribeClusters<br />ecs:DescribeContainerInstances<br />ecs:ListClusters<br />ecs:ListContainerInstances<br />ecs:TagResource<br />eks:DescribeCluster<br />eks:DescribeFargateProfile<br />eks:DescribeNodegroup<br />eks:ListClusters<br />eks:ListFargateProfiles<br />eks:ListNodegroups<br />eks:TagResource<br />iam:CreateServiceLinkedRole<br />iam:ListRoles<br />logs:DescribeLogGroups<br />resource-groups:CreateGroup<br />resource-groups:DeleteGroup<br />resource-groups:GetGroup<br />resource-groups:GetGroupQuery<br />resource-groups:GetTags<br />resource-groups:ListGroupResources<br />resource-groups:ListGroups<br />resource-groups:Tag<br />resource-groups:Untag<br />resource-groups:UpdateGroup<br />s3:ListAllMyBuckets<br />s3:ListBucket<br />s3:ListBucketVersions<br />servicecatalog:GetApplication<br />servicecatalog:ListApplications<br />sns:CreateTopic<br />sns:ListSubscriptionsByTopic<br />sns:ListTopics<br />sns:Subscribe<br />ssm:AddTagsToResource<br />ssm:CreateDocument<br />ssm:CreateOpsMetadata<br />ssm:DeleteDocument<br />ssm:DeleteOpsMetadata<br />ssm:DescribeAssociation<br />ssm:DescribeAutomationExecutions<br />ssm:DescribeDocument<br />ssm:DescribeDocumentPermission<br />ssm:GetDocument<br />ssm:GetInventory<br />ssm:GetOpsMetadata<br />ssm:GetOpsSummary<br />ssm:GetServiceSetting<br />ssm:ListAssociations<br />ssm:ListComplianceItems<br />ssm:ListDocuments<br />ssm:ListDocumentVersions<br />ssm:ListOpsMetadata<br />ssm:ListResourceComplianceSummaries<br />ssm:ListTagsForResource<br />ssm:ModifyDocumentPermission<br />ssm:RemoveTagsFromResource<br />ssm:StartAssociationsOnce<br />ssm:StartAutomationExecution<br />ssm:UpdateDocument<br />ssm:UpdateDocumentDefaultVersion<br />ssm:UpdateOpsItem<br />ssm:UpdateOpsMetadata<br />ssm:UpdateServiceSetting<br />tag:GetTagKeys<br />tag:GetTagValues<br />tag:TagResources<br />tag:UntagResources</pre>  | 

## すべての Application Manager 許可のポリシー例
<a name="application-manager-getting-started-user-permissions"></a>

IAM エンティティ (ユーザー、グループ、ロールなど) の Application Manager へのアクセス許可を設定するには、次の例を使用して IAM ポリシーを作成します。このポリシーの例には、Application Manager で使用されるすべての API オペレーションが含まれます。

------
#### [ JSON ]

****  

```
                    {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "acm:DescribeCertificate",
                "acm:ListTagsForCertificate",
                "applicationinsights:CreateApplication",
                "applicationinsights:DescribeApplication",
                "applicationinsights:ListProblems",
                "autoscaling:DescribeAutoScalingGroups",
                "ce:GetCostAndUsage",
                "ce:GetTags",
                "ce:ListCostAllocationTags",
                "ce:UpdateCostAllocationTagsStatus",
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStackDriftDetectionStatus",
                "cloudformation:DescribeStackEvents",
                "cloudformation:DescribeStacks",
                "cloudformation:DetectStackDrift",
                "cloudformation:GetTemplate",
                "cloudformation:GetTemplateSummary",
                "cloudformation:ListStacks",
                "cloudformation:ListStackResources",
                "cloudformation:UpdateStack",
                "cloudfront:GetDistribution",
                "cloudfront:ListTagsForResource",
                "cloudtrail:DescribeTrails",
                "cloudtrail:ListTags",
                "cloudtrail:LookupEvents",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeInsightRules",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "cloudwatch:GetMetricData",
                "cloudwatch:ListTagsForResource",
                "cloudwatch:PutMetricAlarm",
                "codebuild:BatchGetProjects",
                "codepipeline:GetPipeline",
                "codepipeline:ListTagsForResource",
                "config:DescribeComplianceByConfigRule",
                "config:DescribeComplianceByResource",
                "config:DescribeConfigRules",
                "config:DescribeRemediationConfigurations",
                "config:GetComplianceDetailsByConfigRule",
                "config:GetComplianceDetailsByResource",
                "config:GetResourceConfigHistory",
                "config:ListDiscoveredResources",
                "config:PutRemediationConfigurations",
                "config:SelectResourceConfig",
                "config:StartConfigRulesEvaluation",
                "config:StartRemediationExecution",
                "dynamodb:DescribeTable",
                "dynamodb:ListTagsOfResource",
                "ec2:DescribeAddresses",
                "ec2:DescribeCustomerGateways",
                "ec2:DescribeHosts",
                "ec2:DescribeInstances",
                "ec2:DescribeInternetGateways",
                "ec2:DescribeNetworkAcls",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DescribeRouteTables",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeSubnets",
                "ec2:DescribeVolumes",
                "ec2:DescribeVpcs",
                "ec2:DescribeVpnConnections",
                "ec2:DescribeVpnGateways",
                "ecs:DescribeCapacityProviders",
                "ecs:DescribeClusters",
                "ecs:DescribeContainerInstances",
                "ecs:ListClusters",
                "ecs:ListContainerInstances",
                "ecs:TagResource",
                "eks:DescribeCluster",
                "eks:DescribeFargateProfile",
                "eks:DescribeNodegroup",
                "eks:ListClusters",
                "eks:ListFargateProfiles",
                "eks:ListNodegroups",
                "eks:TagResource",
                "elasticbeanstalk:DescribeApplications",
                "elasticbeanstalk:ListTagsForResource",
                "elasticloadbalancing:DescribeInstanceHealth",
                "elasticloadbalancing:DescribeListeners",
                "elasticloadbalancing:DescribeLoadBalancers",
                "elasticloadbalancing:DescribeTags",
                "iam:CreateServiceLinkedRole",
                "iam:GetGroup",
                "iam:GetPolicy",
                "iam:GetRole",
                "iam:GetUser",
                "iam:ListRoles",
                "lambda:GetFunction",
                "logs:DescribeLogGroups",
                "rds:DescribeDBClusters",
                "rds:DescribeDBInstances",
                "rds:DescribeDBSecurityGroups",
                "rds:DescribeDBSnapshots",
                "rds:DescribeDBSubnetGroups",
                "rds:DescribeEventSubscriptions",
                "rds:ListTagsForResource",
                "redshift:DescribeClusterParameters",
                "redshift:DescribeClusters",
                "redshift:DescribeClusterSecurityGroups",
                "redshift:DescribeClusterSnapshots",
                "redshift:DescribeClusterSubnetGroups",
                "resource-groups:CreateGroup",
                "resource-groups:DeleteGroup",
                "resource-groups:GetGroup",
                "resource-groups:GetGroupQuery",
                "resource-groups:GetTags",
                "resource-groups:ListGroupResources",
                "resource-groups:ListGroups",
                "resource-groups:Tag",
                "resource-groups:Untag",
                "resource-groups:UpdateGroup",
                "s3:GetBucketTagging",
                "s3:ListAllMyBuckets",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "servicecatalog:GetApplication",
                "servicecatalog:ListApplications",
                "sns:CreateTopic",
                "sns:ListSubscriptionsByTopic",
                "sns:ListTopics",
                "sns:Subscribe",
                "ssm:AddTagsToResource",
                "ssm:CreateDocument",
                "ssm:CreateOpsMetadata",
                "ssm:DeleteDocument",
                "ssm:DeleteOpsMetadata",
                "ssm:DescribeAssociation",
                "ssm:DescribeAutomationExecutions",
                "ssm:DescribeDocument",
                "ssm:DescribeDocumentPermission",
                "ssm:GetDocument",
                "ssm:GetInventory",
                "ssm:GetOpsMetadata",
                "ssm:GetOpsSummary",
                "ssm:GetServiceSetting",
                "ssm:ListAssociations",
                "ssm:ListComplianceItems",
                "ssm:ListDocuments",
                "ssm:ListDocumentVersions",
                "ssm:ListOpsMetadata",
                "ssm:ListResourceComplianceSummaries",
                "ssm:ListTagsForResource",
                "ssm:ModifyDocumentPermission",
                "ssm:RemoveTagsFromResource",
                "ssm:StartAssociationsOnce",
                "ssm:StartAutomationExecution",
                "ssm:UpdateDocument",
                "ssm:UpdateDocumentDefaultVersion",
                "ssm:UpdateOpsMetadata",
                "ssm:UpdateOpsItem",
                "ssm:UpdateServiceSetting",
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "tag:TagResources",
                "tag:UntagResources"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**注記**  
ユーザー、グループ、またはロールにアタッチされた IAM アクセス許可ポリシーから次の API オペレーションを削除することにより、Application Manager でアプリケーションとリソースを変更するユーザーの機能を制限できます。これらのアクションを削除すると、Application Manager で読み取り専用のエクスペリエンスが作成されます。以下に、ユーザーがアプリケーションその他の関連リソースを変更するために使用できる、すべての API を示します。  

```
applicationinsights:CreateApplication
ce:UpdateCostAllocationTagsStatus
cloudformation:CreateStack
cloudformation:DeleteStack
cloudformation:UpdateStack
cloudwatch:DisableAlarmActions
cloudwatch:EnableAlarmActions
cloudwatch:PutMetricAlarm
config:PutRemediationConfigurations
config:StartConfigRulesEvaluation
config:StartRemediationExecution
ecs:TagResource
eks:TagResource
iam:CreateServiceLinkedRole
resource-groups:CreateGroup
resource-groups:DeleteGroup
resource-groups:Tag
resource-groups:Untag
resource-groups:UpdateGroup
sns:CreateTopic
sns:Subscribe
ssm:AddTagsToResource
ssm:CreateDocument
ssm:CreateOpsMetadata
ssm:DeleteDocument
ssm:DeleteOpsMetadata
ssm:ModifyDocumentPermission
ssm:RemoveTagsFromResource
ssm:StartAssociationsOnce
ssm:StartAutomationExecution
ssm:UpdateDocument
ssm:UpdateDocumentDefaultVersion
ssm:UpdateOpsMetadata
ssm:UpdateOpsItem
ssm:UpdateServiceSetting
tag:TagResources
tag:UntagResources
```

IAM ポリシーの作成と編集の詳細については、*IAM ユーザーガイド*の「[IAM ポリシーの作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。このポリシーを IAM エンティティ (ユーザー、グループ、ロールなど) に割り当てる方法については、「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

# Application Manager へのアプリケーションとコンテナクラスターの追加
<a name="application-manager-getting-started-adding-applications"></a>

Application Manager は AWS Systems Manager の構成要素です。Application Manager では、*アプリケーション*はユニットとして動作する AWS リソースの論理グループです。この論理グループは、アプリケーションの異なるバージョン、オペレーターの所有権の境界、またはデベロッパー環境などを表すことができます。

Application Manager を初めて開くと、**「What Application Manager can do for you**」ページが表示されます。**[開始方法]** を選択すると、Application Manager は、他の AWS のサービス または Systems Manager ツールで作成されたリソースに関するメタデータを自動的にインポートします。Application Manager は、これらのリソースを事前定義されたカテゴリ別にグループ化されたリストに表示します。

**アプリケーション**の場合、リストには次のものが含まれます。
+ AWS CloudFormation スタック
+ カスタムアプリケーション
+ AWS Launch Wizard アプリケーション
+ AppRegistry アプリケーション
+ AWS SAP Enterprise ワークロードアプリケーション
+ Amazon ECS クラスター
+ Amazon EKS クラスター

インポートが完了すると、これらの定義済みのカテゴリで、アプリケーションまたは特定のリソースに関するオペレーション情報が表示されます。また、リソースのコレクションに関するコンテキストをさらに提供する場合は、Application Manager でアプリケーションを手動で作成できます。その後、そのアプリケーションにリソースまたはリソースのグループを追加できます。Application Manager でアプリケーションを作成すると、アプリケーションのコンテキストで、リソースに関するオペレーション情報を表示できます。

## Application Manager でアプリケーションを作成する
<a name="application-manager-create-application"></a>

Application Manager でアプリケーションを作成し、そのアプリケーションにリソースを追加するには、次の手順に従います。

**Application Manager でアプリケーションを作成するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. **[アプリケーションの作成]** を選択します。

1. ドロップダウンリストからオプションを選択し、表示されるページのフィールドに入力します。

# アプリケーションの使用
<a name="application-manager-working-applications"></a>

Application Manager は AWS Systems Manager の構成要素です。このセクションには、Application Manager アプリケーションの使用および AWS リソースに関するオペレーション情報の表示に役立つトピックが含まれています。

**Topics**
+ [Application Manager 内のアプリケーション概要](application-manager-working-viewing-overview.md)
+ [アプリケーション EC2 インスタンスの管理](application-manager-working-instances.md)
+ [アプリケーションに関連付けられたリソースの表示](application-manager-working-viewing-resources.md)
+ [アプリケーションコンプライアンスの管理](application-manager-working-viewing-resource-compliance.md)
+ [CloudWatch Application Insights を使用したアプリケーションの監視](application-manager-working-viewing-monitors.md)
+ [アプリケーションでの OpsItems の表示](application-manager-working-viewing-OpsItems.md)
+ [アプリケーションログの管理](application-manager-viewing-logs.md)
+ [Automation ランブックを使用してアプリケーション問題を修正する](application-manager-working-runbooks.md)
+ [Application Manager 内のリソースのタグ付け](application-manager-working-tags.md)
+ [Application Manager での CloudFormation テンプレートとスタックの使用](application-manager-working-stacks.md)
+ [Application Manager でのクラスターの操作](application-manager-working-clusters.md)

# Application Manager 内のアプリケーション概要
<a name="application-manager-working-viewing-overview"></a>

AWS Systems Manager の構成要素である Application Manager の [**概要**] タブには、Amazon CloudWatch アラーム、運用作業項目 (OpsItems)、CloudWatch Application Insights、ランブック履歴の概要が表示されます。カードの [**すべて表示**] を選択して、対応するタブを開くと、すべての application insights、アラーム、OpsItems、またはランブック履歴を表示できます。

**Application Insights について**  
CloudWatch Application Insights は、アプリケーションリソースとテクノロジースタック全体の主要なメトリクス、ログ、アラームを識別して設定します。また、メトリクスとログを継続的にモニタリングし、異常やエラーを検出して相互に関連付けます。エラーや異常が検出されると、Application Insights は CloudWatch Events を生成します。これを使用すると、通知を設定したり、アクションを実行したりできます。[**モニタリング**] タブで [**設定の編集**] ボタンを選択すると、CloudWatch Application Insights コンソールが開きます。Application Insights の詳細については、*Amazon CloudWatch ユーザーガイド*で「[Amazon CloudWatch Application Insights とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html)」を参照してください。

**Cost Explorer について**  
Application Manager は、[**コスト**] ウィジェットと [**コスト**] タブによって、[AWS Cost Management](https://docs.aws.amazon.com/account-billing/index.html) の機能である AWS Cost Explorer と統合されています。コストマネジメントコンソールで Cost Explorer を有効にした後、Application Manager の **[コスト]** ウィジェットと [**コスト**] タブに、特定の非コンテナアプリケーションまたはアプリケーションコンポーネントのコストデータが表示されます。ウィジェットまたはタブでフィルターを使用して、棒グラフまたは折れ線グラフで、異なる期間、粒度のレベル、コストタイプに基づいてコストデータを表示できます。

この機能は、**[Go to AWS Cost Management console]** ボタンを選択すると有効化されます。デフォルトでは、データは過去 3 か月間でフィルタリングされています。非コンテナアプリケーションの場合は、**[View all]** (すべてを表示) ボタンを選択すると、Application Manager に **[Resources]** (リソース) タブが開きます。コンテナアプリケーションでは、**[View all]** (すべてを表示) ボタンで AWS Cost Explorerコンソールが開きます。

**このページで実行できるアクション**  
このページの **[Overview]** (概要) タブでは、次のウィジェットをオンにしてその情報にアクセスすることができます。ウィジェットが有効になっている場合は、そのウィジェットの **[View all]** (すべて表示) をクリックすると、そのエリアに関連するアプリケーションの詳細が表示されます。
+ **[Insights and Alarms]** (インサイトとアラーム) セクションで重要度の数値を選択し、**[Monitoring]** (モニタリング) タブを開きます。このタブで、選択した重要度のアラームについて、その詳細を確認できます。
+ **[Cost]** (コスト) セクションで **[View all]** (すべて表示) を選択し、**[Resources]** (リソース) タブを開きます。このタブで、特定のアプリケーションまたはアプリケーションコンポーネントについて、そのコストデータを確認できます。
+ **[Compliance]** (コンプライアンス) セクションで **[View all]** (すべて表示) を選択し、**[Compliance]** (コンプライアンス) タブを開きます。このタブで、AWS Config と State Manager の関連付けに関するコンプライアンス情報を確認できます。
**注記**  
パッチに関するコンプライアンスの詳細を表示するには、**[Compliance]** (コンプライアンス) タブを直接選択します。これで、選択したアプリケーションで使用されているマネージドノードの、パッチに関するコンプライアンスの詳細が表示されます。
+ [**ランブック**] セクションで、ランブックを選択して Systems Manager の [**ドキュメント**] ページで開きます。このページでは、ドキュメントの詳細を表示できます。
+ [**OpsItems**] セクションで、重要度を選択して [**OpsItems**] タブを開き、選択した重要度のすべての OpsItems を表示できます。
+ [**すべて表示**] ボタンを選択して、対応するタブを開きます。アプリケーションのすべてのアラーム、OpsItems、またはランブック履歴エントリを表示できます。

**[**Overview (概要)**] タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

# アプリケーション EC2 インスタンスの管理
<a name="application-manager-working-instances"></a>

Application Manager は Amazon Elastic Compute Cloud (Amazon EC2) と統合しており、アプリケーションの観点からインスタンスに関する情報を表示することができます。 Application Manager は、選択したアプリケーションのインスタンスの状態、ステータス、および Amazon EC2 Auto Scaling の正常性を、グラフィカルな形式で表示します。**[Instances]** (インスタンス) タブには、アプリケーション内の各インスタンスに関する、以下の情報を含む表も表示されます。
+ インスタンスの状態 (保留中、停止中、実行中、停止済み)
+ SSM Agent の ping ステータス
+ インスタンスで最近処理された、Systems Manager Automation ランブックのステータスと名前
+ 状態ごとの Amazon CloudWatch Logs アラームの数。
  + `ALARM` – メトリクスまたは式が、定義されているしきい値を超えています。
  + `OK` – メトリクスや式は、定義されているしきい値の範囲内です。
  + `INSUFFICIENT_DATA` – アラームが開始直後であるか、メトリクスが利用できないか、メトリクス用のデータが不足しているため、アラームの状態を判定できません。
+ 親および個別の Auto Scaling グループに関する正常性

**[All instances]** (すべてのインスタンス) テーブルでインスタンスを選択すると、Application Manager は 4 つのタブで、そのインスタンスに関する情報を表示します。
+ **[Details]** (詳細) – Amazon EC2 のすべてのインスタンスの詳細 (Amazon マシンイメージ (AMI)、DNS 情報、IP アドレス情報、その他)。
+ **[Health]** (正常性) – EC2 システムとインスタンスのステータスチェックが示す現在のステータス。
+ **[Execution history]** (実行履歴) – インスタンスによって処理された、Systems Manager Automation ランブックおよび API コールの実行ログ。
+ **[CloudWatch alarms]** (CloudWatch アラーム) – インスタンスによって生成された CloudWatch アラームの名前、状態、その他の情報。

**このページで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ インスタンスを開始、停止、終了します。
+ Chef レシピを適用します。
+ Auto Scaling グループに対し、インスタンスのアタッチあるいはデタッチを行います。
+ SSM Agent の自動更新を有効にします。

****[Instances]** (インスタンス) タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。手動により Application Manager で作成したアプリケーションを開くには、**[Custom applications]** (カスタムアプリケーション) を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. [**Instances**] タブを選択します。

**アプリケーションインスタンスの詳細を表示するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。手動により Application Manager で作成したアプリケーションを開くには、**[Custom applications]** (カスタムアプリケーション) を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. [**Instances**] タブを選択します。

1. 詳細を表示しようとしているインスタンスの横にあるボタンを選択します。

1. ページの一番下にあるインスタンスの詳細を確認します。

**自動的に SSM Agent を更新するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。手動により Application Manager で作成したアプリケーションを開くには、**[Custom applications]** (カスタムアプリケーション) を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. [**Instances**] タブを選択します。

1. **[エージェントアクション]** のドロップダウンで **[SSM Agent アップデートを設定]** を選択します。

1. **[すべてのインスタンス]** を選択し、すべてのマネージドインスタンスの自動 SSM Agent 更新を設定します。または、**[インスタンス]** を選択し、アプリケーションの 1 つのインスタンスで自動 SSM Agent 更新を設定します。

1. **[自動アップデートを有効化]** を選択します。

1. **[スケジュールを指定]** ドロップダウンで、SSM Agent 更新に使用するスケジュールを選択します。

1. **[設定]** を選択します。

# アプリケーションに関連付けられたリソースの表示
<a name="application-manager-working-viewing-resources"></a>

AWS Systems Manager のコンポーネントである Application Manager では、[**リソース**] タブにアプリケーションの AWS リソースが表示されます。最上位のコンポーネントを選択すると、このページには、そのコンポーネントとサブコンポーネントのすべてのリソースが表示されます。サブコンポーネントを選択すると、このページには、そのサブコンポーネントに割り当てられたリソースのみが表示されます。

**このページで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ リソース名を選択して、リソースが作成されたコンソールから提供される詳細、タグ、Amazon CloudWatch アラーム、AWS Config の詳細、AWS CloudTrail のログ情報など、リソースに関する情報を表示できます。
+ リソース名の横にあるオプションボタンを選択します。次に、[**Resource timeline**] ボタンを選択して AWS Config コンソールを開き、選択したリソースに関するコンプライアンス情報を表示できます。
+ AWS Cost Explorer を有効にした場合、**Cost Explorer** セクションには、特定の非コンテナアプリケーションまたはアプリケーションコンポーネントのコストデータが表示されます。この機能は、**[Go to AWS Cost Management console]** ボタンを選択すると有効化されます。このセクションのフィルターを使用して、アプリケーションに関するコスト情報を表示します。

****Resources**タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. **[リソース]** タブを選択します。

# アプリケーションコンプライアンスの管理
<a name="application-manager-working-viewing-resource-compliance"></a>

AWS Systems Manager のコンポーネントである Application Manager では、[**Configurations**] (設定) ページに [AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/) リソースと設定ルールのコンプライアンス情報が表示されます。このページには、AWS Systems Manager [https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html) による関連付けのコンプライアンス情報も表示されます。リソース、ルール、または関連付けを選択して、対応するコンソールを開いて詳細を表示できます。このページには、過去 90 日間のコンプライアンス情報が表示されます。

**このページで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ リソース名を選択して AWS Config コンソールを開き、選択したリソースに関するコンプライアンス情報を表示できます。
+ リソース名の横にあるオプションボタンを選択します。次に、[**Resource timeline**] ボタンを選択して AWS Config コンソールを開き、選択したリソースに関するコンプライアンス情報を表示できます。
+ [**Config rules compliance (Config ルールのコンプライアンス)**] セクションでは、次の操作を行うことができます。
  + ルール名を選択して AWS Config コンソールを開き、そのルールに関する情報を表示できます。
  + [**Add rules**] を選択して AWS Config コンソールを開き、ルールを作成できます。
  + ルール名の横にあるオプションボタンを選択して [**Actions (アクション)**]、[**Manage remediation (修復の管理)**] の順に選択し、ルールの修正アクションを変更します。
  + ルール名の横にあるオプションボタンを選択して、[**Actions (アクション)**]、[**Re-evaluate (再評価)**] の順に選択し、AWS Config で選択したルールに対するコンプライアンスチェックを実行できます。
+ [**Association compliance (関連付けのコンプライアンス)**] セクションでは、以下の操作を行うことができます。
  + 関連付け名を選択して [**Associations (関連付け)**] ページを開き、その関連付けに関する情報を表示できます。
  + [**Create association (関連付けの作成)**] を選択して、関連付けを作成できる Systems Manager State Manager を開きます。
  + 関連付けの名前の横にあるオプションボタンを選択し、[**Apply Association (関連付けを適用)**] を選択し、関連付けで指定されたすべてのアクションを直ちに開始できます。

****[Compliance]** (コンプライアンス) タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. **[Compliance]** (コンプライアンス) タブを選択します。

# CloudWatch Application Insights を使用したアプリケーションの監視
<a name="application-manager-working-viewing-monitors"></a>

Application Manager の構成要素である AWS Systems Manager では、[**Monitoring (モニタリング)**] タブには、Amazon CloudWatch Application Insights とアプリケーションのリソースのアラーム詳細が表示されます。

**Application Insights について**  
CloudWatch Application Insights は、アプリケーションリソースとテクノロジースタック全体の主要なメトリクス、ログ、アラームを識別して設定します。また、メトリクスとログを継続的にモニタリングし、異常やエラーを検出して相互に関連付けます。エラーや異常が検出されると、Application Insights は CloudWatch Events を生成します。これを使用すると、通知を設定したり、アクションを実行したりできます。[**モニタリング**] タブで [**設定の編集**] ボタンを選択すると、CloudWatch Application Insights コンソールが開きます。Application Insights の詳細については、*Amazon CloudWatch ユーザーガイド*で「[Amazon CloudWatch Application Insights とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-what-is.html)」を参照してください。

**このページで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ [** AWS のサービスによるアラーム**] セクションでサービス名を選択して、CloudWatch を開いて選択したサービスとアラームを表示します。
+ 定義済みの期間の値を 1 つ選択して、[**Recent alarms (最近のアラーム)**] セクションのウィジェットに表示されるデータの期間を調整します。[**カスタム**] を選択して、独自の期間を定義できます。  
![\[期間の制御は、Application Manager モニタリングタブで行います。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/application-manager-Monitoring-1.png)
+ [**Recent alarms (最近のアラーム)**] セクションのウィジェットの上にカーソルをホバリングすると、特定の時間のデータのポップアップが表示されます。  
![\[[Application Manager モニタリング] タブの [Recent alarms (最近のアラーム)] セクションにあるアラームウィジェット。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/application-manager-Monitoring-2.png)
+ ウィジェットのオプションメニューを選択して、表示オプションを表示します。[**拡大**] を選択して、ウィジェットを展開します。[**Refresh**] を選択して、ウィジェットのデータを更新します。ウィジェットのデータ表示で、カーソルをクリックおよびドラッグし、特定の範囲を選択します。次に、[**Apply time range (時間範囲の適用)**] を選択します。  
![\[Application Manager のアラームウィジェットオプション。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/application-manager-Monitoring-3.png)
+ [**Actions (アクション)**] メニューを選択して、アラームデータの [**Override (上書き)**] オプションを表示します。このオプションには次のようなものがあります。
  + ウィジェットにライブデータを表示するかどうかを選択します。ライブデータとは、直近の 1 分以内に公開された、完全には集計されていないデータです。ライブデータをオフにすると、集計期間が 1 分以上経過したデータポイントのみが表示されます。たとえば、5 分の期間を使用すると、12 時 35 分のデータポイントは 12 時 35 分から 12 時 40 分まで集計され、12 時 41 分に表示されます。

    ライブデータをオンにすると、対応する集計期間にデータが公開されるとすぐに、最新のデータポイントが表示されます。表示を更新するたびに、その集計期間内に新しいデータが公開されると、最新のデータポイントが変わる場合があります。
  + ライブデータの期間を指定します。
  + [**Recent alarms (最近のアラーム)**] セクションでグラフをリンクすると、一方のグラフをズームインまたはズームアウトしたときに、もう一方のグラフが同時に拡大または縮小されます。グラフのリンクを解除し、拡大を 1 つのグラフに行うこともできます。
  + Auto Scaling アラームを非表示にします。  
![\[[Application Manager モニタリング] タブの [アクション] メニュー。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/application-manager-Monitoring-4.png)

**[**モニタリング**] タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. **[モニタリング]** タブを選択します。

# アプリケーションでの OpsItems の表示
<a name="application-manager-working-viewing-OpsItems"></a>

AWS Systems Manager の構成要素である Application Manager で、[**OpsItems**] タブに選択したアプリケーションのリソースの運用作業項目 (OpsItems) が表示されます。Amazon CloudWatch アラームと Amazon EventBridge イベントから OpsItems を自動的に作成するように、Systems Manager OpsCenter を設定できます。手動で OpsItems を作成することもできます。

**このタブで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ 検索フィールドを使用して OpsItems のリストをフィルタリングします。OpsItem の名前、ID、ソース ID、または重要度でフィルタリングできます。ステータスに基づいてリストをフィルタリングすることもできます。OpsItems は、Open、In progress、Resolved、または All のいずれかのステータスをサポートします。
+ その横にあるオプションボタンを選択し、[**Set status**] メニューのオプションを選択して、OpsItem のステータスを変更します。
+ Systems Manager OpsCenter を開き、[**Create OpsItem**] を選択して OpsItem を作成します。

****OpsItems** タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. **[OpsItems]** タブを選択します。

# アプリケーションログの管理
<a name="application-manager-viewing-logs"></a>

AWS Systems Manager の構成要素である Application Manager で、[**Logs** (ログ)] タブには Amazon CloudWatch Logs のロググループのリストが表示されます。

**このタブで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ ロググループ名を選択して CloudWatch Logs で開きます。その後、ログストリームを選択して、アプリケーションのコンテキストでリソースのログを表示できます。
+ CloudWatch Logs でロググループを作成するには、[**Create log grouops (ロググループの作成)**] を選択します。

**[**Logs (ログ)**] タブを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. [**ログ**] タブを選択します。

# Automation ランブックを使用してアプリケーション問題を修正する
<a name="application-manager-working-runbooks"></a>

Automation ランブックを使用して、AWS リソースに関する問題を AWS Systems Manager のツールである Application Manager から修復できます。オートメーションランブックは、オートメーションの実行時にマネージドインスタンスおよびその他の AWS リソースで Systems Manager が実行するアクションを定義します。Automation は AWS Systems Manager のツールです。ランブックには、順次実行されるステップが 1 つ以上含まれています。各ステップは、1 つのアクションを中心に構築されます。1 つのステップからの出力は、後のステップで入力として使用できます。

Application Manager アプリケーションまたはクラスターから [**Start runbook** (ランブックの起動)] を選択すると、アプリケーションまたはクラスター内のリソースのタイプに基づいてフィルターされた使用可能なランブックのリストが表示されます。起動するランブックを選択すると、Systems Manager により [**Execute automation document (オートメーションドキュメントの実行)**] ページが開きます。

Application Manager には、ランブックを使用するための以下の拡張機能が含まれています。
+ Application Manager でリソースの名前を選択し、[**Execute runbook (Runbook の実行)**] を選ぶと、そのリソースタイプのランブックのフィルター処理されたリストが表示されます。
+ 同じ種類のすべてのリソースでオートメーションを開始するには、リストでランブックを選択し、[**Run for resources of same type (同じタイプのリソースに対して実行)**] を選択します。

**[開始する前に]**  
Application Manager からランブックを開始する前に、以下を実行してください。
+ ランブックを開始するための適切なアクセス許可があることを確認してください。詳細については、「」を参照してください[オートメーションの設定](automation-setup.md) 
+ ランブックの開始に関するオートメーション手順のドキュメントを確認してください。詳細については、「[Systems Manager Automation を使用した自動オペレーションを実行する](running-simple-automations.md)」を参照してください。

**Application Manager からランブックを開始するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. **[ランブックを開始]** を選択すると、Application Manager は **[自動化ウィジェット]** のポップアップを開きます。**[自動化ウィジェット]** のオプションについては、「[Systems Manager Automation を使用した自動オペレーションを実行する](running-simple-automations.md)」を参照してください。

# Application Manager 内のリソースのタグ付け
<a name="application-manager-working-tags"></a>

アプリケーションと、Application Manager の AWS リソースでタグをすばやく追加または削除できます。アプリケーションと、そのアプリケーションのあらゆる AWS リソースにタグを追加するか削除するには、以下の手順を使用します。

**アプリケーションおよびアプリケーション内のすべてのリソースにタグを追加または削除するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. [**Application information** (アプリケーション情報)] セクションの [**Application tags** (アプリケーションタグ)] の下で数字を選びます。アプリケーションにタグが割り当てられていない場合、数字はゼロになります。

1. タグを追加するには、[**Add new tag** (新しいタグの追加)] を選択します。キーとオプションの値を指定します。タグを削除するには、[**Remove** (削除)] を選択します。

1. [**Save** (保存)] を選択します。

Application Manager で、特定のリソースにタグを追加するか削除するには、以下の手順に従います。

**リソースにタグを追加または削除するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**Applications (アプリケーション)**] セクションで、カテゴリを選択します。Application Manager で手動で作成したアプリケーションを開くには、[**カスタムアプリケーション**] を選択します。

1. リストからアプリケーションを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. **[リソース]** タブを選択してください。

1. リソース名を選択します。

1. [**Tags** (タグ)] セクションで [**Edit** (編集)] を選択します。

1. タグを追加するには、[**Add new tag** (新しいタグの追加)] を選択します。キーとオプションの値を指定します。タグを削除するには、[**Remove** (削除)] を選択します。

1. **[保存]** を選択します。

# Application Manager での CloudFormation テンプレートとスタックの使用
<a name="application-manager-working-stacks"></a>

AWS Systems Manager のツールである Application Manager は、AWS CloudFormation と統合することで、アプリケーションのリソースのプロビジョニングと管理に役立ちます。Application Manager では、CloudFormation テンプレートとスタックを作成、編集、削除できます。*スタック*は、単一のユニットとして管理できる AWS リソースのコレクションです。つまり、CloudFormation スタックを使用すると、一連の AWS リソースを作成、更新、または削除できます。*テンプレート*は、JSON または YAML でフォーマットされたテキストファイルで、スタックでプロビジョニングするリソースを指定します。

Application Manager には、テンプレートのクローン、作成、格納が可能なテンプレートライブラリも含まれています。Application Manager と CloudFormation には、スタックの現在のステータスに関する情報と同じ情報が表示されます。テンプレートとテンプレートの更新は、スタックをプロビジョニングするまで Systems Manager に格納されます。このとき、変更内容は CloudFormation にも表示されます。

Application Manager でスタックを作成すると、[**CloudFormation stacks** (CloudFormation スタック)] ページには有用な情報が表示されます。この情報には、作成に使用されたテンプレート、スタックのリソースの [https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter.html) 数、[スタックのステータス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-stack-data-resources.html#cfn-console-view-stack-data-resources-status-codes)、[ドリフトのステータス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)が含まれます。

**Cost Explorer について**  
Application Manager は、**[Cost]** (コスト) ウィジェットによって、[AWS Cost Management](https://docs.aws.amazon.com/account-billing/index.html) の機能である AWS Cost Explorer と統合されています。コストマネジメントコンソールで Cost Explorer を有効にした後、Application Manager の **[Cost]** (コスト) ウィジェットに、特定の非コンテナアプリケーションまたはアプリケーションコンポーネントのコストデータが表示されます。ウィジェットでフィルターを使用して、棒グラフまたは折れ線グラフで、異なる期間、粒度、およびコストタイプに基づいてコストデータを表示できます。

この機能は、**[Go to AWS Cost Management console]** ボタンを選択すると有効化されます。デフォルトでは、データは過去 3 か月間でフィルタリングされています。非コンテナアプリケーションの場合は、**[View all]** (すべてを表示) ボタンを選択すると、Application Manager に **[Resources]** (リソース) タブが開きます。コンテナアプリケーションでは、**[View all]** (すべてを表示) ボタンで AWS Cost Explorerコンソールが開きます。

**注記**  
Cost Explorer タグを使用してアプリケーションのコストを追跡できます。CloudFormation スタックベースのアプリケーションに `AppManagerCFNStackKey` タグキーが設定されていない場合、Application Manager で Cost Explorer で正確なコストデータを表示できません。`AppManagerCFNStackKey` タグキーが検出されない場合、コンソールでタグを CloudFormation スタックに追加してコスト追跡を有効にするように求められます。追加すると、タグキーがスタックの Amazon リソースネーム (ARN) にマッピングされ、**[Cost]** (コスト) ウィジェットで正確なコストデータを表示できます。

**重要**  
`AppManagerCFNStackKey` タグを追加すると、スタックの更新がトリガーされます。スタックが最初にデプロイされた後に実行された手動設定は、ユーザータグを追加した後には反映されません。リソースの更新動作の詳細については、「AWS CloudFormation ユーザーガイド」の「[スタックリソースの更新動作](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/                             using-cfn-updating-stacks-update-behaviors.html)」を参照してください。

## [開始する前に]
<a name="application-manager-working-stacks-before-you-begin"></a>

Application Manager を使用して CloudFormation のテンプレートとスタックを作成、編集、または削除する前に、次のリンクを使用して CloudFormation の概念を確認してください。
+ [What is AWS CloudFormation?](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation のベストプラクティス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html)
+ [テンプレートの基礎に関する説明](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html)
+ [AWS CloudFormation スタックの操作](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacks.html)
+ [AWS CloudFormation テンプレートの操作](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)
+ [サンプルテンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-sample-templates.html)

**Topics**
+ [[開始する前に]](#application-manager-working-stacks-before-you-begin)
+ [Application Manager を使用した CloudFormation テンプレートの管理](application-manager-working-templates-overview.md)
+ [Application Manager を使用した CloudFormation スタックの管理](application-manager-working-stacks-overview.md)

# Application Manager を使用した CloudFormation テンプレートの管理
<a name="application-manager-working-templates-overview"></a>

AWS Systems Manager のツールである Application Manager には、テンプレートライブラリやその他のツールが含まれており、AWS CloudFormation テンプレートの管理に役立ちます。このセクションでは、次の情報を紹介します。

**Topics**
+ [テンプレートライブラリの操作](#application-manager-working-stacks-template-library-working)
+ [テンプレートの作成](#application-manager-working-stacks-creating-template)
+ [テンプレートの編集](#application-manager-working-stacks-editing-template)

## テンプレートライブラリの操作
<a name="application-manager-working-stacks-template-library-working"></a>

Application Manager のテンプレートライブラリには、テンプレートの表示、作成、編集、削除、およびクローン作成に役立つツールが用意されています。また、テンプレートライブラリから直接スタックをプロビジョニングすることもできます。テンプレートは、タイプ `CloudFormation` の Systems Manager (SSM) ドキュメントとして格納されます。テンプレートを SSM ドキュメントとして格納することで、バージョンコントロールを使用して、異なるバージョンのテンプレートを操作できます。アクセス許可を設定したり、テンプレートを共有したりすることもできます。スタックのプロビジョニングに成功すると、スタックとテンプレートは Application Manager と CloudFormation で使用できるようになります。

**[開始する前に]**  
Application Manager で CloudFormation のテンプレートの操作を開始する前に、SSM ドキュメントの詳細について、次のトピックをお読みください。
+ [AWS Systems Manager ドキュメント](documents.md)
+ [SSM ドキュメントの共有](documents-ssm-sharing.md)
+ [共有 SSM ドキュメントのベストプラクティス](documents-ssm-sharing.md#best-practices-shared)

**Application Manager でテンプレートライブラリを表示するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**CloudFormation テンプレートライブラリ**] を選択します。

## テンプレートの作成
<a name="application-manager-working-stacks-creating-template"></a>

以下の手順では、Application Manager で CloudFormation のテンプレートを作成する方法について説明します。テンプレートを作成するときは、テンプレートのスタックの詳細を JSON または YAML で入力します。JSON や YAML に詳しくない場合は、テンプレートを視覚的に作成および変更するためのツール、AWS Infrastructure Composer を使用してください。詳細については、「*AWS CloudFormationユーザーガイド*」の「[Infrastructure Composer でテンプレートを視覚的に作成する](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/infrastructure-composer-for-cloudformation.html)」を参照してください。テンプレートの構造の詳細については、AWS CloudFormation ユーザーガイドの「[CloudFormation テンプレートセクション](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)」を参照してください。

複数のテンプレートスニペットからテンプレートを作成することもできます。テンプレートスニペットは、特定のリソースのテンプレートを作成する方法を示す例を提供しています。たとえば、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス、Amazon Simple Storage Service (Amazon S3) ドメイン、CloudFormation マッピングなどのスニペットを表示できます。スニペットはリソースごとにグループ化されます。*AWS CloudFormation ユーザーガイド*の「[一般的なテンプレートスニペット](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-general.html)」セクションでは、用途の広い CloudFormation スニペットが紹介されています。

### Application Manager (コンソール) で CloudFormation のテンプレートを作成
<a name="application-manager-working-stacks-creating-template-console"></a>

以下の手順に従い、AWS マネジメントコンソール を使用して Application Manager で CloudFormation のテンプレートを作成します。

**Application Manager で CloudFormation テンプレートを作成するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**CloudFormation テンプレートライブラリ**] を選択し、[**テンプレートを作成**] を選択するか、既存のテンプレートを選択して [**アクション**]、[**クローン**] の順に選択します。

1. [**Name**] (名前) には、テンプレートが作成するリソース、もしくはスタックの目的を識別しやすくするテンプレートの名前を入力します。

1. (オプション) [**Version name**] (バージョン名) には、テンプレートのバージョンを識別する名前または番号を入力します。

1. [**Code editor**] (コードエディタ) セクションで、[**YAML**] または [**JSON**] をクリックし、テンプレートコードを入力するか、コピーして貼り付けます。

1. (オプション) [**Tags**] (タグ) セクションで、テンプレートにタグキーの名前/値ペアを 1 つ、または複数適用します。

1. (オプション) [**Permissions**] (アクセス許可) セクションで、AWS アカウント ID を入力し、[**Add acount**] (アカウントの追加) を選択します。このアクションで、テンプレートに読み取りのアクセス許可を付与します。アカウント所有者はテンプレートのプロビジョニングとクローン作成ができますが、テンプレートの編集や削除はできません。

1. [**Create**] を選択します。テンプレートは、Systems Manager (SSM) ドキュメントサービスに保存されます。

### Application Manager (コマンドライン) で CloudFormation テンプレートを作成
<a name="application-manager-working-stacks-creating-template-cli"></a>

JSON または YAML で CloudFormation のテンプレートのコンテンツを作成したら、AWS Command Line Interface (AWS CLI) または AWS Tools for PowerShell を使用して、テンプレートを SSM ドキュメントとして保存します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

**[開始する前に]**  
まだ AWS CLI または AWS Tools for PowerShell をインストールして設定していない場合は、インストールして設定します。詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」および「[AWS Tools for PowerShell のインストール](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

------
#### [ Linux & macOS ]

```
aws ssm create-document \
    --content file://path/to/template_in_json_or_yaml \
    --name "a_name_for_the_template" \
    --document-type "CloudFormation" \
    --document-format "JSON_or_YAML" \
    --tags "Key=tag-key,Value=tag-value"
```

------
#### [ Windows ]

```
aws ssm create-document ^
    --content file://C:\path\to\template_in_json_or_yaml ^
    --name "a_name_for_the_template" ^
    --document-type "CloudFormation" ^
    --document-format "JSON_or_YAML" ^
    --tags "Key=tag-key,Value=tag-value"
```

------
#### [ PowerShell ]

```
$json = Get-Content -Path "C:\path\to\template_in_json_or_yaml | Out-String
New-SSMDocument `
    -Content $json `
    -Name "a_name_for_the_template" `
    -DocumentType "CloudFormation" `
    -DocumentFormat "JSON_or_YAML" `
    -Tags "Key=tag-key,Value=tag-value"
```

------

成功すると、コマンドは以下のような応答を返します。

```
{
    "DocumentDescription": {
        "Hash": "c1d9640f15fbdba6deb41af6471d6ace0acc22f213bdd1449f03980358c2d4fb",
        "HashType": "Sha256",
        "Name": "MyTestCFTemplate",
        "Owner": "428427166869",
        "CreatedDate": "2021-06-04T09:44:18.931000-07:00",
        "Status": "Creating",
        "DocumentVersion": "1",
        "Description": "My test template",
        "PlatformTypes": [],
        "DocumentType": "CloudFormation",
        "SchemaVersion": "1.0",
        "LatestVersion": "1",
        "DefaultVersion": "1",
        "DocumentFormat": "YAML",
        "Tags": [
            {
                "Key": "Templates",
                "Value": "Test"
            }
        ]
    }
```

## テンプレートの編集
<a name="application-manager-working-stacks-editing-template"></a>

以下の手順に従って、Application Manager で CloudFormation テンプレートを編集します。テンプレートの変更は、更新されたテンプレートを使用するスタックをプロビジョニングした後、CloudFormation で行います。

**Application Manager で CloudFormation テンプレートを編集するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**CloudFormation テンプレートライブラリ**] を選択します。

1. テンプレートを選択してから、[**Actions**] (アクション)、[**Edit**] (編集) の順に選択します。テンプレートの名前は変更できませんが、他の詳細はすべて変更できます。

1. [**Save**] を選択します。テンプレートは、Systems Manager ドキュメントサービスに保存されます。

# Application Manager を使用した CloudFormation スタックの管理
<a name="application-manager-working-stacks-overview"></a>

AWS Systems Manager のツールである Application Manager は、AWS CloudFormation と統合することで、アプリケーションのリソースのプロビジョニングと管理に役立ちます。Application Manager で CloudFormation のテンプレートとスタックを作成、編集、削除できます。*スタック*は、単一のユニットとして管理できる AWS リソースのコレクションです。つまり、CloudFormation スタックを使用すると、一連の AWS リソースを作成、更新、または削除できます。*テンプレート*は、JSON または YAML でフォーマットされたテキストファイルで、スタックでプロビジョニングするリソースを指定します。このセクションでは、次の情報を紹介します。

**Topics**
+ [スタックの作成](#application-manager-working-stacks-creating-stack)
+ [スタックの更新](#application-manager-working-stacks-editing-stack)

## スタックの作成
<a name="application-manager-working-stacks-creating-stack"></a>

以下の手順では、Application Manager を使用して CloudFormation のスタックを作成する方法について説明します。スタックはテンプレートに基づいています。スタックを作成するときは、既存のテンプレートを選択するか、新しいテンプレートを作成します。スタックの作成後、システムはスタック内で識別されたリソースの作成をただちに試みます。システムがリソースを正常にプロビジョニングすると、テンプレートとスタックは Application Manager と CloudFormation で表示および編集できるようになります。

**注記**  
Application Manager を使用してスタックを作成する場合には料金はかかりませんが、スタックで作成した AWS リソースには料金が発生します。

### Application Manager (コンソール) を使用して CloudFormation のスタックを作成するには
<a name="application-manager-working-stacks-creating-stack-console"></a>

以下の手順に従い、AWS マネジメントコンソール で Application Manager を使用してスタックを作成します。

**CloudFormation のスタックを作成する**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**アプリケーションの作成、CloudFormation スタック**] を選択します。

1. [**Prepare a template**] (テンプレートの準備) セクションで、オプションを選択します。[**Use an existing template**] (既存のテンプレートを使用) を選択する場合、**[Choose a template] (テンプレートの選択)** セクションのタブを使用して目的のテンプレートを見つけます。(他のオプションを選択した場合は、ウィザードを完了してテンプレートを準備します。)

1. テンプレート名の横にあるボタンを選択し、[**次へ**] を選択します。

1. [**Specify template details**] (テンプレートの詳細を指定) ページでテンプレートの詳細を確認し、必要なリソースが作成できるようにします。
   + (オプション) [**Tags**] (タグ) セクションで、テンプレートにタグキーの名前/値ペアを 1 つ、または複数適用します。
   + タグは、リソースに割り当てるオプションのメタデータです。タグを使用することで、目的、所有者、または環境などの異なる方法でリソースを分類できます。
   + [**次へ**] を選択します。

1. [**Edit stack details**] (スタック詳細の編集) ページでは、[**Stack Name**] (スタック名) には、テンプレートが作成するリソース、もしくはスタックの目的を識別しやすくするテンプレートの名前を入力します。
   + [**Parameters**] (パラメータ) セクションには、テンプレートで指定されたオプションおよび必須パラメータがすべて含まれています。各フィールドに 1 つ以上のパラメータを入力します。
   + (オプション) [**Tags**] (タグ) セクションでスタックにタグキーの名前/値ペアを 1 つ、または複数適用します。
   + (オプション) [**Permissions**] (アクセス許可) セクションで、AWS Identity and Access Management (IAM) ロール名または IAM Amazon リソースネーム (ARN) を指定します。システムは、指定されたサービスロールを使用して、スタックで指定されたすべてのリソースを作成します。IAM ロールを指定しなかった場合、CloudFormation はユーザー認証情報からシステムが生成する一時的セッションを使用します。この IAM ロールの詳細については、*AWS CloudFormation ユーザーガイド*の「[CloudFormation サービスロール](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html)」を参照してください。
   + [**Next**] を選択します。

1. [**Review and provision**] (確認とプロビジョニング) ページで、スタックの詳細をすべて確認します。このページで [**Edit**] (編集) ボタンを選択して変更を行います。

1. [**Provision stack]** (スタックのプロビジョニング) を選択します。

Application Manager には、[**CloudFormation stacks** (CloudFormation のスタック)] ページと、スタックの作成とデプロイに関するステータスが表示されます。CloudFormation がスタックの作成とプロビジョニングに失敗した場合は、*AWS CloudFormation ユーザーガイド*で以下のトピックを参照してください。
+ [スタックステータスコード](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-describing-stacks.html#w2ab1c23c15c17c11)
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html) のトラブルシューティング

スタックリソースがプロビジョニングされ、実行されると、ユーザーはリソースを作成した基盤となるサービスを使用してリソースを直接編集できます。例えば、Amazon Elastic Compute Cloud (Amazon EC2) コンソールを使用して、CloudFormation のスタックの一部として作成されたサーバーインスタンスを更新できます。一部の変更は偶発的になされますが、時間的制約のある操作上のイベントに対応するために意図的になされる場合もあります。しかし、CloudFormation の外部で行われた変更はスタックの更新または削除オペレーションを複雑にする可能性があります。ドリフト検出または*ドリフトステータス*を使用して、CloudFormation 管理外で設定変更がされたスタックリソースを識別できます。ドリフトステータスの詳細については、「[スタックとリソースに対するアンマネージド型設定変更の検出](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html)」を参照してください。

### Application Manager (コマンドライン) を使用して CloudFormationの スタックを作成
<a name="application-manager-working-stacks-creating-stack-cli"></a>

次の AWS Command Line Interface (AWS CLI) 手順を使用して、Systems Manager で SSM ドキュメントとして格納されている CloudFormation テンプレートを使用してスタックをプロビジョニングします。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。AWS CLIスタックを作成するその他の手順については、*AWS CloudFormation ユーザーガイド*の「[スタックの作成](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-cli-creating-stack.html)」を参照してください。

**開始する前に**  
まだ AWS CLI または AWS Tools for PowerShell をインストールして設定していない場合は、インストールして設定します。詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」および「[AWS Tools for PowerShell のインストール](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

------
#### [ Linux & macOS ]

```
aws cloudformation create-stack \
    --stack-name a_name_for_the_stack \
    --template-url "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" \
```

------
#### [ Windows ]

```
aws cloudformation create-stack ^
     --stack-name a_name_for_the_stack ^
     --template-url "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" ^
```

------
#### [ PowerShell ]

```
New-CFNStack `
    -StackName "a_name_for_the_stack" `
    -TemplateURL "ssm-doc://arn:aws:ssm:Region:account_ID:document/template_name" `
```

------

## スタックの更新
<a name="application-manager-working-stacks-editing-stack"></a>

Application Manager でスタックを直接編集することで、CloudFormation のスタックに更新をデプロイできます。直接更新する場合は、テンプレートまたは入力パラメータに対する更新を指定します。変更を保存してデプロイすると、CloudFormation が、指定された変更に応じて AWS リソースを変更します。

更新前に CloudFormation がスタックに加える変更をプレビューするには、変更セットを使用します。詳細については、*AWS CloudFormation ユーザーガイド*の「[変更セットを使用したスタックの更新](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html)」を参照してください。

**Application Manager で CloudFormation のスタックを更新するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. アプリケーション名の横にあるラジオボタンを選択し、[**アクション**]、[**スタックの更新**] の順に選択します。

1. [**Specify template source**] (テンプレートのソースを指定) ページで、次のいずれかのオプションを選択し、[**Next**] (次へ) を選択します。
   + [**Use the template code currently provisioned in the stack**] (スタックで現在プロビジョニングされているテンプレートコードを使用) をクリックしてテンプレートを表示します。[**Versions**] (バージョン) リストを使用してテンプレートのバージョンを選択し、[**Next**] (次へ) を選択します。
   + [**Switch to a different template**] (別のテンプレートに切り替え) を選択して、スタックの新しいテンプレートを選択または作成します。

1. テンプレートの変更が完了したら、[**Next**] (次へ) を選択します。

1. [**Edit stack details**] (スタックの詳細の編集) ページでは、パラメータ、タグ、アクセス許可を編集できます。スタックの名前を変更することはできません。変更を行ってから、[**Next**] (次へ) を選択します。

1. [**Review and provision**] (確認とプロビジョニング) ページで、スタックのすべての詳細を確認し、[**Provision stack**] (スタックのプロビジョニング) を選択します。

# Application Manager でのクラスターの操作
<a name="application-manager-working-clusters"></a>

このセクションでは、AWS Systems Manager の構成要素である Application Manager で Amazon Elastic Container Service (Amazon ECS) および Amazon Elastic Kubernetes Service (Amazon EKS) コンテナクラスターの操作に役立つトピックを扱います

**Topics**
+ [Application Manager での Amazon ECS の操作](application-manager-working-ECS.md)
+ [Application Manager での Amazon EKS の使用](application-manager-working-EKS.md)
+ [クラスター用のランブックの操作](application-manager-working-runbooks-clusters.md)

# Application Manager での Amazon ECS の操作
<a name="application-manager-working-ECS"></a>

AWS Systems Manager のツールである Application Manager を使用すると、Amazon Elastic Container Service (Amazon ECS) クラスターインフラストラクチャを表示および管理できます。Application Manager は、クラスターの Amazon リソースネーム (ARN) をタグ値として使用して、タグを Amazon ECS クラスターに適用します。Application Manager は、クラスター内のコンピューティング、ネットワーキング、ストレージリソースのコンポーネントランタイムビューを提供します。

**注記**  
Application Manager では、コンテナに関するオペレーション情報を管理および表示することはできません。管理および表示できるのは、Amazon ECS リソースをホストしているインフラストラクチャに関するオペレーション情報のみです。

**このページで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ Amazon ECS でクラスターを開くには、[**Manage cluster (クラスターの管理)**] を選択します。
+ クラスター内のリソースのリストを表示するには、[**すべて表示**] を選択します。
+ Amazon CloudWatch でリソースアラームを表示するには、[**View in CloudWatch (CloudWatch で表示)**] を選択します。
+ Amazon ECS でこれらのリソースを表示するには、[**Manage nodes (ノードの管理)**] または [**Manager Fargate profiles (Manager Fargate プロファイル)**] を選択します。
+ リソースの詳細情報を作成されたコンソールに表示するには、リソース ID を選択します。
+ クラスターに関連する OpsItems のリストを表示します。
+ クラスター上で実行されたランブックの履歴を表示します。

****ECS クラスター**を開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**コンテナクラスター**] セクションで、[**ECS クラスター**] を選択します。

1. リストからクラスターを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

# Application Manager での Amazon EKS の使用
<a name="application-manager-working-EKS"></a>

AWS Systems Manager のツールである Application Manager は、[Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) (Amazon EKS) と統合され、Amazon EKS クラスターのインフラストラクチャの正常性に関する情報を表示します。Application Manager は、クラスターの Amazon リソースネーム (ARN) をタグ値として使用して、タグを Amazon ECS クラスターに適用します。Application Manager は、クラスター内のコンピューティング、ネットワーキング、およびストレージリソースのコンポーネントランタイムビューを提供します。

**注記**  
Application Manager では、Amazon EKS ポッドまたはコンテナに関するオペレーション情報を管理または表示することはできません。管理および表示できるのは、Amazon EKS リソースをホストしているインフラストラクチャに関するオペレーション情報のみです。

**このページで実行できるアクション**  
このページでは、次のアクションを実行できます。
+ Amazon EKS でクラスターを開くには、[**Manage cluster (クラスターの管理)**] を選択します。
+ クラスター内のリソースのリストを表示するには、[**すべて表示**] を選択します。
+ Amazon CloudWatch でリソースアラームを表示するには、[**View in CloudWatch (CloudWatch で表示)**] を選択します。
+ Amazon EKS でこれらのリソースを表示するには、[**Manage nodes (ノードの管理)**] または [**Manager Fargate profiles (Manager Fargate プロファイル)**] を選択します。
+ リソースの詳細情報を作成されたコンソールに表示するには、リソース ID を選択します。
+ クラスターに関連する OpsItems のリストを表示します。
+ クラスター上で実行されたランブックの履歴を表示します。

****EKS クラスター**のアプリケーションを開くには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**コンテナクラスター**] セクションで、[** EKS クラスター**] を選択します。

1. リストからクラスターを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

# クラスター用のランブックの操作
<a name="application-manager-working-runbooks-clusters"></a>

Systems Manager Automation ランブックを使用して、AWS Systems Manager のツールである Application Manager から AWS リソースに関する問題を修復できます。Application Manager クラスターから [**Start runbook** (ランブックの起動)] を選択すると、アプリケーション内のリソースのタイプに基づいて、ランブックのフィルタリングされたリストが表示されます。起動するランブックを選択すると、Systems Manager により [**Execute automation document (オートメーションドキュメントの実行)**] ページが開きます。

**[開始する前に]**  
Application Manager からランブックを開始する前に、以下を実行してください。
+ ランブックを開始するための適切なアクセス許可があることを確認してください。詳細については、「」を参照してください[オートメーションの設定](automation-setup.md) 
+ ランブックの開始に関するオートメーション手順のドキュメントを確認してください。詳細については、「[Systems Manager Automation を使用した自動オペレーションを実行する](running-simple-automations.md)」を参照してください。
+ 複数のリソースでランブックを同時に開始する場合は、ターゲットとレート制御の使用に関するドキュメントを確認してください。詳細については、「[自動オペレーションを大規模に実行する](running-automations-scale.md)」を参照してください。

**Application Manager からクラスターのランブックを開始するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Application Manager]** を選択します。

1. [**コンテナクラスター**] セクションで、コンテナタイプを選択します。

1. リストからクラスターを選択します。Application Manager で、[**Overview (概要)**] タブが開きます。

1. [**Runbooks**] (ランブック) タブで [**Start runbook**] (ランブックの起動) をクリックします。 Application Manager の新しいタブで [**Execute automation document**] (オートメーションドキュメントの実行) ページが開きます。[**Execute automation document (オートメーションドキュメントの実行)**] ページのオプションについては、[Systems Manager Automation を使用した自動オペレーションを実行する](running-simple-automations.md) を参照してください。

# AWS Systems Manager Parameter Store
<a name="systems-manager-parameter-store"></a>

AWS Systems Manager のツールである Parameter Store は､設定データ管理と機密管理のための安全な階層型ストレージを提供します。パスワード、データベース文字列、Amazon Machine Image (AMI) ID、ライセンスコードなどのデータをパラメータ値として保存することができます。値はプレーンテキストまたは暗号化されたデータとして保存できます。パラメータの作成時に指定した一意の名前を使用して、スクリプト、コマンド、SSM ドキュメント、設定およびオートメーションワークフローの Systems Manager パラメータを参照できます。Parameter Store の使用を開始するには、[Systems Manager コンソール](https://console.aws.amazon.com//systems-manager/parameters)を開きます。ナビゲーションペインで、**[Parameter Store]** を選択します。

Parameter Store も、Secrets Manager と統合されています。Parameter Store パラメータへの参照を既にサポートしている他の AWS のサービスを使用する際、Secrets Manager のシークレットを取得できます。詳しくは、「[Parameter Store パラメータからの AWS Secrets Manager シークレットの参照](integration-ps-secretsmanager.md)」を参照してください。

**注記**  
パスワードローテーションのライフサイクルを実装するには、 を使用しますAWS Secrets Manager Secrets Manager を使用すると、データベースの認証情報、API キー、その他のシークレットをそのライフサイクルを通してローテーション、管理、取得できます。詳細については、*AWS Secrets Managerユーザーガイド*の「[AWS Secrets Manager とは](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html)」を参照してください。

## Parameter Store はどのように組織にとってメリットになりますか?
<a name="parameter-store-benefits"></a>

Parameter Store は、以下の利点を提供します。
+ セキュアでスケーラブルな、ホストされたシークレット管理サービスを使用します (管理が必要なサーバーはありません)。
+ コードからデータを分離してセキュリティ体制を改善します。
+ 設定データと暗号化された文字列を階層内に保存し、バージョンを追跡します。
+ きめ細かいレベルでアクセスの制御と監査を行います。
+ Parameter Store は AWS リージョン で複数のアベイラビリティーゾーンでホストされるため、パラメータは確実に保存してください。

## Parameter Store はどのようなユーザーに適していますか?
<a name="parameter-store-who"></a>
+ 設定データを一元的に管理したいすべての AWS のお客様。
+ さまざまなログインや参照ストリームを保存したいソフトウェアデベロッパー。
+ シークレットとパスワードが変更された場合、または変更されない場合に通知を受信する管理者。

## Parameter Store の特徴は何ですか?
<a name="parameter-store-features"></a>
+ **変更通知**

  パラメータとパラメータポリシーの両方について、変更通知を設定し、自動化されたアクションを呼び出すことができます。詳しくは、「[Parameter Store イベントに基づいた通知の設定またはアクションのトリガー](sysman-paramstore-cwe.md)」を参照してください。
+ **パラメータの整理**

  パラメータに個別にタグを付けると、そのタグに基づいてパラメータを識別できます。例えば、特定の環境または部門のパラメータをタグ付けできます。
+ **ラベルのバージョン**

  ラベルを作成することで、パラメータのバージョンにエイリアスを関連付けることができます。ラベルは、バージョンが複数ある場合にパラメータバージョンの用途を覚えておくのに役立ちます。
+ **[Data validation]** (データ検証)

  Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを指すパラメータを作成すると、Parameter Store がこれらのパラメータを検証して、期待されるリソースタイプを参照していること、リソースが存在すること、および顧客にリソースを使用するアクセス許可があることを確認します。例えば、`aws:ec2:image` データ型の値として Amazon Machine Image (AMI) ID を持つパラメータを作成すると、Parameter Store で非同期検証オペレーションが実行され、パラメータ値が AMI ID の書式設定要件を満たし、指定された AMI を AWS アカウント で使用できることが確認されます。
+ **シークレットの参照**

  Parameter Store は AWS Secrets Manager と統合されたため、Parameter Store パラメータへの参照がすでにサポートされている他の AWS のサービスを使用する際に Secrets Manager のシークレットを取得できます。
+ **他のアカウントとパラメータを共有**

  オプションで、設定データを 1 つの AWS アカウント に一元管理し、パラメータにアクセスする必要のある他のアカウントとパラメータを共有できます。
+ **他の AWS のサービスからアクセス可能**

  他の Systems Manager ツールおよび AWS のサービスで Parameter Store パラメータを使用して、中央のストアからシークレットおよび設定データを取得できます。パラメータは、AWS Systems Manager のツールである Run Command、Automation、State Manager など、Systems Manager ツールで動作します。また、次のような他の多くの AWS のサービスでパラメータを参照することもできます。
  + Amazon Elastic Compute Cloud (Amazon EC2)
  + Amazon Elastic Container Service (Amazon ECS)
  + AWS Secrets Manager
  + AWS Lambda
  + AWS CloudFormation
  + AWS CodeBuild
  + AWS CodePipeline
  + AWS CodeDeploy
+ **他の AWS のサービスとの統合**

  暗号化、通知、モニタリング、監査のために、以下の AWS のサービスとの統合を設定します。
  + AWS Key Management Service (AWS KMS)
  + Amazon Simple Notiﬁcation Service (Amazon SNS)
  + Amazon CloudWatch: 詳細については、「[パラメータおよびパラメータポリシー用の EventBridge ルールを設定する](sysman-paramstore-cwe.md#cwe-parameter-changes)」を参照してください。
  + Amazon EventBridge: 詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」および「[リファレンス: Systems Manager 用の Amazon EventBridge イベントパターンとタイプ](reference-eventbridge-events.md)」を参照してください。
  + AWS CloudTrail詳細については、「」を参照してください。[AWS CloudTrail による AWS Systems Manager API コールのログ記録](monitoring-cloudtrail-logs.md)

## パラメータとは何ですか?
<a name="what-is-a-parameter"></a>

Parameter Store パラメータとは、テキストのブロック、名前のリスト、パスワード、AMI ID、ライセンスキーなど、Parameter Store に保存されるデータのことです。スクリプト、コマンド、SSM ドキュメントで、このデータを一元的かつ安全に参照できます。

パラメータを参照するときは、以下の規則を使用してパラメータ名を指定します。

\$1\$1`ssm:parameter-name`\$1\$1

**注記**  
パラメータは、他のパラメータの値で参照またはネストすることはできません。パラメータ値に `{{}}` または `{{ssm:parameter-name}}` を含めることはできません。

Parameter Store では、`String`、`StringList`、`SecureString` という 3 タイプのパラメータがサポートされています。

1 つの例外を除いて、パラメータを作成または更新するときは、パラメータ値をプレーンテキストとして入力します。入力したテキストは Parameter Store によって検証されません。ただし、`String` パラメータの場合、データ型を `aws:ec2:image` として指定できます。Parameter Store によって、入力した値が Amazon EC2 AMI の適切な形式 (`ami-12345abcdeEXAMPLE` など) であることが検証されます。

### パラメータタイプ: 文字列
<a name="parameter-type-string"></a>

デフォルトでは、`String` パラメータの値はユーザーが入力したテキストのブロックで構成されます。例えば、次のようになります。
+ `abc123`
+ `Example Corp`
+ `<img src="images/bannerImage1.png"/>`

### パラメータタイプ: StringList
<a name="parameter-type-stringlist"></a>

`StringList` パラメータの値には、以下の例に示すように、値のカンマ区切りリストを含めます。

`Monday,Wednesday,Friday`

`CSV,TSV,CLF,ELF,JSON`

### パラメータタイプ: SecureString
<a name="parameter-type-securestring"></a>

`SecureString` パラメータの値は、セキュアな方法で保存および参照する必要がある機密データです。パスワードやライセンスキーなど、ユーザーがプレーンテキストで変更または参照しないデータがある場合は、`SecureString` データ型を使用してこれらのパラメータを作成します。

**重要**  
`String` パラメータまたは `StringList` パラメータに機密データを保存しないでください。機密データを暗号化したままにする場合は、`SecureString` パラメータタイプのみを使用します。  
詳細については、「」を参照してください[AWS CLI を使用して SecureString パラメータを作成するには](param-create-cli.md#param-create-cli-securestring)

次のシナリオでは `SecureString` パラメータを使用することをお勧めします。
+ コマンド、関数、エージェントログ、または CloudTrail ログに値をプレーンテキストとして公開せずに、すべての AWS のサービスでデータ/パラメータを使用する。
+ 機密データへのユーザーのアクセスを制御する。
+ 機密データへのアクセスを監査する (CloudTrail)。
+ 機密データの暗号化と独自の暗号化キーがアクセスの管理に必要である。

**重要**  
`SecureString` パラメータの*値*のみが暗号化されます。パラメータ名、説明などのプロパティは暗号化されません。

`SecureString` パラメータタイプは、パスワード、アプリケーションシークレット、機密設定データ、保護するその他のタイプのデータなど、暗号化するテキストデータに使用できます。`SecureString` データは、AWS KMS キーを使用して暗号化および復号されます。AWS が提供するデフォルトの KMS キーを使用するか、独自の AWS KMS key を作成して使用することができます。(`SecureString` パラメータへのユーザーアクセスを制限する場合は自分の AWS KMS key を使用してください。 詳細については、「[AWS のデフォルトキーとカスタマーマネージドキーを使用するための IAM アクセス権限](sysman-paramstore-access.md#ps-kms-permissions)」を参照してください。）

他の AWS のサービスと `SecureString` パラメータを使用することもできます。次の例では、[GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API を使用して Lambda 関数で `SecureString` パラメータを取得します。

```
import json
import boto3
ssm = boto3.client('ssm', 'us-east-2')
def get_parameters():
    response = ssm.get_parameters(
        Names=['LambdaSecureString'],WithDecryption=True
    )
    for parameter in response['Parameters']:
        return parameter['Value']
        
def lambda_handler(event, context):
    value = get_parameters()
    print("value1 = " + value)
    return value  # Echo back the first key value
```

**AWS KMS の暗号化と料金**  
パラメータを作成するときに `SecureString` パラメータ型を選択すると、Systems Manager は AWS KMS を使用してパラメータ値を暗号化します。

**重要**  
Parameter Store では、[対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)のみをサポートしています。[非対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)を使用してパラメータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「AWS Key Management Service デベロッパーガイド」の「[対称キーと非対称 KMS キーの識別](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)」を参照してください。

Parameter Store では、`SecureString` パラメータの作成には料金はかかりませんが、AWS KMS 暗号化の使用には料金がかかります。詳細については、「[AWS Key Management Service の料金表](https://aws.amazon.com/kms/pricing)」を参照してください。

AWS マネージドキー およびカスタマーマネージドキーの詳細については、「*AWS Key Management Service デベロッパーガイド*」の「[AWS Key Management Service の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)」を参照してください。Parameter Store および AWS KMS の暗号化の詳細については、「[AWS KMS で AWS Systems ManagerParameter Store を使用する方法](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)」を参照してください。

**注記**  
AWS マネージドキー を表示するには、AWS KMS `DescribeKey` オペレーションを使用します。この AWS Command Line Interface (AWS CLI) の例では、`DescribeKey` を使用して AWS マネージドキー を表示します。  

```
aws kms describe-key --key-id alias/aws/ssm
```

**詳細情報**  
+ [Parameter Store で SecureString パラメータを作成して、ノードをドメインに結合する (PowerShell)](sysman-param-securestring-walkthrough.md)
+ [Parameter Store を使用して CodeDeploy で機密情報と Config データに安全にアクセス](https://aws.amazon.com/blogs/mt/use-parameter-store-to-securely-access-secrets-and-config-data-in-aws-codedeploy/)
+ [Amazon EC2 Systems Manager Parameter Store についての興味深い記事](https://aws.amazon.com/blogs/mt/interesting-articles-on-ec2-systems-manager-parameter-store/)

## パラメータサイズ制限
<a name="parameter-size-limits"></a>

Parameter Store のパラメータ値のサイズ制限は、使用するパラメータ階層に応じて異なります。
+ **標準パラメータ**: 4 KB の最大値サイズ
+ **高度なパラメータ**: 8 KB の最大値サイズ

4 KB より大きいパラメータ値を保存する必要がある場合は、高度なパラメータ階層を使用する必要があります。高度なパラメータは追加の機能を提供しますが、AWS アカウントで料金が発生します。パラメータ階層とその機能の詳細については、「[パラメータ層の管理](parameter-store-advanced-parameters.md)」を参照してください。

Parameter Store クォータと制限の完全なリストについては、「AWS 一般的なリファレンス」の「[AWS Systems Manager エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/ssm.html#parameter-store)」を参照してください。

# Parameter Store を設定する
<a name="parameter-store-setting-up"></a>

AWS Systems Manager のツールである Parameter Store でパラメータを設定する前に、最初に AWS Identity and Access Management (IAM) ポリシーを設定して、アカウント内のユーザーに指定したアクションを実行するためのアクセス許可を付与します。

このセクションでは、IAM コンソールを使用してこれらのポリシーを手動で設定する方法、およびそれらをユーザーとユーザーグループに割り当てる方法について説明します。マネージドノード上で実行できるパラメータアクションを制御するためのポリシーを作成して割り当てることもできます。

また、このセクションでは、Systems Manager パラメータの変更に関する通知を受信するために Amazon EventBridge ルールを作成する方法についても説明します。さらに、Parameter Store の変更に基づき、AWS で他のアクションを呼び出す EventBridge ルールを使用することもできます。

**Topics**
+ [IAM ポリシーを使用して Parameter Store パラメータへのアクセスを制限する](sysman-paramstore-access.md)
+ [パラメータ層の管理](parameter-store-advanced-parameters.md)
+ [Parameter Store スループットの引き上げまたはリセット](parameter-store-throughput.md)
+ [Parameter Store イベントに基づいた通知の設定またはアクションのトリガー](sysman-paramstore-cwe.md)

# IAM ポリシーを使用して Parameter Store パラメータへのアクセスを制限する
<a name="sysman-paramstore-access"></a>

AWS Identity and Access Management (IAM) を使用して、AWS Systems Manager パラメータへのアクセスを制限します。具体的には、次の API オペレーションへのアクセスを制限する IAM ポリシーを作成します。
+ [DeleteParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameter.html)
+ [DeleteParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DeleteParameters.html)
+ [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html)
+ [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)
+ [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html)
+ [GetParameterHistory](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameterHistory.html)
+ [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)
+ [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)

IAM ポリシーを使用して Systems Manager パラメータへのアクセスを制限する場合は、*制限付き* IAM ポリシーを作成して使用することをお勧めします。たとえば、以下のポリシーでは、ユーザーは限られた一連のリソースに対して `DescribeParameters` および `GetParameters` API オペレーションを呼び出すことができます。つまり、`prod-*` で始まるすべてのパラメータに関する情報を取得し、使用することができます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

**重要**  
ユーザーがパスへのアクセス許可を持つ場合、そのユーザーはそのパスのすべてのレベルにアクセスできます。たとえば、ユーザーがパス `/a` へのアクセス許可を持っている場合、ユーザーは `/a/b` にアクセスすることもできます。ユーザーが IAM でパラメータ `/a/b` へのアクセスを明示的に拒否された場合でも、`/a` に対して `GetParametersByPath` API オペレーションを再帰的に呼び出し、`/a/b` を表示できます。

信頼されている管理者には、以下の例のようなポリシーを使用することで、すべての Systems Manager パラメータ API オペレーションへのアクセスを許可できます。このポリシーにより、ユーザーは、`dbserver-prod-*` で始まるすべての本稼働パラメータにフルアクセスできます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:GetParameterHistory",
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:DeleteParameters"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/dbserver-prod-*"
        },
        {
            "Effect": "Allow",
            "Action": "ssm:DescribeParameters",
            "Resource": "*"
        }
    ]
}
```

------

## アクセス許可を拒否する
<a name="sysman-paramstore-deny-permissions"></a>

各 API は一意であり、個別に許可または拒否できる個別の操作とアクセス許可があります。ポリシー内の明示的な拒否は、許可に優先します。

**注記**  
デフォルトの AWS Key Management Service (AWS KMS) キーには、AWS アカウント 内のすべての IAM プリンシパルに対する `Decrypt` アクセス許可があります。アカウントの `SecureString` パラメータに対して異なるアクセスレベルを使用する場合は、デフォルトのキーを使用することはお勧めしません。

パラメータ値を取得するすべての API オペレーションの動作を同じにする場合は、ポリシーの `GetParameter*` ようなパターンを使用できます。次に、`GetParameter` で始まるすべてのパラメータについて、`GetParameters`、`GetParameterHistory`、`GetParametersByPath`、および `prod-*` を拒否する例を示します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ssm:GetParameter*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

次に、`prod-*` で始まるすべてのパラメータに対してユーザーが他のコマンドを実行できるようにしながら、一部のコマンドを拒否する例を示します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter",
                "ssm:DeleteParameter",
                "ssm:DeleteParameters",
                "ssm:DescribeParameters"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParametersByPath",
                "ssm:GetParameters",
                "ssm:GetParameter",
                "ssm:GetParameterHistory"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
        }
    ]
}
```

------

**注記**  
パラメータ履歴には、現在のパラメータを含むすべてのパラメータバージョンが含まれます。したがって、`GetParameter`、`GetParameters`、および `GetParameterByPath` に対するアクセス許可が拒否され、`GetParameterHistory` に対するアクセス許可が認められている場合、`SecureString` を使用して、`GetParameterHistory` パラメータを含む現在のパラメータを表示できます。

## 特定のパラメータのみノードでの実行を許可する
<a name="sysman-paramstore-access-inst"></a>

指定したパラメータのみをマネージドノードが実行できるようにアクセスをコントロールできます。

パラメータを作成するときに `SecureString` パラメータ型を選択した場合、Systems Manager は AWS KMS を使用してパラメータ値を暗号化します。AWS KMS は AWS マネージドキー またはカスタマーマネージドキーを使用して値を暗号化します。AWS KMS と AWS KMS key の詳細については、「[AWS Key Management Service デベロッパーガイド](https://docs.aws.amazon.com/kms/latest/developerguide/)」を参照してください。

AWS マネージドキー を表示するには、以下のコマンドを AWS CLI から実行します。

```
aws kms describe-key --key-id alias/aws/ssm
```

以下の例では、「`prod-`」で始まるパラメータに対してのみ、ノードがパラメータの値を取得できるようにしています。パラメータが `SecureString` の場合、ノードは AWS KMS を使用してその文字列を復号化します。

**注記**  
以下の例のように、IAM でインスタンスポリシーはインスタンスロールに割り当てられます。ユーザーとインスタンスにポリシーを割り当てる方法を含め、Systems Manager の機能へのアクセスを設定する方法の詳細については、「[Systems Manager を利用した EC2 インスタンスの管理](systems-manager-setting-up-ec2.md)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/4914ec06-e888-4ea5-a371-5b88eEXAMPLE"
            ]
        }
    ]
}
```

------

## AWS のデフォルトキーとカスタマーマネージドキーを使用するための IAM アクセス権限
<a name="ps-kms-permissions"></a>

Parameter Store `SecureString` パラメータは、AWS KMS キーを使用して暗号化および復号化されます。AWS が提供する AWS KMS key またはデフォルトの KMS キーを使用して、`SecureString` パラメータを暗号化することを選択できます。

カスタマーマネージドキーを使用する場合、パラメータまたはパラメータパスへのユーザーアクセスを許可する IAM ポリシーによって、キーに対する明示的な `kms:Encrypt` アクセス許可を提供する必要があります。例えば、次のポリシーでは、指定した AWS リージョン と AWS アカウント で「`prod-`」で始まる `SecureString` パラメータを作成、更新、表示できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                "ssm:GetParameter",
                "ssm:GetParameters"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:parameter/prod-*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:Encrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-12345EXAMPLE"
            ]
        }
    ]
}
```

------

**注記**  
指定されたカスタマーマネージドキーを使用して暗号化された詳細パラメータを作成するには、`kms:GenerateDataKey` アクセス許可が必要です。

対照的に、カスタマーアカウント内のすべてのユーザーは、デフォルトの AWS マネージドキーにアクセスできます。このデフォルトキーを使用して `SecureString` パラメータを暗号化し、ユーザーが `SecureString` パラメータを操作しないようにする場合は、次のポリシー例に示すように、IAM ポリシーでデフォルトキーへのアクセスを明示的に拒否する必要があります。

**注記**  
デフォルトのキーの Amazon リソースネーム (ARN) は、AWS KMS コンソールの [[AWS マネージドキー]](https://console.aws.amazon.com/kms/home#/kms/defaultKeys) ページで確認できます。デフォルトのキーは、**[エイリアス]** 列の `aws/ssm` で識別されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Deny",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:111122223333:key/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE"
            ]
        }
    ]
}
```

------

アカウントの `SecureString` パラメータに対するきめ細かいアクセス制御が必要な場合は、カスタマーマネージドキーを使用して、これらのパラメータへのアクセスを保護および制限する必要があります。また、AWS CloudTrail を使用して `SecureString` パラメータのアクティビティを監視することをお勧めします。

詳細については、以下のトピックを参照してください。
+ *IAM ユーザーガイド*の「[ポリシー評価ロジック](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html)」
+ 「AWS Key Management Service デベロッパーガイド」の「[AWS KMS の主要ポリシーを使用する](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)」
+ *AWS CloudTrail ユーザーガイド*の「[CloudTrail イベント履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」

# パラメータ層の管理
<a name="parameter-store-advanced-parameters"></a>

AWS Systems Manager のツールである Parameter Store には、*スタンダードパラメータ*と*アドバンストパラメータ*が含まれています。スタンダードパラメータ階層 (デフォルト階層) またはアドバンストパラメータ階層を使用するようパラメータを個別に設定します。

スタンダードパラメータをアドバンストパラメータに変更することはできますが、アドバンストパラメータをスタンダードパラメータに変更することはできません。アドバンストパラメータをスタンダードパラメータに戻すと、システムはパラメータのサイズを 8 KB から 4 KB に切り捨て、データが失われるためです。元に戻すと、パラメータにアタッチされたポリシーも削除されます。また、アドバンストパラメータはスタンダードパラメータよりもさまざまな暗号化形式を使用します。詳細については、AWS Key Management Service デベロッパーガイドの「[AWS Systems ManagerParameter Store が AWS KMS を使用する方法](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)」を参照してください。

アドバンストパラメータが不要になった場合、またはアドバンストパラメータの料金を抑えたい場合は、アドバンストパラメータを削除して新しいスタンダードパラメータとして再作成します。

以下の表では、階層の違いについて説明しています。


****  

|  | スタンダード | アドバンスト | 
| --- | --- | --- | 
|  許可されるパラメータの合計数 (AWS アカウント および AWS リージョン あたり)  |  10,000  |  100,000  | 
|  パラメータ値の最大サイズ  |  4 KB  |  8 KB  | 
|  パラメータポリシーの使用可否  |  いいえ  |  はい 詳細については、[Parameter Store でのパラメータポリシーの割り当て](parameter-store-policies.md)を参照してください  | 
|  Cost  |  追加料金なし  |  料金対象 詳細については、「[Parameter Store 向けの AWS Systems Manager 料金](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)」を参照してください。  | 

**Topics**
+ [デフォルトのパラメータ階層の指定](#ps-default-tier)
+ [スタンダードパラメータをアドバンストパラメータに変更する](#parameter-store-advanced-parameters-enabling)

## デフォルトのパラメータ階層の指定
<a name="ps-default-tier"></a>

パラメータを作成または更新するリクエスト (つまり、`[https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html)` オペレーション) では、リクエストで使用するパラメータ階層を指定できます。以下に示しているのは、AWS Command Line Interface (AWS CLI) を使用した例です。

------
#### [ Linux & macOS ]

```
aws ssm put-parameter \
    --name "default-ami" \
    --type "String" \
    --value "t2.micro" \
    --tier "Standard"
```

------
#### [ Windows ]

```
aws ssm put-parameter ^
    --name "default-ami" ^
    --type "String" ^
    --value "t2.micro" ^
    --tier "Standard"
```

------

リクエストで階層を指定するたびに、Parameter Store はリクエストに応じてパラメータを作成または更新します。ただし、リクエストで階層を明示的に指定しない場合、デフォルトの Parameter Store 階層設定によって、パラメータが作成される階層が決まります。

スタンダードパラメータ階層は、Parameter Store の使用を開始するときのデフォルトの階層です。アドバンストパラメータ階層を使用する場合、デフォルトとして次のいずれかを指定できます。
+ **アドバンスト**: このオプションでは、パラメータストアはすべてのリクエストをアドバンストパラメータとして評価します。
+ **Intelligent-Tiering**: このオプションでは、Parameter Store は各リクエストを評価して、パラメータがスタンダードパラメータかアドバンストパラメータかを判断します。

  リクエストに詳細パラメータを必要とするオプションが含まれていない場合、パラメータは標準パラメータ階層で作成されます。アドバンストパラメータを必要とする 1 つ以上のオプションがリクエストに含まれている場合、Parameter Store はアドバンストパラメータ階層でパラメータを作成します。

**Intelligent-Tiering の利点**  
以下は、デフォルトの階層として Intelligent-Tiering を選択する理由です。

**コスト管理** - Intelligent-Tiering は、高度なパラメータが絶対に必要な場合を除き、常に標準パラメータを作成することで、パラメータ関連のコストを管理するのに役立ちます。

**アドバンストパラメータ階層への自動アップグレード** - 標準パラメータをアドバンストパラメータにアップグレードする必要があるコードに変更を加えると、Intelligent-Tiering によって変換が処理されます。アップグレードを処理するためにコードを変更する必要はありません。

自動アップグレードの例をいくつか示します。
+ AWS CloudFormation テンプレートは、実行時に多数のパラメータをプロビジョニングします。このプロセスによって標準パラメータ階層で 10,000 個のパラメータのクォータに達した場合、Intelligent-Tiering によって自動的にアドバンストパラメータ階層にアップグレードされ、CloudFormation プロセスは中断されません。
+ 証明書値をパラメータに保存し、証明書値を定期的にローテーションします。コンテンツは標準パラメータ階層の 4 KB のクォータを下回ります。代替証明書の値が 4 KB を超える場合、Intelligent-Tiering は自動的にパラメータをアドバンストパラメータ階層にアップグレードします。
+ 多数の既存の標準パラメータをパラメータポリシーに関連付ける必要があります。これには、アドバンストパラメータ階層が必要です。パラメータを更新するすべての呼び出しに `--tier Advanced` オプションを含める必要はなく、Intelligent-Tiering は自動的にパラメータをアドバンストパラメータ階層にアップグレードします。Intelligent-Tiering オプションは、アドバンストパラメータ階層の基準が導入されるたびに、パラメータを標準からアドバンストにアップグレードします。

アドバンストパラメータを必要とするオプションには、以下が含まれます。
+ パラメータのコンテンツサイズが 4 KB を超えています。
+ パラメータは、パラメータポリシーを使用します。
+ 現在の AWS リージョン では、10,000 を超えるパラメータが既に AWS アカウント に存在します。

**デフォルトの階層オプション**  
デフォルトとして指定できる階層オプションには、以下が含まれます。
+ **スタンダード** – スタンダードパラメータ階層は、Parameter Store の使用を開始するときのデフォルトの階層です。スタンダードパラメータ階層を使用すると、AWS アカウント の AWS リージョン ごとに 10,000 個のパラメータを作成できます。各パラメータのコンテンツサイズは最大 4 KB と等しくできます。標準パラメータはパラメータポリシーをサポートしていません。標準パラメータ階層の使用に追加料金はかかりません。デフォルト階層として [**標準**] を選択すると、Parameter Store は常に、階層を指定しないリクエストに対して標準パラメータの作成を試みます。
+ **アドバンスト** – アドバンストパラメータ階層を使用して、AWS アカウント の AWS リージョン ごとに最大 100,000 個のパラメータを作成します。各パラメータのコンテンツサイズは、最大 8 KB と等しくできます。アドバンストパラメータはパラメータポリシーをサポートします。パラメータを共有するには、そのパラメータが詳細パラメータ階層に含まれている必要があります。アドバンストパラメータ階層の使用には料金が発生します。詳細については、「[Parameter Store 向けの AWS Systems Manager 料金](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)」を参照してください。デフォルト階層として [**アドバンスト**] を選択すると、Parameter Store は階層を指定しないリクエストに対して常にアドバンストパラメータの作成を試みます。
**注記**  
アドバンストパラメータ階層を選択する場合、作成するアドバンストパラメータについて AWS がアカウントに課金することを明示的に承認します。
+ **Intelligent-Tiering **– Intelligent-Tiering オプションを使用して、Parameter Store は、リクエストのコンテンツに基づいて、スタンダードパラメータ階層またはアドバンストパラメータ階層のどちらを使用するか決定します。例えば、4 KB 未満のコンテンツを持つパラメータを作成するコマンドを実行し、AWS アカウント の現在の AWS リージョン に存在するパラメータが 10,000 個未満であり、パラメータポリシーを指定しない場合、標準パラメータが作成されます。4 KB を超えるコンテンツを含むパラメータを作成するコマンドを実行する場合、AWS アカウント の現在の AWS リージョン に 10,000 個を超えるパラメータが既にある場合、またはパラメータポリシーを指定すると、アドバンストパラメータが作成されます。
**注記**  
Intelligent-Tiering を選択する場合、作成したアドバンストパラメータについて AWS がアカウントに課金することを明示的に承認する必要があります。

デフォルトの Parameter Store 階層設定はいつでも変更できます。

### デフォルトの Parameter Store 階層を指定するアクセス許可の設定
<a name="parameter-store-tier-permissions"></a>

次のいずれかを実行して、Parameter Store のデフォルトパラメータ階層を変更するアクセス許可が AWS Identity and Access Management (IAM) にあることを確認します。
+ `AdministratorAccess` ポリシーが IAM エンティティ (ユーザー、グループ、ロールなど) にアタッチされていることを確認します。
+ 次の API オペレーションを使用して、デフォルト階層設定を変更するアクセス権限があることを確認します。
  + [GetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html)
  + [UpdateServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateServiceSetting.html)
  + [ResetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_ResetServiceSetting.html)

IAM エンティティに次のアクセス許可を付与して、ユーザーが AWS アカウント の特定の AWS リージョン でパラメータのデフォルト階層の設定を表示および変更できるようにします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/default-parameter-tier"
        }
    ]
}
```

------

管理者は、次のアクセス許可を割り当てることで、読み取り専用のアクセス許可を指定することができます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:ResetServiceSetting",
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "*"
        }
    ]
}
```

------

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
+ AWS IAM アイデンティティセンター のユーザーとグループ:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

### コンソールを使用してデフォルトの Parameter Store 階層を指定または変更する
<a name="parameter-store-tier-changing"></a>

次の手順は、Systems Manager コンソールを使用して、現在の AWS アカウント と AWS リージョン のデフォルトのパラメータ階層を指定または変更する方法を示しています。

**ヒント**  
まだパラメータを作成していない場合は、AWS Command Line Interface (AWS CLI) または AWS Tools for Windows PowerShell を使用してデフォルトのパラメータ層を変更できます。詳細については、「[AWS CLI を使用したデフォルトの Parameter Store 階層の指定または変更](#parameter-store-tier-changing-cli)」および「[デフォルトの Parameter Store 階層の指定または変更 (PowerShell)](#parameter-store-tier-changing-ps)」を参照してください。

**デフォルトの Parameter Store 階層を指定または変更するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. [**Settings**] タブを選択します。

1. [ **Change default tier (デフォルト階層の変更)**] を選択します。

1. 次のいずれかのオプションを選択します。
   + **スタンダード**
   + **アドバンスト**
   + [**Intelligent-Tiering**]

   これらのオプションについては、「[デフォルトのパラメータ階層の指定](#ps-default-tier)」を参照してください。

1. メッセージを確認したら、[**確認**] を選択します。

デフォルト階層の設定を後で変更する場合は、この手順を繰り返し、別のデフォルト階層オプションを指定します。

### AWS CLI を使用したデフォルトの Parameter Store 階層の指定または変更
<a name="parameter-store-tier-changing-cli"></a>

次の手順では、AWS CLI を使用して、現在の AWS アカウント と AWS リージョン のデフォルトのパラメータ階層の設定を変更する方法を示します。

**AWS CLI を使用してデフォルトの Parameter Store 階層を指定または変更するには**

1. AWS CLI を開き、次のコマンドを実行して、AWS アカウント の特定の AWS リージョン のデフォルトのパラメータ階層設定を変更します。

   ```
   aws ssm update-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier --setting-value tier-option
   ```

   *region* は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている*リージョン*値のリストについては、「*Amazon Web Services 全般のリファレンス*」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある**リージョン**列を参照してください。

   *階層オプション* の値は、`Standard`、`Advanced`、および `Intelligent-Tiering` です。これらのオプションについては、「[デフォルトのパラメータ階層の指定](#ps-default-tier)」を参照してください。

   コマンドが成功した場合、出力はありません。

1. 次のコマンドを実行して、現在の AWS アカウント と AWS リージョン の Parameter Store で現在のデフォルトパラメータ層のサービス設定を表示します。

   ```
   aws ssm get-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier
   ```

   システムは以下のような情報を返します。

   ```
   {
       "ServiceSetting": {
           "SettingId": "/ssm/parameter-store/default-parameter-tier",
           "SettingValue": "Advanced",
           "LastModifiedDate": 1556551683.923,
           "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
           "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier",
           "Status": "Customized"
       }
   }
   ```

デフォルトの階層設定を再び変更する場合は、この手順を繰り返し、別の `SettingValue` オプションを指定します。

### デフォルトの Parameter Store 階層の指定または変更 (PowerShell)
<a name="parameter-store-tier-changing-ps"></a>

次の手順では、Tools for Windows PowerShell を使用して、Amazon Web Services アカウントの特定の AWS リージョン のデフォルトのパラメータ階層の設定を変更する方法を示します。

**PowerShell を使用してデフォルトの Parameter Store 階層を指定または変更するには**

1. AWS Tools for PowerShell (Tools for PowerShell) を使用して、現在の AWS アカウント と AWS リージョン の Parameter Store のデフォルト階層を変更します。

   ```
   Update-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -SettingValue "tier-option" -Region region
   ```

   *region* は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている*リージョン*値のリストについては、「*Amazon Web Services 全般のリファレンス*」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある**リージョン**列を参照してください。

   *階層オプション* の値は、`Standard`、`Advanced`、および `Intelligent-Tiering` です。これらのオプションについては、「[デフォルトのパラメータ階層の指定](#ps-default-tier)」を参照してください。

   コマンドが成功した場合、出力はありません。

1. 次のコマンドを実行して、現在の AWS アカウント と AWS リージョン の Parameter Store で現在のデフォルトパラメータ層のサービス設定を表示します。

   ```
   Get-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/default-parameter-tier" -Region region
   ```

   *region* は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている*リージョン*値のリストについては、「*Amazon Web Services 全般のリファレンス*」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある**リージョン**列を参照してください。

   システムは以下のような情報を返します。

   ```
   ARN : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/default-parameter-tier
   LastModifiedDate : 4/29/2019 3:35:44 PM
   LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper
   SettingId        : /ssm/parameter-store/default-parameter-tier
   SettingValue     : Advanced
   Status           : Customized
   ```

デフォルトの階層設定を再び変更する場合は、この手順を繰り返し、別の `SettingValue` オプションを指定します。

## スタンダードパラメータをアドバンストパラメータに変更する
<a name="parameter-store-advanced-parameters-enabling"></a>

既存のスタンダードパラメータをアドバンストパラメータに変更するには、次の手順を使用します。新しい詳細パラメータの作成方法については、「[Systems Manager での Parameter Store パラメータの作成](sysman-paramstore-su-create.md)」を参照してください。

**スタンダードパラメータをアドバンストパラメータに変更するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. パラメータを選択してから、[**編集**] を選択します。

1. [**説明**] に、このパラメータに関する情報を入力します。

1. [**Advanced**] を選択します。

1. [**値**]に、このパラメータの値を入力します。アドバンストパラメータの最大値は 8 KB に制限されます。

1. **[Save changes]** (変更の保存) をクリックします。

# Parameter Store スループットの引き上げまたはリセット
<a name="parameter-store-throughput"></a>

Parameter Store のスループットを増やすと、AWS Systems Manager のツールである Parameter Store が処理できる 1 秒あたりのトランザクション (TPS) の最大数が増加します。スループットが引き上げられると、複数のパラメータに同時アクセスが必要なアプリケーションとワークロードをサポートするため、高いボリュームで Parameter Store を運用できます。**[Settings]** (設定) タブでは、最大スループットまでクォータを引き上げることができます。

Parameter Store のスループット設定は、現在の AWS アカウント と AWS リージョン におけるすべての (IAM) ユーザーによって作成されたすべてのトランザクションに適用されます。スループット設定は、スタンダードおよびアドバンストのパラメータに適用されます。

**注記**  
通常、更新は Service Quotas にすぐに表示されます。まれに、更新が反映されるまでに最大 24 時間かかることがあります。

最大スループットのデフォルトと上限の詳細については、「[AWS Systems Manager エンドポイントとクォータ](https://docs.aws.amazon.com//general/latest/gr/ssm.html#limits_ssm)」を参照してください。

スループットのクォータを引き上げると、AWS アカウント に追加料金が発生します。詳細については、[AWS Systems Manager の料金](https://aws.amazon.com/systems-manager/pricing/)を参照してください。

**Topics**
+ [Parameter Store のスループットを変更するアクセス許可を設定する](#parameter-store-throughput-permissions)
+ [コンソールを使用したスループットの引き上げまたはリセット](#parameter-store-throughput-increasing)
+ [AWS CLI を使用したスループットの引き上げまたはリセット](#parameter-store-throughput-increasing-cli)
+ [スループットの引き上げまたはリセット (PowerShell)](#parameter-store-throughput-increasing-ps)

## Parameter Store のスループットを変更するアクセス許可を設定する
<a name="parameter-store-throughput-permissions"></a>

次のいずれかを実行して、Parameter Store のスループットを変更する IAM のアクセス許可があることを確認します。
+ `AdministratorAccess` ポリシーが、IAM エンティティ (ユーザー、グループ、またはロール) にアタッチされていることを確認します。
+ 次の API オペレーションを使用して、スループットサービス設定を変更する権限があることを確認します。
  + [GetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetServiceSetting.html)
  + [UpdateServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateServiceSetting.html)
  + [ResetServiceSetting](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_ResetServiceSetting.html)

IAM エンティティに次のアクセス許可を付与して、ユーザーが AWS アカウント の特定の AWS リージョン でパラメータのスループット設定を表示および変更できるようにします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled"
        }
    ]
}
```

------

管理者は、次のアクセス許可を割り当てることで、読み取り専用のアクセス許可を指定することができます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:GetServiceSetting"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:ResetServiceSetting",
                "ssm:UpdateServiceSetting"
            ],
            "Resource": "*"
        }
    ]
}
```

------

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。
+ AWS IAM アイデンティティセンター のユーザーとグループ:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

## コンソールを使用したスループットの引き上げまたはリセット
<a name="parameter-store-throughput-increasing"></a>

次の手順では、Systems Manager コンソールを使用して Parameter Store が現在の AWS アカウント と AWS リージョン に対して処理できる 1 秒あたりのトランザクション数を引き上げる方法を示します。スループットの向上が不要になった場合や追加の料金を回避したい場合に標準の設定に戻す方法も示します。

**コンソールを使用して Parameter Store スループットを増加またはリセットするには**
**ヒント**  
パラメータをまだ作成していない場合は、AWS Command Line Interface (AWS CLI) または AWS Tools for Windows PowerShell を使用してスループットを増加することができます。詳細については、「[AWS CLI を使用したスループットの引き上げまたはリセット](#parameter-store-throughput-increasing-cli)」および「[スループットの引き上げまたはリセット (PowerShell)](#parameter-store-throughput-increasing-ps)」を参照してください。

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. **[Settings]** (設定) タブを選択します。

1. スループットを上げるには、**[上限をセットする]** を選択します。

   -または-

    デフォルトの上限に戻すには、**[上限をリセットする]** を選択します。

1. 上限を上げる場合は、次の手順を実行します。
   + **[この設定を変更すると AWS アカウント に料金が発生することを承諾します]** のチェックボックスを選択します。
   + [**Set limit (制限の設定)**] を選択します。

   -または-

   上限をデフォルトにリセットする場合は、次の手順を実行します。
   + **[デフォルトのスループット上限にリセットすると、Parameter Store で 1 秒あたりに処理されるトランザクションが少なくなることを承諾します]** のチェックボックスを選択します。
   + **[上限をリセットする]** を選択します。

## AWS CLI を使用したスループットの引き上げまたはリセット
<a name="parameter-store-throughput-increasing-cli"></a>

次の手順では、AWS CLI を使用して、Parameter Store が現在の AWS アカウント と AWS リージョン に対して処理できる 1 秒あたりのトランザクションの数を増やす方法を示します。デフォルトの上限に戻すこともできます。

**AWS CLI を使用して Parameter Store のスループットを向上させるには**

1. AWS CLI を開き、次のコマンドを実行して、現在の AWS アカウント と AWS リージョン で Parameter Store が処理できる 1 秒あたりのトランザクション数を増やします。

   ```
   aws ssm update-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled --setting-value true
   ```

   コマンドが成功した場合、出力はありません。

1. 次のコマンドを実行して、現在の AWS アカウント と AWS リージョン の Parameter Store で現在のスループットサービス設定を表示します。

   ```
   aws ssm get-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled
   ```

   システムは以下のような情報を返します。

   ```
   {
       "ServiceSetting": {
           "SettingId": "/ssm/parameter-store/high-throughput-enabled",
           "SettingValue": "true",
           "LastModifiedDate": 1556551683.923,
           "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
           "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled",
           "Status": "Customized"
       }
   }
   ```

スループットの向上が不要になった場合や追加の料金を節約したい場合は、標準の設定に戻すことができます。設定を元に戻すには、次のコマンドを実行します。

```
aws ssm reset-service-setting --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled
```

```
{
    "ServiceSetting": {
        "SettingId": "/ssm/parameter-store/high-throughput-enabled",
        "SettingValue": "false",
        "LastModifiedDate": 1555532818.578,
        "LastModifiedUser": "System",
        "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled",
        "Status": "Default"
    }
}
```

## スループットの引き上げまたはリセット (PowerShell)
<a name="parameter-store-throughput-increasing-ps"></a>

次の手順は、Tools for Windows PowerShell を使用して、現在の AWS アカウント と AWS リージョン に対して Parameter Store が処理できる 1 秒あたりのトランザクション数を引き上げる増やす方法を示しています。デフォルトの上限に戻すこともできます。

**PowerShell を使用して Parameter Store のスループットを向上させるには**

1. AWS Tools for PowerShell (Tools for PowerShell) を使用して、現在の AWS アカウント と AWS リージョン の Parameter Store のスループットを引き上げます。

   ```
   Update-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled" -SettingValue "true" -Region region
   ```

   コマンドが成功した場合、出力はありません。

1. 次のコマンドを実行して、現在の AWS アカウント と AWS リージョン の Parameter Store で現在のスループットサービス設定を表示します。

   ```
   Get-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled" -Region region
   ```

   システムは以下のような情報を返します。

   ```
   ARN              : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled
   LastModifiedDate : 4/29/2019 3:35:44 PM
   LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper
   SettingId        : /ssm/parameter-store/high-throughput-enabled
   SettingValue     : true
   Status           : Customized
   ```

スループットの向上が不要になった場合や追加の料金を節約したい場合は、標準の設定に戻すことができます。設定を元に戻すには、次のコマンドを実行します。

```
Reset-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled" -Region region
```

システムは以下のような情報を返します。

```
ARN              : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled
LastModifiedDate : 4/17/2019 8:26:58 PM
LastModifiedUser : System
SettingId        : /ssm/parameter-store/high-throughput-enabled
SettingValue     : false
Status           : Default
```

# Parameter Store イベントに基づいた通知の設定またはアクションのトリガー
<a name="sysman-paramstore-cwe"></a>

このセクションのトピックでは、Amazon EventBridge および Amazon Simple Notification Service (Amazon SNS) を使用して、AWS Systems Manager のパラメータに変更があったことの通知を受け取る方法について説明します。パラメータまたはパラメータラベルのバージョンが作成、更新、または削除されたときに通知する EventBridge ルールを作成できます。イベントは、ベストエフォートベースで出力されます。パラメータの有効期限切れ、期限切れ間近、または指定された期間中に変更されていないなど、パラメータポリシーに関する変更またはステータスに関する通知を受信することができます。

**注記**  
パラメータポリシーは、高度なパラメータ階層を使用するパラメータに利用できます。料金が適用されます。詳細については、「[Parameter Store でのパラメータポリシーの割り当て](parameter-store-policies.md)」および「[パラメータ層の管理](parameter-store-advanced-parameters.md)」を参照してください。

本セクションのトピックでは、特定のパラメータイベントに対してターゲット上で他のアクションを開始する方法も説明しています。たとえば、有効期限が切れたか、削除された場合に、そのパラメータを自動的に再作成する AWS Lambda 関数を実行することができます。また、データベースパスワードが更新された際に Lambda 関数を起動する通知をセットアップすることもできます。Lambda 関数は、データベース接続のリセットまたは新しいパスワードでの再接続を強制できます。EventBridge は、Run Command コマンドの実行と Automation の実行、およびその他多くの AWS のサービスでのアクションもサポートしています。Run Command と Automation はどちらも AWS Systems Manager のツールです。詳細については、「*[Amazon EventBridge ユーザーガイド](https://docs.aws.amazon.com/eventbridge/latest/userguide/)*」を参照してください。

**開始する前に**  
作成したルールのターゲットアクションを指定するために必要なリソースを作成します。例えば、作成したルールが通知の送信用である場合は、まず Amazon SNS トピックを作成します。詳細については、「Amazon Simple Notification Service デベロッパーガイド」の「[Amazon SNS の使用開始](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.htmlGettingStarted.html)」を参照してください。

## パラメータおよびパラメータポリシー用の EventBridge ルールを設定する
<a name="cwe-parameter-changes"></a>

このトピックは、次のセクションで構成されています。
+ AWS アカウント の 1 つ以上のパラメータに発生したイベントに基づき、ターゲットを呼び出す EventBridge ルールを作成する方法。
+ AWS アカウント の 1 つ以上のパラメータポリシーに発生したイベントに基づき、ターゲットを呼び出す EventBridge ルールを作成する方法。詳細パラメータを作成する際、パラメータの失効日、パラメータの有効期限の失効前に通知を受信するタイミング、パラメータが変更されていないことを示す通知を送信するまでの時間を指定します。次の手順を使用して、これらのイベントの通知を設定します。詳細については、「[Parameter Store でのパラメータポリシーの割り当て](parameter-store-policies.md)」および「[パラメータ層の管理](parameter-store-advanced-parameters.md)」を参照してください。

**Systems Manager パラメータまたはパラメータポリシー用に EventBridge を設定するには**

1. Amazon EventBridge コンソール の[https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ナビゲーションペインで、[**Rules** (ルール)] を選択し、[**Create rule** (ルールの作成)] を選択します。

   -または-

   EventBridge ホームページが最初に開く場合は、[**Create rule **(ルールの作成)] を選択します。

1. ルールの名前と説明を入力します。

   ルールには同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

1. **[イベントバス]** で、このルールに関連付けるイベントバスを選択します。このルールをユーザー自身の AWS アカウント の一致するイベントで開始する場合は、**[Default]** (デフォルト) 選択します。アカウントの AWS のサービスで発生したイベントは、常にアカウントのデフォルトのイベントバスに移動します。

1. **[Rule type]** (ルールタイプ) で、デフォルトの **[Rule with an event pattern]** (イベントパターンを持つルール) を選択したままにします。

1. [**次へ**] を選択します。

1. **[イベントソース]** で、デフォルトの **[AWS イベントまたは EventBridge パートナーイベント]** を選択したままにします。**[Sample event]** (サンプルイベント) セクションはスキップできます。

1. **[Event pattern]** (イベントパターン) の場合は次のいずれかを実行します。
   + **[Custom pattern (JSON editor)]** (カスタムパターン (JSON エディター)) を選択します。
   + **[Event pattern]** (イベントパターン) で、パラメータまたはパラメータポリシーのどちらのルールを作成するかに応じて、次のいずれかの内容をボックスに貼り付けます。

------
#### [ Parameter ]

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Change"
         ],
         "detail": {
             "name": [
                 "parameter-1-name",
                 "/parameter-2-name/level-2",
                 "/parameter-3-name/level-2/level-3"
             ],
             "operation": [
                 "Create",
                 "Update",
                 "Delete",
                 "LabelParameterVersion"
             ]
         }
     }
     ```

------
#### [ Parameter policy ]

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Policy Action"
         ],
         "detail": {
             "parameter-name": [
                 "parameter-1-name",
                 "/parameter-2-name/level-2",
                 "/parameter-3-name/level-2/level-3"
             ],
             "policy-type": [
                 "Expiration",
                 "ExpirationNotification",
                 "NoChangeNotification"
             ]
         }
     }
     ```

------
   + 次の例に示されているように、アクションを行うパラメータやオペレーションの内容を変更します。

------
#### [ Parameter ]

     この例では、`Oncall` と `/Project/Teamlead` という名前のいずれかのパラメータが更新されると、アクションが実行されます。

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Change"
         ],
         "detail": {
             "name": [
                 "/Oncall",
                 "/Project/Teamlead"
             ],
             "operation": [
                 "Update"
             ]
         }
     }
     ```

------
#### [ Parameter policy ]

     この例では、`OncallDuties` という名前のパラメータが失効し、削除されると、アクションが実行されます。

     ```
     {
         "source": [
             "aws.ssm"
         ],
         "detail-type": [
             "Parameter Store Policy Action"
         ],
         "detail": {
             "parameter-name": [
                 "/OncallDuties"
             ],
             "policy-type": [
                 "Expiration"
             ]
         }
     }
     ```

------

1. [**次へ**] を選択します。

1. **[Target 1]** (ターゲット 1) で、ターゲットタイプとサポートされているリソースを選択します。たとえば、[**SNS トピック**] を選択した場合は、[**トピック**] に対して選択を行います。**[CodePipeline]** を選択した場合は、**[Pipeline ARN]** (パイプライン ARN) にパイプライン ARN を入力します。必要に応じて、追加の設定値を指定します。
**ヒント**  
ルールに追加のターゲットが必要な場合は、**[Add another target]** (別のターゲットを追加) を選択します。

1. [**次へ**] を選択します。

1. (オプション) ルールに 1 つ以上のタグを入力します。詳細については、*Amazon EventBridge ユーザーガイド*の[Amazon EventBridge のタグ](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html)を参照してください。

1. [**次へ**] を選択します。

1. **ルールの作成**を選択してください。

**詳細情報**  
+ [環境全体での設定更新を容易にするためにパラメーターラベルを使用する](https://aws.amazon.com/blogs/mt/use-parameter-labels-for-easy-configuration-update-across-environments/)
+ 「Amazon EventBridge ユーザーガイド」の「[Tutorial: Use EventBridge to relay events to AWS Systems ManagerRun Command](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ec2-run-command.html)」
+ *Amazon EventBridge ユーザーガイド*の「[チュートリアル: AWS Systems Manager Automation を EventBridge のターゲットとして設定する](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ssm-automation-as-target.html)」

# 「Parameter Store」 の使用
<a name="parameter-store-working-with"></a>

このセクションでは、タグパラメータを編成および作成する方法と、パラメータの異なるバージョンを作成する方法について説明します。

AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、AWS Tools for PowerShell、AWS SDK を使用して、パラメータを作成して操作できます。パラメータの詳細については、「[パラメータとは何ですか?](systems-manager-parameter-store.md#what-is-a-parameter)」を参照してください。

**Topics**
+ [Systems Manager での Parameter Store パラメータの作成](sysman-paramstore-su-create.md)
+ [Systems Manager での Parameter Store パラメータの検索](parameter-search.md)
+ [Parameter Store でのパラメータポリシーの割り当て](parameter-store-policies.md)
+ [Parameter Store でのパラメータ階層の使用](sysman-paramstore-hierarchies.md)
+ [Parameter Store API オペレーションへのアクセスの防止](parameter-store-policy-conditions.md)
+ [Parameter Store でのパラメータラベルの操作](sysman-paramstore-labels.md)
+ [Parameter Store でのパラメータバージョンの使用](sysman-paramstore-versions.md)
+ [Parameter Store での共有パラメータの使用](parameter-store-shared-parameters.md)
+ [Run Command コマンドを使用した Parameter Store でのパラメータの操作](sysman-param-runcommand.md)
+ [Amazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用](parameter-store-ec2-aliases.md)
+ [Parameter Store からのパラメータの削除](deleting-parameters.md)

# Systems Manager での Parameter Store パラメータの作成
<a name="sysman-paramstore-su-create"></a>

以下のトピックの情報は、AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、AWS Tools for Windows PowerShell (Tools for Windows PowerShell ) を使用して Systems Manager パラメータを作成するのに役立ちます。

このセクションでは、テスト環境で Parameter Store を使用してパラメータを作成、保存、実行する方法について説明します。また、他の Systems Manager ツールや AWS のサービスで Parameter Store を使用する方法についても説明します。詳細については、[パラメータとは何ですか?](systems-manager-parameter-store.md#what-is-a-parameter)を参照してください。

## パラメータ名の要件と制約を理解する
<a name="sysman-parameter-name-constraints"></a>

このトピックの情報を使用して、パラメータの作成時にパラメータ名に有効な値を指定します。

この情報は *AWS Systems Manager API リファレンス* のトピック [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) の詳細を補完し、**AllowedPattern**、**Description**、**KeyId**、**Overwrite**、**Type**、**Value** の値についての詳細も提供します。

パラメータ名の要件と制約には次のようなものがあります。
+ **大文字と小文字の区別**: パラメータ名では大文字と小文字が区別されます。
+ **スペース**: パラメータ名に空白を含めることはできません。
+ **有効な文字**: パラメータ名には、記号と文字として `a-zA-Z0-9_.-` のみを使用できます。

  さらに、スラッシュ文字 (/) は、パラメータ名の階層を表すために使用されます。例: `/Dev/Production/East/Project-ABC/MyParameter`
+ **有効な AMI 形式**: `aws:ec2:image` パラメータのデータ型として `String` を選択した場合、入力する ID は AMI ID 形式 `ami-12345abcdeEXAMPLE` に対して検証される必要があります。
+ **完全修飾**: 階層内でパラメータを作成または参照する場合は、スラッシュ文字 (/) を先頭に含めます。階層の一部であるパラメータを参照する場合は、先頭のスラッシュ (/) を含む階層パス全体を指定します。
  + 完全修飾パラメータ名:`MyParameter1` 、`/MyParameter2`、`/Dev/Production/East/Project-ABC/MyParameter`
  + 完全に修飾されていないパラメータ名: `MyParameter3/L1`
+ **長さ**: 指定するパラメータ名の最大文字数は 1,011 文字です。この 1,011 文字数には、指定した名前の前にある ARN 内の文字 (`arn:aws:ssm:us-east-2:111122223333:parameter/` の 45 文字など) が含まれます。
+ **プレフィックス**: パラメータ名には、プレフィックスとして「`aws`」または「`ssm`」 (大文字と小文字は区別しない) を付けることはできません。たとえば、以下のパラメータ名を作成しようとすると、例外によりエラーになります。
  + `awsTestParameter`
  + `SSM-testparameter`
  + `/aws/testparam1`
**注記**  
SSM ドキュメント、コマンド、またはスクリプトでパラメータを指定する場合、構文の一部として `ssm` を含めます。例: \$1\$1ssm:*parameter-name*\$1\$1 および \$1\$1 ssm:*parameter-name* \$1\$1 (例: `{{ssm:MyParameter}}`、および `{{ ssm:MyParameter }}.`)
+ **一意性**: パラメータ名は AWS リージョン 内で一意であることが必要です。例えば、以下が同じリージョン内にある場合、Systems Manager では個別のパラメータとして扱われます。
  + `/Test/TestParam1`
  + `/TestParam1`

  次の例も、一意です。
  + `/Test/TestParam1/Logpath1`
  + `/Test/TestParam1`

  ただし、次の例は同じリージョン内にある場合、一意ではありません。
  + `/TestParam1`
  + `TestParam1`
+ **階層の深さ**: パラメータ階層を指定する場合、階層は最大 15 レベルの深さを持つことができます。階層のあらゆるレベルでパラメータを定義できます。次の例はいずれも、構造的に有効です。
  + `/Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/parameter-name`
  + `parameter-name`

  次のパラメータの作成を試みると、`HierarchyLevelLimitExceededException` 例外で失敗します。
  + `/Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/L15/L16/parameter-name`

**重要**  
ユーザーがパスへのアクセス許可を持つ場合、そのユーザーはそのパスのすべてのレベルにアクセスできます。たとえば、ユーザーがパス `/a` へのアクセス許可を持っている場合、ユーザーは `/a/b` にアクセスすることもできます。ユーザーが AWS Identity and Access Management (IAM) でパラメータ `/a/b` で明示的にアクセスを拒否された場合でも、`/a` に対して [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API オペレーションを再帰的に呼び出して `/a/b` を表示できます。

**Topics**
+ [パラメータ名の要件と制約を理解する](#sysman-parameter-name-constraints)
+ [コンソールを使用して Parameter Store パラメータを作成する](parameter-create-console.md)
+ [AWS CLI を使用して Parameter Store パラメータを作成する](param-create-cli.md)
+ [Tools for Windows PowerShell を使用して Parameter Store パラメータを作成する](param-create-ps.md)

# コンソールを使用して Parameter Store パラメータを作成する
<a name="parameter-create-console"></a>

AWS Systems Manager コンソールを使用して、`String`、`StringList`、`SecureString` パラメータタイプを作成して実行できます。パラメータを削除したら、30 秒以上待ってから同じ名前のパラメータを作成します。

**注記**  
パラメータは、パラメータを作成した AWS リージョン でのみ使用できます。

以下の手順では、Parameter Store コンソールでパラメータを作成するプロセスについて説明します。コンソールでは、`String`、`StringList`、および `SecureString` のパラメータタイプを作成できます。

**パラメータを作成するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. [**Create parameter**] を選択します。

1. [**Name (名前)**] ボックスに、階層と名前を入力します。たとえば、「**/Test/helloWorld**」と入力します。

   パラメータ階層の詳細については、「[Parameter Store でのパラメータ階層の使用](sysman-paramstore-hierarchies.md)」を参照してください。

1. [**Description**] ボックスに、このパラメータをテストパラメータとして識別するための説明を入力します。

1. [**Parameter tier **] で、[**スタンダード**] または [**アドバンスト**] を選択します。詳細パラメータの詳細については、「[パラメータ層の管理](parameter-store-advanced-parameters.md)」を参照してください。

1. [**Type**] として、[**String**]、[**StringList**]、[**SecureString**] のいずれかを選択します。
   + [**String**] を選択した場合は、[**Data type (データ型)**] フィールドが表示されます。Amazon Machine Image (AMI) のリソース ID を保持するパラメータを作成する場合は、「`aws:ec2:image`」を選択します。それ以外の場合は、デフォルトの `text` を選択したままにします。
   + [**SecureString**] を選択すると、[**KMS Key ID**] フィールドが表示されます。AWS Key Management Service AWS KMS key ID、AWS KMS key Amazon リソースネーム (ARN)、エイリアス名、またはエイリアス ARN を指定しない場合、システムは Systems Manager の AWS マネージドキー である `alias/aws/ssm` を使用します。このキーを使用しない場合は、カスタマーマネージドキーを使用することもできます。AWS マネージドキーとカスタマー管理のキーの詳細については、AWS Key Management Service デベロッパーガイドの「[AWS Key Management Service の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html)」を参照してください。Parameter Store および AWS KMS の暗号化の詳細については、「[AWS KMS で AWS Systems ManagerParameter Store を使用する方法](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)」を参照してください。
**重要**  
Parameter Store では、[対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)のみをサポートしています。[非対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)を使用してパラメータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「AWS Key Management Service デベロッパーガイド」の「[対称キーと非対称 KMS キーの識別](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)」を参照してください。
   + カスタマーマネージドキーエイリアス名またはエイリアス ARN のいずれかと `key-id` パラメータを使用してコンソールで `SecureString` パラメータを作成する場合は、そのエイリアスの前にプレフィックスの `alias/` を付けます。ARN の例を次に示します。

     ```
     arn:aws:kms:us-east-2:123456789012:alias/abcd1234-ab12-cd34-ef56-abcdeEXAMPLE
     ```

     エイリアス名の例を次に示します。

     ```
     alias/MyAliasName
     ```

1. [**Value**] ボックスに、値を入力します。たとえば、「**This is my first parameter**」または「**ami-0dbf5ea29aEXAMPLE**」と入力します。
**注記**  
パラメータは、他のパラメータの値で参照またはネストすることはできません。パラメータ値に `{{}}` または `{{ssm:parameter-name}}` を含めることはできません。  
次の図で示すように、**[SecureString]** を選択した場合、後でパラメータの **[概要]** タブで表示すると、パラメータの値はデフォルトでマスキングされます (「\$1\$1\$1\$1\$1\$1」)。[**表示**] を選択して、パラメータ値を表示します。  

![\[SecureString パラメータの値は、値を表示するオプションでマスキングされます。\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/images/ps-overview-show-secstring.png)


1. (オプション) [**タグ**] 領域で、タグキーと値のペアを 1 つ以上パラメータに適用します。

   タグは、リソースに割り当てるオプションのメタデータです。タグを使用すると、目的、所有者、環境などのさまざまな方法でリソースを分類できます。たとえば、Systems Manager パラメータにタグを付けて、それが適用されるリソースのタイプ、環境、パラメータによって参照される設定データのタイプを識別できます。この場合、以下のキーと値のペアを指定します。
   + `Key=Resource,Value=S3bucket`
   + `Key=OS,Value=Windows`
   + `Key=ParameterType,Value=LicenseKey`

1. [**Create parameter**] を選択します。

1. パラメータリストで、先ほど作成したパラメータの名前を選択します。[**Overview**] タブで詳細を確認します。`SecureString` パラメータを作成した場合、[**表示**] を選択して、非暗号化された値を表示します。

**注記**  
アドバンストパラメータをスタンダードパラメータに変更することはできません。アドバンストパラメータが不要になった場合、またはアドバンストパラメータの料金を抑えたい場合は、アドバンストパラメータを削除して新しいスタンダードパラメータとして再作成します。

**注記**  
コンソールを使用して、既存のパラメータのタイプ (例： `String` から `SecureString` など) を変更することはできません。パラメータのタイプを変更するには、オプション `--overwrite` とともに AWS CLI または s を使用する必要があります。詳細については、「[AWS CLI を使用して Parameter Store パラメータを作成する](param-create-cli.md)」を参照してください。

# AWS CLI を使用して Parameter Store パラメータを作成する
<a name="param-create-cli"></a>

AWS Command Line Interface (AWS CLI) を使用して、`String`、`StringList`、および `SecureString` パラメータタイプを作成できます。パラメータを削除したら、30 秒以上待ってから同じ名前のパラメータを作成します。

パラメータは、他のパラメータの値で参照またはネストすることはできません。パラメータ値に `{{}}` または `{{ssm:parameter-name}}` を含めることはできません。

**注記**  
パラメータは、パラメータを作成した AWS リージョン でのみ使用できます。

**Topics**
+ [AWS CLI を使用して `String` パラメータを作成する](#param-create-cli-string)
+ [AWS CLI を使用して StringList パラメータを作成する](#param-create-cli-stringlist)
+ [AWS CLI を使用して SecureString パラメータを作成するには](#param-create-cli-securestring)
+ [AWS CLI を使用して複数行パラメータを作成する](#param-create-cli-multiline)

## AWS CLI を使用して `String` パラメータを作成する
<a name="param-create-cli-string"></a>

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 以下のコマンドを実行して `String` タイプのパラメータを作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "parameter-value" \
       --type String \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "parameter-value" ^
       --type String ^
       --tags "Key=tag-key,Value=tag-value"
   ```

------

   -または-

   次のコマンドを実行して、パラメータ値として Amazon Machine Image (AMI) ID を含むパラメータを作成します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "an-AMI-id" \
       --type String \
       --data-type "aws:ec2:image" \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "an-AMI-id" ^
       --type String ^
       --data-type "aws:ec2:image" ^
       --tags "Key=tag-key,Value=tag-value"
   ```

------

   `--name` オプションは階層をサポートしています。階層については、「[Parameter Store でのパラメータ階層の使用](sysman-paramstore-hierarchies.md)」を参照してください。

   `--data-type` オプションは、AMI ID を含むパラメータを作成する場合にのみ指定する必要があります。入力したパラメータ値が、適切に書式設定された Amazon Elastic Compute Cloud (Amazon EC2) AMI ID であることを確認します。他のすべてのパラメータの場合、デフォルトのデータ型は `text` であり、値の指定はオプションです。詳細については、「」を参照してください[Amazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用](parameter-store-ec2-aliases.md)
**重要**  
成功すると、コマンドはパラメータのバージョン番号を返します。**例外**: データ型として `aws:ec2:image` を指定した場合、レスポンスの新しいバージョン番号が意味するのは、パラメータ値が未検証であるということです。詳細については、「」を参照してください[Amazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用](parameter-store-ec2-aliases.md)

   以下の例では、キーと値のペアのタグ 2 つをパラメータに追加します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name parameter-name \
       --value "parameter-value" \
       --type "String" \
       --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name parameter-name ^
       --value "parameter-value" ^
       --type "String" ^
       --tags [{\"Key\":\"Region1\",\"Value\":\"East1\"},{\"Key\":\"Environment1\",\"Value\":\"Production1\"}]
   ```

------

   次の例では、名前にパラメータ階層を使用して、プレーンテキストの `String` パラメータを作成します。パラメータのバージョン番号を返します。パラメータ階層の詳細については、「[Parameter Store でのパラメータ階層の使用](sysman-paramstore-hierarchies.md)」を参照してください。

------
#### [ Linux & macOS ]

   **階層にないパラメータ**

   ```
   aws ssm put-parameter \
       --name "golden-ami" \
       --type "String" \
       --value "ami-12345abcdeEXAMPLE"
   ```

   **階層内のパラメータ**

   ```
   aws ssm put-parameter \
       --name "/amis/linux/golden-ami" \
       --type "String" \
       --value "ami-12345abcdeEXAMPLE"
   ```

------
#### [ Windows ]

   **階層にないパラメータ**

   ```
   aws ssm put-parameter ^
       --name "golden-ami" ^
       --type "String" ^
       --value "ami-12345abcdeEXAMPLE"
   ```

   **階層内のパラメータ**

   ```
   aws ssm put-parameter ^
       --name "/amis/windows/golden-ami" ^
       --type "String" ^
       --value "ami-12345abcdeEXAMPLE"
   ```

------

1. 次のコマンドを実行して、最新のパラメータ値を表示し、新しいパラメータの詳細を確認します。

   ```
   aws ssm get-parameters --names "/Test/IAD/helloWorld"
   ```

   システムが以下のような情報を返します。

   ```
   {
       "InvalidParameters": [],
       "Parameters": [
           {            
               "Name": "/Test/IAD/helloWorld",
               "Type": "String",
               "Value": "My updated parameter value",
               "Version": 2,
               "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00",
               "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld"            
           }
       ]
   }
   ```

以下のコマンドを実行して、パラメータの値を変更します。パラメータのバージョン番号を返します。

```
aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite
```

以下のコマンドを実行して、パラメータ値の履歴を表示します。

```
aws ssm get-parameter-history --name "/Test/IAD/helloWorld"
```

以下のコマンドを実行して、このパラメータをコマンドで使用します。

```
aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"
```

パラメータ Value のみを取得する場合は、次のコマンドを実行します。

```
aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"
```

`get-parameters` を使用してパラメータ Value だけを取得する場合は、次のコマンドを実行します。

```
aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"
```

以下のコマンドを実行して、パラメータのメタデータを表示します。

```
aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
```

**注記**  
[*Name*] は大文字である必要があります。

システムが以下のような情報をレスポンスします。

```
{
    "Parameters": [
        {
            "Name": "helloworld",
            "Type": "String",
            "LastModifiedUser": "arn:aws:iam::123456789012:user/JohnDoe",
            "LastModifiedDate": 1494529763.156,
            "Version": 1,
            "Tier": "Standard",
            "Policies": []           
        }
    ]
}
```

## AWS CLI を使用して StringList パラメータを作成する
<a name="param-create-cli-stringlist"></a>

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 以下のコマンドを実行してパラメータを作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "a-comma-separated-list-of-values" \
       --type StringList \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "a-comma-separated-list-of-values" ^
       --type StringList ^
       --tags "Key=tag-key,Value=tag-value"
   ```

------
**注記**  
成功すると、コマンドはパラメータのバージョン番号を返します。

   この例では、キーと値のペアのタグ 2 つをパラメータに追加します。(ローカルマシンのオペレーティングシステムのタイプに応じて、次のいずれかのコマンドを実行します。ローカル Windows マシンから実行するバージョンには、コマンドラインツールからコマンドを実行するために必要なエスケープ文字 (「\$1」) が含まれます)。

   以下に示しているのは、パラメータ階層を使用する `StringList` の例です。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name /IAD/ERP/Oracle/addUsers \
       --value "Milana,Mariana,Mark,Miguel" \
       --type StringList
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name /IAD/ERP/Oracle/addUsers ^
       --value "Milana,Mariana,Mark,Miguel" ^
       --type StringList
   ```

------
**注記**  
`StringList` の項目はカンマ (,) で区切る必要があります。他の句読点または特殊文字を使用してリスト内の項目をエスケープすることはできません。カンマを必要とするパラメータ値がある場合は、`String` 型を使用してください。

1. パラメータの詳細を確認するには、`get-parameters` コマンドを実行します。例えば、次のようになります。

   ```
   aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"
   ```

## AWS CLI を使用して SecureString パラメータを作成するには
<a name="param-create-cli-securestring"></a>

`SecureString` パラメータを作成するには、次の手順を使用します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

**重要**  
`SecureString` パラメータの*値*のみが暗号化されます。パラメータ名、説明などのプロパティは暗号化されません。

**重要**  
Parameter Store では、[対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)のみをサポートしています。[非対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)を使用してパラメータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「AWS Key Management Service デベロッパーガイド」の「[対称キーと非対称 KMS キーの識別](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)」を参照してください。

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 以下のコマンドの**いずれか**を実行して、`SecureString` データ型を使用するパラメータを作成します。

------
#### [ Linux & macOS ]

   **デフォルトの AWS マネージドキーを使用して `SecureString` パラメータを作成する **

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "parameter-value" \
       --type "SecureString"
   ```

   **カスタマーマネージドキーを使用する `SecureString` パラメータを作成する**

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "a-parameter-value, for example P@ssW%rd#1" \
       --type "SecureString"
       --tags "Key=tag-key,Value=tag-value"
   ```

   **カスタム AWS KMS キーを使用する `SecureString` パラメータを作成する**

   ```
   aws ssm put-parameter \
       --name "parameter-name" \
       --value "a-parameter-value, for example P@ssW%rd#1" \
       --type "SecureString" \
       --key-id "your-account-ID/the-custom-AWS KMS-key" \
       --tags "Key=tag-key,Value=tag-value"
   ```

------
#### [ Windows ]

   **デフォルトの AWS マネージドキーを使用して `SecureString` パラメータを作成する**

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "parameter-value" ^
       --type "SecureString"
   ```

   **カスタマーマネージドキーを使用する `SecureString` パラメータを作成する**

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "a-parameter-value, for example P@ssW%rd#1" ^
       --type "SecureString" ^
       --tags "Key=tag-key,Value=tag-value"
   ```

   **カスタム AWS KMS キーを使用する `SecureString` パラメータを作成する**

   ```
   aws ssm put-parameter ^
       --name "parameter-name" ^
       --value "a-parameter-value, for example P@ssW%rd#1" ^
       --type "SecureString" ^
       --key-id " ^
       --tags "Key=tag-key,Value=tag-value"account-ID/the-custom-AWS KMS-key"
   ```

------

   アカウントとリージョンで AWS マネージドキーを使用して `SecureString` パラメータを作成する場合、`--key-id` パラメータの値を指定する必要はありません。
**注記**  
AWS アカウント と AWS リージョン に割り当てられた AWS KMS key を使用するには、コマンドから `key-id` パラメータを削除します。AWS KMS keys の詳細については、*AWS Key Management Serviceデベロッパーガイド*の「[AWS Key Management Service の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)」を参照してください。

   アカウントに割り当てられた AWS マネージドキー の代わりにカスタマーマネージドキーを使用するには、`--key-id` パラメータを使用してキーを指定します。パラメータは以下の KMS パラメータ形式をサポートします。
   + キーの Amazon リソースネーム (ARN) の例:

      `arn:aws:kms:us-east-2:123456789012:key/key-id`
   + エイリアス ARN の例:

     `arn:aws:kms:us-east-2:123456789012:alias/alias-name`
   + キー ID の例:

     `12345678-1234-1234-1234-123456789012`
   + エイリアス名の例:

     `alias/MyAliasName`

   カスタマーマネージドキーを作成するには、AWS マネジメントコンソール または AWS KMS API を使用します。以下の AWS CLI コマンドは、AWS アカウント の現在の AWS リージョン でカスタマーマネージドキーを作成します。

   ```
   aws kms [create-key](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
   ```

   先ほど作成したキーを使用して、`SecureString` パラメータを作成するには、以下の形式のコマンドを使用します。

   以下の例では、パスワードパラメータと AWS KMS key 向けに難読化された名前(`3l3vat3131`)を使用しています。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name /Finance/Payroll/3l3vat3131 \
       --value "P@sSwW)rd" \
       --type SecureString \
       --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name /Finance/Payroll/3l3vat3131 ^
       --value "P@sSwW)rd" ^
       --type SecureString ^
       --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
   ```

------

1. パラメータの詳細を確認するには、以下のコマンドを実行します。

   `with-decryption` パラメータを指定しない場合、または `no-with-decryption` パラメータを指定した場合、コマンドは暗号化された GUID を返します。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --name "the-parameter-name-you-specified" \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --name "the-parameter-name-you-specified" ^
       --with-decryption
   ```

------

1. 以下のコマンドを実行して、パラメータのメタデータを表示します。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-parameters \
       --filters "Key=Name,Values=the-name-that-you-specified"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-parameters ^
       --filters "Key=Name,Values=the-name-that-you-specified"
   ```

------

1. カスタマーマネージド AWS KMS key を**使用していない**場合は、以下のコマンドを実行してパラメータ値を変更します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "the-name-that-you-specified" \
       --value "a-new-parameter-value" \
       --type "SecureString" \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "the-name-that-you-specified" ^
       --value "a-new-parameter-value" ^
       --type "SecureString" ^
       --overwrite
   ```

------

   -または-

   カスタマーマネージド AWS KMS key を**使用している**場合は、以下のいずれかのコマンドを実行してパラメータ値を変更します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "the-name-that-you-specified" \
       --value "a-new-parameter-value" \
       --type "SecureString" \
       --key-id "the-KMSkey-ID" \
       --overwrite
   ```

   ```
   aws ssm put-parameter \
       --name "the-name-that-you-specified" \
       --value "a-new-parameter-value" \
       --type "SecureString" \
       --key-id "account-alias/the-KMSkey-ID" \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "the-name-that-you-specified" ^
       --value "a-new-parameter-value" ^
       --type "SecureString" ^
       --key-id "the-KMSkey-ID" ^
       --overwrite
   ```

   ```
   aws ssm put-parameter ^
       --name "the-name-that-you-specified" ^
       --value "a-new-parameter-value" ^
       --type "SecureString" ^
       --key-id "account-alias/the-KMSkey-ID" ^
       --overwrite
   ```

------

1. 以下のコマンドを実行して、最新のパラメータ値を表示します。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --name "the-name-that-you-specified" \
       --with-decryption
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --name "the-name-that-you-specified" ^
       --with-decryption
   ```

------

1. 以下のコマンドを実行して、パラメータ値の履歴を表示します。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameter-history \
       --name "the-name-that-you-specified"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameter-history ^
       --name "the-name-that-you-specified"
   ```

------

**注記**  
暗号化された値でパラメータを手動で作成できます。この場合、値は既に暗号化されているため、`SecureString` パラメータタイプを選択する必要はありません。`SecureString` を選択した場合、パラメータは二重に暗号化されます。

デフォルトでは、すべての `SecureString` 値が暗号化テキストとして表示されます。`SecureString` 値を復号するには、AWS KMS の [ Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) API オペレーションを呼び出すためのアクセス権限が必要です。AWS KMS アクセスコントロールの設定方法については、「AWS Key Management Service デベロッパーガイド」の「[AWS KMS に対する認証とアクセスコントロール](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)」を参照してください。

**重要**  
パラメータの暗号化に使用される KMS キーの KMS キーエイリアスを変更する場合は、パラメータが AWS KMS の参照で使用するキーエイリアスも更新する必要があります。これは KMS キーエイリアスにのみ適用されます。エイリアスがアタッチするキー ID は、キー全体を削除しない限り、同じままになります。

## AWS CLI を使用して複数行パラメータを作成する
<a name="param-create-cli-multiline"></a>

AWS CLI を使用して、改行を含むパラメータを作成できます。改行すると、長いパラメータ値のテキストを分割して読みやすくすることができ、たとえば、ウェブページの複数段落のパラメータコンテンツを更新できます。次の例に示すように、JSON ファイルにコンテンツを含めると、`--cli-input-json` のような改行文字を使用して `\n` オプションを使用できます。

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 次のコマンドを実行して、複数行のパラメータを作成します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "MultiLineParameter" \
       --type String \
       --cli-input-json file://MultiLineParameter.json
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "MultiLineParameter" ^
       --type String ^
       --cli-input-json file://MultiLineParameter.json
   ```

------

   次の例では、`MultiLineParameter.json` ファイルの内容を示します。

   ```
   {
       "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>"
   }
   ```

保存されたパラメータ値は、次のように保存されます。

```
<para>Paragraph One</para>
<para>Paragraph Two</para>
<para>Paragraph Three</para>
```

# Tools for Windows PowerShell を使用して Parameter Store パラメータを作成する
<a name="param-create-ps"></a>

AWS Tools for Windows PowerShell を使用して、`String`、`StringList`、`SecureString` パラメータタイプを作成できます。パラメータを削除したら、30 秒以上待ってから同じ名前のパラメータを作成します。

パラメータは、他のパラメータの値で参照またはネストすることはできません。パラメータ値に `{{}}` または `{{ssm:parameter-name}}` を含めることはできません。

**注記**  
パラメータは、パラメータを作成した AWS リージョン でのみ使用できます。

**Topics**
+ [String パラメータを作成する (Tools for Windows PowerShell)](#param-create-ps-string)
+ [StringList パラメータを作成する (Tools for Windows PowerShell )](#param-create-ps-stringlist)
+ [SecureString パラメータを作成する (Tools for Windows PowerShell)](#param-create-ps-securestring)

## String パラメータを作成する (Tools for Windows PowerShell)
<a name="param-create-ps-string"></a>

1. AWS Tools for PowerShell (Tools for Windows PowerShell) をインストールして設定します (まだインストールしていない場合)。

   詳細については、「[AWS Tools for PowerShell のインストール](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

1. 以下のコマンドを実行して、プレーンテキスト値を含むパラメータを作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "parameter-value" `
       -Type "String"
   ```

   -または-

   次のコマンドを実行して、パラメータ値として Amazon Machine Image (AMI) ID を含むパラメータを作成します。
**注記**  
タグ付きのパラメータを作成するには、変数として手前で service.model.tag を作成します。以下はその例です。  

   ```
   $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag
   $tag.Key = "tag-key"
   $tag.Value = "tag-value"
   ```

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "an-AMI-id" `
       -Type "String" `
       -DataType "aws:ec2:image" `
       -Tags $tag
   ```

   `-DataType` オプションは、AMI ID を含むパラメータを作成する場合にのみ指定する必要があります。他のすべてのパラメータでは、デフォルトのデータ型は `text` です。詳細については、「」を参照してください[Amazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用](parameter-store-ec2-aliases.md)

   以下に示しているのは、パラメータ階層の使用例です。

   ```
   Write-SSMParameter `
       -Name "/IAD/Web/SQL/IPaddress" `
       -Value "99.99.99.999" `
       -Type "String" `
       -Tags $tag
   ```

1. パラメータの詳細を確認するには、以下のコマンドを実行します。

   ```
   (Get-SSMParameterValue -Name "the-parameter-name-you-specified").Parameters
   ```

## StringList パラメータを作成する (Tools for Windows PowerShell )
<a name="param-create-ps-stringlist"></a>

1. AWS Tools for PowerShell (Tools for Windows PowerShell) をインストールして設定します (まだインストールしていない場合)。

   詳細については、「[AWS Tools for PowerShell のインストール](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

1. 以下のコマンドを実行して、StringList パラメータを作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。
**注記**  
タグ付きのパラメータを作成するには、変数として手前で service.model.tag を作成します。以下はその例です。  

   ```
   $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag
   $tag.Key = "tag-key"
   $tag.Value = "tag-value"
   ```

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "a-comma-separated-list-of-values" `
       -Type "StringList" `
       -Tags $tag
   ```

   成功すると、コマンドはパラメータのバージョン番号を返します。

   以下はその例です。

   ```
   Write-SSMParameter `
       -Name "stringlist-parameter" `
       -Value "Milana,Mariana,Mark,Miguel" `
       -Type "StringList" `
       -Tags $tag
   ```
**注記**  
`StringList` の項目はカンマ (,) で区切る必要があります。他の句読点または特殊文字を使用してリスト内の項目をエスケープすることはできません。カンマを必要とするパラメータ値がある場合は、`String` 型を使用してください。

1. パラメータの詳細を確認するには、以下のコマンドを実行します。

   ```
   (Get-SSMParameterValue -Name "the-parameter-name-you-specified").Parameters
   ```

## SecureString パラメータを作成する (Tools for Windows PowerShell)
<a name="param-create-ps-securestring"></a>

`SecureString` パラメータを作成する前に、このタイプのパラメータに関する前提要件を確認してください。詳細については、「[AWS CLI を使用して SecureString パラメータを作成するには](param-create-cli.md#param-create-cli-securestring)」を参照してください。

**重要**  
`SecureString` パラメータの*値*のみが暗号化されます。パラメータ名、説明などのプロパティは暗号化されません。

**重要**  
Parameter Store では、[対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html#symmetric-cmks)のみをサポートしています。[非対称暗号化 KMS キー](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)を使用してパラメータを暗号化することはできません。KMS キーが対称か非対称かを判断する方法については、「AWS Key Management Service デベロッパーガイド」の「[対称キーと非対称 KMS キーの識別](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)」を参照してください。

1. AWS Tools for PowerShell (Tools for Windows PowerShell) をインストールして設定します (まだインストールしていない場合)。

   詳細については、「[AWS Tools for PowerShell のインストール](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html)」を参照してください。

1. 以下のコマンドを実行してパラメータを作成します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。
**注記**  
タグ付きのパラメータを作成するには、まず service.model.tag を変数として作成します。以下はその例です。  

   ```
   $tag = New-Object Amazon.SimpleSystemsManagement.Model.Tag
   $tag.Key = "tag-key"
   $tag.Value = "tag-value"
   ```

   ```
   Write-SSMParameter `
       -Name "parameter-name" `
       -Value "parameter-value" `
       -Type "SecureString"  `
       -KeyId "an AWS KMS key ID, an AWS KMS key ARN, an alias name, or an alias ARN" `
       -Tags $tag
   ```

   成功すると、コマンドはパラメータのバージョン番号を返します。
**注記**  
アカウントに割り当てられた AWS マネージドキーを使用するには、コマンドから `-KeyId` パラメータを削除します。

   難読化された名前 (3l3vat3131) をパスワードパラメータとして使用し、AWS マネージドキーを使用する例を次に示します。

   ```
   Write-SSMParameter `
       -Name "/Finance/Payroll/3l3vat3131" `
       -Value "P@sSwW)rd" `
       -Type "SecureString"`
       -Tags $tag
   ```

1. パラメータの詳細を確認するには、以下のコマンドを実行します。

   ```
   (Get-SSMParameterValue -Name "the-parameter-name-you-specified" –WithDecryption $true).Parameters
   ```

デフォルトでは、すべての `SecureString` 値が暗号化テキストとして表示されます。`SecureString` 値を復号するには、AWS KMS の [ Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) API オペレーションを呼び出すためのアクセス権限が必要です。AWS KMS アクセスコントロールの設定方法については、「AWS Key Management Service デベロッパーガイド」の「[AWS KMS に対する認証とアクセスコントロール](https://docs.aws.amazon.com/kms/latest/developerguide/control-access.html)」を参照してください。

**重要**  
パラメータの暗号化に使用される KMS キーの KMS キーエイリアスを変更する場合は、パラメータが AWS KMS の参照で使用するキーエイリアスも更新する必要があります。これは KMS キーエイリアスにのみ適用されます。エイリアスがアタッチするキー ID は、キー全体を削除しない限り、同じままになります。

# Systems Manager での Parameter Store パラメータの検索
<a name="parameter-search"></a>

アカウントに多数のパラメータがある場合、一度に1つまたは複数のパラメータに関する情報を見つけるのが難しい場合があります。このような場合は、フィルタツールを使用して検索条件を指定することで、必要な情報を検索できます。AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、AWS Tools for PowerShell、または [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html) API を使用してパラメータを検索できます。

**Topics**
+ [コンソールを使用してパラメータを検索する](#parameter-search-console)
+ [AWS CLI を使用してパラメータを検索する](#parameter-search-cli)

## コンソールを使用してパラメータを検索する
<a name="parameter-search-console"></a>

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. 検索ボックスを選択し、検索方法を選択します。例えば、`Type`、`Name` などです。

1. 選択した検索タイプの情報を入力します。以下に例を示します。
   + `Type` で検索する場合は、`String`、`StringList`、`SecureString` から選択します。
   + `Name` で検索する場合は、`contains`、`equals`、または `begins-with` を選択し、パラメータ名のすべてまたは一部を入力します。
**注記**  
コンソールでは、`Name` のデフォルトの検索タイプは `contains` です。

1. **[Enter]** キーを押します。

パラメータのリストが検索結果で更新されます。

**注記**  
検索結果には、結果の最初のページに表示されるよりも多くの結果が含まれていることがあります。パラメータリスト (利用可能な場合) のトピックで右矢印 (**>**) をクリックし、次の結果のセットを表示します。

## AWS CLI を使用してパラメータを検索する
<a name="parameter-search-cli"></a>

`describe-parameters` の 1 つ以上のパラメータに関する情報を表示するには、AWS CLI コマンドを使用します。

以下の例は、 のパラメータに関する情報を表示するために使用できるさまざまなオプションを示していますAWS アカウント これらのオプションの詳細については、「AWS Command Line Interface ユーザーガイド」の「[https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html)」を参照してください。

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 以下のコマンドのサンプル値を、アカウントで作成されたパラメータを反映した値に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Name,Values=MyParameterName"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-parameters ^
       --parameter-filters "Key=Name,Values=MyParameterName"
   ```

------
**注記**  
`describe-parameters` の場合、`Name` のデフォルトの検索タイプは `Equals` です。パラメータフィルタで、`"Key=Name,Values=MyParameterName"` を指定することは、`"Key=Name,Option=Equals,Values=MyParameterName"` を指定することと同じです。

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Name,Option=Contains,Values=Product"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Type,Values=String"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Path,Values=/Production/West"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=Tier,Values=Standard"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=tag:tag-key,Values=tag-value"
   ```

   ```
   aws ssm describe-parameters \
       --parameter-filters "Key=KeyId,Values=key-id"
   ```
**注記**  
最後の例の *key-id* は、アカウントで作成された AWS Key Management Service パラメータの暗号化に使用される AWS KMS (`SecureString`) キーの ID を表します。また、**alias/aws/ssm** を入力して、アカウントのデフォルトの AWS KMS キーを使用することもできます。詳細については、「」を参照してください[AWS CLI を使用して SecureString パラメータを作成するには](param-create-cli.md#param-create-cli-securestring)

   成功すると、コマンドは以下のような出力を返します。

   ```
   {
       "Parameters": [
           {
               "Name": "/Production/West/Manager",
               "Type": "String",
               "LastModifiedDate": 1573438580.703,
               "LastModifiedUser": "arn:aws:iam::111122223333:user/Mateo.Jackson",
               "Version": 1,
               "Tier": "Standard",
               "Policies": []
           },
           {
               "Name": "/Production/West/TeamLead",
               "Type": "String",
               "LastModifiedDate": 1572363610.175,
               "LastModifiedUser": "arn:aws:iam::111122223333:user/Mateo.Jackson",
               "Version": 1,
               "Tier": "Standard",
               "Policies": []
           },
           {
               "Name": "/Production/West/HR",
               "Type": "String",
               "LastModifiedDate": 1572363680.503,
               "LastModifiedUser": "arn:aws:iam::111122223333:user/Mateo.Jackson",
               "Version": 1,
               "Tier": "Standard",
               "Policies": []
           }
       ]
   }
   ```

# Parameter Store でのパラメータポリシーの割り当て
<a name="parameter-store-policies"></a>

パラメータポリシーを使用すると、有効期限終了日または*有効期限*などの特定の条件をパラメータに割り当てることができ、増え続けるパラメータのセットを管理できます。パラメータポリシーは、AWS Systems Manager のツールである Parameter Store に保存されたパスワードと設定データを強制的に更新または削除するのに役立ちます。Parameter Store には、`Expiration`、`ExpirationNotification`、`NoChangeNotification` というタイプのポリシーがあります。

**注記**  
パスワードローテーションのライフサイクルを実装するには、 を使用しますAWS Secrets Manager Secrets Manager を使用すると、データベースの認証情報、API キー、その他のシークレットをそのライフサイクルを通してローテーション、管理、取得できます。詳細については、*AWS Secrets Managerユーザーガイド*の「[AWS Secrets Manager とは](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html)」を参照してください。

Parameter Store は、非同期の定期的なスキャンを使用してパラメータポリシーを適用します。ポリシーを作成したら、追加のアクションを実行する必要はありません。Parameter Store は指定した条件に基づいて、ポリシーで定義されたアクションを個別に実行します。

**注記**  
パラメータポリシーは、高度なパラメータ階層を使用するパラメータに利用できます。詳細については、「」を参照してください[パラメータ層の管理](parameter-store-advanced-parameters.md)

パラメータポリシーは、次の表に示すように、JSON 配列です。新しいアドバンストパラメータを作成するときにポリシーを割り当てることも、パラメータを更新することでポリシーを適用することもできます。以下のタイプのパラメータポリシーが Parameter Store でサポートされています。


| ポリシー | 詳細 | 例 | 
| --- | --- | --- | 
|  **有効期限**  |  このポリシーは、パラメータを削除します。`ISO_INSTANT` または `ISO_OFFSET_DATE_TIME` のいずれかの形式を使用して、特定の日時を指定できます。パラメータを削除するタイミングを変更する場合は、ポリシーを更新します。*パラメータ*を更新しても、アタッチされているポリシーの有効期限日または時刻には影響しません。有効期限日または時刻に達すると、Parameter Store はパラメータを削除します。  この例では、`ISO_INSTANT` 形式を使用しています。`ISO_OFFSET_DATE_TIME` 形式を使用して、日時を指定することもできます。たとえば、`2019-11-01T22:13:48.87+10:30:00` と指定します。   |  <pre>{<br />    "Type": "Expiration",<br />    "Version": "1.0",<br />    "Attributes": {<br />        "Timestamp": "2018-12-02T21:34:33.000Z"<br />    }<br />}</pre>  | 
|  **ExpirationNotification**  |  このポリシーは、有効期限を通知するイベントを Amazon EventBridge (EventBridge) で開始します。このポリシーを使用することで、有効期限に達する前に日数または時間単位で通知を受け取ることができます。  |  <pre>{<br />    "Type": "ExpirationNotification",<br />    "Version": "1.0",<br />    "Attributes": {<br />        "Before": "15",<br />        "Unit": "Days"<br />    }<br />}</pre>  | 
|  **NoChangeNotification**  |  このポリシーは、指定された期間内にパラメータが変更されて*いない*場合、EventBridge でイベントを開始します。このポリシータイプが役立つのは、たとえば、ある期間内にパスワードを変更する必要がある場合です。 このポリシーでは、パラメータの `LastModifiedTime` 属性を読み取ることで、通知を送信するタイミングを決定します。パラメータを変更または編集した場合、システムは `LastModifiedTime` の新しい値に基づいて通知する期間をリセットします。  |  <pre>{<br />    "Type": "NoChangeNotification",<br />    "Version": "1.0",<br />    "Attributes": {<br />        "After": "20",<br />        "Unit": "Days"<br />    }<br />}</pre>  | 

複数のポリシーをパラメータに割り当てることもできます。例えば、`Expiration` および `ExpirationNotification` のポリシーを割り当て、システムが EventBridge イベントを開始して、パラメータが間もなく削除される通知を受け取ることができます。最大 10 個のポリシーをパラメータに割り当てることができます。

以下の例では、`SecureString` という名前の新しい `ProdDB3` パラメータに 4 つのポリシーを割り当てる [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) API リクエストのリクエスト構文を示しています。

```
{
    "Name": "ProdDB3",
    "Description": "Parameter with policies",
    "Value": "P@ssW*rd21",
    "Type": "SecureString",
    "Overwrite": "True",
    "Policies": [
        {
            "Type": "Expiration",
            "Version": "1.0",
            "Attributes": {
                "Timestamp": "2018-12-02T21:34:33.000Z"
            }
        },
        {
            "Type": "ExpirationNotification",
            "Version": "1.0",
            "Attributes": {
                "Before": "30",
                "Unit": "Days"
            }
        },
        {
            "Type": "ExpirationNotification",
            "Version": "1.0",
            "Attributes": {
                "Before": "15",
                "Unit": "Days"
            }
        },
        {
            "Type": "NoChangeNotification",
            "Version": "1.0",
            "Attributes": {
                "After": "20",
                "Unit": "Days"
            }
        }
    ]
}
```

## 既存のパラメータにポリシーを追加する
<a name="sysman-paramstore-su-policy-create"></a>

このセクションには、AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、AWS Tools for Windows PowerShell を使用して既存のパラメータにポリシーを追加する方法についての情報が含まれています。ポリシーが含まれている新しいパラメータの作成方法については、「[Systems Manager での Parameter Store パラメータの作成](sysman-paramstore-su-create.md)」を参照してください。

**Topics**
+ [コンソールを使用して既存のパラメータにポリシーを追加する](#sysman-paramstore-policy-create-console)
+ [AWS CLI を使用して既存のパラメータにポリシーを追加する](#sysman-paramstore-policy-create-cli)
+ [既存のパラメータにポリシーを追加する (Tools for Windows PowerShell)](#sysman-paramstore-policy-create-ps)

### コンソールを使用して既存のパラメータにポリシーを追加する
<a name="sysman-paramstore-policy-create-console"></a>

以下の手順に従って、Systems Manager コンソールを使用して既存のパラメータにポリシーを追加します。

**既存のパラメータにポリシーを追加するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. ポリシーを含めるために更新するパラメータの横にあるオプションを選択し、[**編集**] を選択します。

1. [**Advanced**] を選択します。

1. (オプション) [**Parameter policies (パラメータポリシー)**] セクションで、[**有効**] を選択します。このパラメータには、有効期限と 1 つ以上の通知ポリシーを指定できます。

1. **[Save changes]** (変更の保存) をクリックします。

**重要**  
Parameter Store は、新しいポリシーでポリシーを上書きするか、ポリシーを削除するまでパラメータのポリシーを保持します。
既存のパラメータからすべてのポリシーを削除するには、パラメータを編集し、次のように角括弧と中括弧 `[{}]` を使用して空のポリシーを適用します。
既にポリシーが設定されているパラメータに新しいポリシーを追加すると、Systems Manager はそのパラメータにアタッチされているポリシーを上書きします。既存のポリシーが削除されます。すでに 1 つ以上のポリシーがあるパラメータに新しいポリシーを追加する場合は、元のポリシーをコピーして貼り付け、新しいポリシーを入力してから変更を保存します。

### AWS CLI を使用して既存のパラメータにポリシーを追加する
<a name="sysman-paramstore-policy-create-cli"></a>

以下の手順を使用して、既存のパラメータに AWS CLI を使用してポリシーを追加します。

**既存のパラメータにポリシーを追加するには**

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 次のコマンドを実行して、既存のパラメータにポリシーを追加します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter   
       --name "parameter name" \
       --value 'parameter value' \
       --type parameter type \
       --overwrite \
       --policies "[{policies-enclosed-in-brackets-and-curly-braces}]"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter   
       --name "parameter name" ^
       --value 'parameter value' ^
       --type parameter type ^
       --overwrite ^
       --policies "[{policies-enclosed-in-brackets-and-curly-braces}]"
   ```

------

   以下に示しているのは、15 日後にパラメータを削除する有効期限ポリシーを含む例です。この例では、パラメータが削除される 5 日前に EventBridge イベントを生成する通知ポリシーも含まれます。最後に、60 日後にこのパラメータが変更されない場合の`NoChangeNotification` ポリシーが含まれます。この例では、パスワードに難読化された名前 (`3l3vat3131`)、および AWS Key Management Service AWS KMS key を使用しています。AWS KMS keys の詳細については、*AWS Key Management Serviceデベロッパーガイド*の「[AWS Key Management Service の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)」を参照してください。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/Finance/Payroll/3l3vat3131" \
       --value "P@sSwW)rd" \
       --type "SecureString" \
       --overwrite \
       --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/Finance/Payroll/3l3vat3131" ^
       --value "P@sSwW)rd" ^
       --type "SecureString" ^
       --overwrite ^
       --policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2020-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]"
   ```

------

1. パラメータの詳細を確認するには、以下のコマンドを実行します。*parameter name* を自分の情報に置き換えます。

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-parameters  \
       --parameter-filters "Key=Name,Values=parameter name"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-parameters  ^
       --parameter-filters "Key=Name,Values=parameter name"
   ```

------

**重要**  
Parameter Store では、新しいポリシーでポリシーを上書きするまで、またはポリシーを削除するまでパラメータのポリシーが保持されます。
既存のパラメータからすべてのポリシーを削除するには、パラメータを編集し、空の角括弧と中括弧のポリシーを適用します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。例:  

  ```
  aws ssm put-parameter \
      --name parameter name \
      --type parameter type  \
      --value 'parameter value' \
      --policies "[{}]"
  ```

  ```
  aws ssm put-parameter ^
      --name parameter name ^
      --type parameter type  ^
      --value 'parameter value' ^
      --policies "[{}]"
  ```
既にポリシーが設定されているパラメータに新しいポリシーを追加すると、Systems Manager はそのパラメータにアタッチされているポリシーを上書きします。既存のポリシーが削除されます。すでに 1 つ以上のポリシーがあるパラメータに新しいポリシーを追加する場合は、元のポリシーをコピーして貼り付け、新しいポリシーを入力してから変更を保存します。

### 既存のパラメータにポリシーを追加する (Tools for Windows PowerShell)
<a name="sysman-paramstore-policy-create-ps"></a>

Tools for Windows PowerShell を使用して既存のパラメータにポリシーを追加するには、次の手順に従います。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

**既存のパラメータにポリシーを追加するには**

1. Tools for Windows PowerShell を開き、次のコマンドを実行して認証情報を指定します。Amazon Elastic Compute Cloud (Amazon EC2) で管理者権限を持っているか、AWS Identity and Access Management (IAM) で適切なアクセス許可が付与されている必要があります。

   ```
   Set-AWSCredentials `
       –AccessKey access-key-name `
       –SecretKey secret-key-name
   ```

1. 次のコマンドを実行して、PowerShell セッションのリージョンを設定します。この例では、米国東部 (オハイオ) リージョン (us-east-2) を使用しています。

   ```
   Set-DefaultAWSRegion `
       -Region us-east-2
   ```

1. 次のコマンドを実行して、既存のパラメータにポリシーを追加します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

   ```
   Write-SSMParameter `
       -Name "parameter name" `
       -Value "parameter value" `
       -Type "parameter type" `
       -Policies "[{policies-enclosed-in-brackets-and-curly-braces}]" `
       -Overwrite
   ```

   以下に示しているのは、2020 年 5 月 13 日深夜 0 時 (GMT) にパラメータを削除する有効期限ポリシーを含む例です。この例では、パラメータが削除される 5 日前に EventBridge イベントを生成する通知ポリシーも含まれます。最後に、60 日後にこのパラメータが変更されない場合の`NoChangeNotification` ポリシーが含まれます。この例では、パスワードに難読化された名前 (`3l3vat3131`)、および AWS マネージドキー を使用しています。

   ```
   Write-SSMParameter `
       -Name "/Finance/Payroll/3l3vat3131" `
       -Value "P@sSwW)rd" `
       -Type "SecureString" `
       -Policies "[{\"Type\":\"Expiration\",\"Version\":\"1.0\",\"Attributes\":{\"Timestamp\":\"2018-05-13T00:00:00.000Z\"}},{\"Type\":\"ExpirationNotification\",\"Version\":\"1.0\",\"Attributes\":{\"Before\":\"5\",\"Unit\":\"Days\"}},{\"Type\":\"NoChangeNotification\",\"Version\":\"1.0\",\"Attributes\":{\"After\":\"60\",\"Unit\":\"Days\"}}]" `
       -Overwrite
   ```

1. パラメータの詳細を確認するには、以下のコマンドを実行します。*parameter name* を自分の情報に置き換えます。

   ```
   (Get-SSMParameterValue -Name "parameter name").Parameters
   ```

**重要**  
Parameter Store は、新しいポリシーでポリシーを上書きするか、ポリシーを削除するまでパラメータのポリシーを保持します。
既存のパラメータからすべてのポリシーを削除するには、パラメータを編集し、空の角括弧と中括弧のポリシーを適用します。以下に例を示します。  

  ```
  Write-SSMParameter `
      -Name "parameter name" `
      -Value "parameter value" `
      -Type "parameter type" `
      -Policies "[{}]"
  ```
既にポリシーが設定されているパラメータに新しいポリシーを追加すると、Systems Manager はそのパラメータにアタッチされているポリシーを上書きします。既存のポリシーが削除されます。すでに 1 つ以上のポリシーがあるパラメータに新しいポリシーを追加する場合は、元のポリシーをコピーして貼り付け、新しいポリシーを入力してから変更を保存します。

# Parameter Store でのパラメータ階層の使用
<a name="sysman-paramstore-hierarchies"></a>

数十または数百のパラメータをフラットリストで管理することは、時間がかかり、エラーの原因となります。また、タスクに合ったパラメータを特定することが難しくなります。これは、誤って間違ったパラメータを使用したり、同じ設定データを使用するパラメータを複数作成する可能性があることを意味します。

パラメータ階層を使用すると、パラメータの編成や管理がしやすくなります。階層は、スラッシュを使用して定義するパスを含むパラメータ名です。

**Topics**
+ [例を介してパラメータ階層を理解する](#ps-hierarchy-examples)
+ [階層でパラメータへのクエリを実行する](#ps-hierarchy-queries)
+ [AWS CLI を使用して階層でパラメータを管理する](#sysman-paramstore-walk-hierarchy)

## 例を介してパラメータ階層を理解する
<a name="ps-hierarchy-examples"></a>

以下の例では、名前に 3 つの階層レベルを使用しています。

`/Environment/Type of computer/Application/Data`

`/Dev/DBServer/MySQL/db-string13`

最大で 15 のレベルを持つ階層を作成できます。次の例で示されているように、ユーザーの環境にすでに存在する階層構造を反映した階層を作成することをお勧めします。
+ [継続的統合](https://aws.amazon.com/devops/continuous-integration/)および[継続的デリバリー](https://aws.amazon.com/devops/continuous-delivery/)環境 (CI/CD ワークフロー)

  `/Dev/DBServer/MySQL/db-string`

  `/Staging/DBServer/MySQL/db-string`

  `/Prod/DBServer/MySQL/db-string`
+ コンテナを使用するアプリケーション

  ```
  /MyApp/.NET/Libraries/my-password
  ```
+ ユーザーの企業

  `/Finance/Accountants/UserList`

  `/Finance/Analysts/UserList`

  `/HR/Employees/EU/UserList`

パラメータ階層は、パラメータを作成する方法を標準化し、時間とともにパラメータの管理が容易になります。階層パラメータはまた、設定タスクに合ったパラメータを特定するのに役立ちます。つまり、同じ設定データを持つパラメータを複数作成することを防ぎます。

開発およびステージング環境でパスワードを使用する次の例に示されているように、異なる環境間でパラメータを共有できる階層を作成することができます。

`/DevTest/MyApp/database/my-password`

続いて、次の例に示されているように、本番環境の一意のパスワードを作成できます。

`/prod/MyApp/database/my-password`

パラメータ階層を指定する必要はありません。レベル 1 でパラメータを作成できます。これらは*ルート*パラメータと呼ばれます。下位互換性のため、階層をリリースする前に Parameter Store で作成されたすべてのパラメータは、ルートパラメータではありません。システムは、次のパラメータの両方をルートパラメータとして扱います。

`/parameter-name`

`parameter-name`

## 階層でパラメータへのクエリを実行する
<a name="ps-hierarchy-queries"></a>

階層を使用するもう 1 つの利点は、[GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API オペレーションを使用して、階層内の特定のレベル*以下*の、すべてのパラメータをクエリする機能です。例えば、AWS Command Line Interface (AWS CLI) で次のコマンドを実行すると、システムは `Oncall` レベル以下のすべてのパラメータを返します。

```
aws ssm get-parameters-by-path --path /Dev/Web/Oncall
```

サンプル出力:

```
{
    "Parameters": [
        {
            "Name": "/Dev/Web/Oncall/Week1",
            "Type": "String",
            "Value": "John Doe",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:18:53.510000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week1",
            "DataType": "text"
        },
        {
            "Name": "/Dev/Web/Oncall/Week2",
            "Type": "String",
            "Value": "Mary Major",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:21:25.325000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week2",
            "DataType": "text"
        }
    ]
}
```

復号化された `SecureString` パラメータを階層で表示するには、次の例に示されているように、パスおよび `--with-decryption` パラメータを指定します。

```
aws ssm get-parameters-by-path --path /Prod/ERP/SAP --with-decryption
```

## AWS CLI を使用して階層でパラメータを管理する
<a name="sysman-paramstore-walk-hierarchy"></a>

この手順では、AWS CLI を使用してパラメータおよびパラメータ階層を使用する方法について説明します。

**階層を使用してパラメータを管理するには**

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 以下のコマンドを実行して、`allowedPattern` パラメータおよび `String` パラメータタイプを使用するパラメータを作成します。この例の許容されているパターンは、パラメータの値が 1～4 桁である必要があることを意味します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/MaxConnections" \
       --value 100 --allowed-pattern "\d{1,4}" \
       --type String
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/MaxConnections" ^
       --value 100 --allowed-pattern "\d{1,4}" ^
       --type String
   ```

------

   コマンドはパラメータのバージョン番号を返します。

1. 次のコマンドを実行して、先ほど新しい値で作成したパラメータの上書きを*試みます*。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/MaxConnections" \
       --value 10,000 \
       --type String \
       --overwrite
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/MaxConnections" ^
       --value 10,000 ^
       --type String ^
       --overwrite
   ```

------

   システムは、新しい値が前のステップで指定した許容されるパターンの要件を満たしていないため、次のエラーを返します。

   ```
   An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
   ```

1. 次のコマンドを実行して、AWS マネージドキー を使用する `SecureString` パラメータを作成します。この例の許容されているパターンは、ユーザーが任意の文字を指定でき、値が 8～20 文字である必要があることを意味します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/my-password" \
       --value "p#sW*rd33" \
       --allowed-pattern ".{8,20}" \
       --type SecureString
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/my-password" ^
       --value "p#sW*rd33" ^
       --allowed-pattern ".{8,20}" ^
       --type SecureString
   ```

------

1. 次のコマンドを実行し、前のステップの階層構造を使用するパラメータをさらに作成します。

------
#### [ Linux & macOS ]

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/DBname" \
       --value "SQLDevDb" \
       --type String
   ```

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/user" \
       --value "SA" \
       --type String
   ```

   ```
   aws ssm put-parameter \
       --name "/MyService/Test/userType" \
       --value "SQLuser" \
       --type String
   ```

------
#### [ Windows ]

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/DBname" ^
       --value "SQLDevDb" ^
       --type String
   ```

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/user" ^
       --value "SA" ^
       --type String
   ```

   ```
   aws ssm put-parameter ^
       --name "/MyService/Test/userType" ^
       --value "SQLuser" ^
       --type String
   ```

------

1. 次のコマンドを実行して、2 つのパラメータの値を取得します。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters \
       --names "/MyService/Test/user" "/MyService/Test/userType"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters ^
       --names "/MyService/Test/user" "/MyService/Test/userType"
   ```

------

1. 次のコマンドを実行して、単一レベル以下のすべてのパラメータをクエリします。

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters-by-path \
       --path "/MyService/Test"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters-by-path ^
       --path "/MyService/Test"
   ```

------

1. 次のコマンドを実行して、2 つのパラメータを削除します。

------
#### [ Linux & macOS ]

   ```
   aws ssm delete-parameters \
       --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
   ```

------
#### [ Windows ]

   ```
   aws ssm delete-parameters ^
       --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
   ```

------

# Parameter Store API オペレーションへのアクセスの防止
<a name="parameter-store-policy-conditions"></a>

AWS Identity and Access Management (IAM) ポリシーに Systems Manager がサポートするサービス固有の[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)を使用することで、Parameter Store API オペレーションとコンテンツへのアクセスを明示的に許可または拒否することができます。これらの条件を使用すると、組織内の特定の IAM エンティティ (ユーザーとロール) のみに特定の API アクションの呼び出しを許可したり、特定の IAM エンティティがアクションを実行できないようにしたりすることができます。これには、Parameter Store コンソール、AWS Command Line Interface (AWS CLI）、および SDK 経由でのアクションが含まれます。

Systems Manager は現在、Parameter Store に固有の 3 つの条件をサポートしています。

**Topics**
+ [`ssm:Overwrite` を使用して既存のパラメータの変更を防止する](#overwrite-condition)
+ [`ssm:Policies` を使用してパラメータポリシーを使用するパラメータの作成または更新を禁止する](#parameter-policies-condition)
+ [`ssm:Recursive` を使用して階層的パラメータ内のレベルへのアクセスを禁止する](#recursive-condition)

## `ssm:Overwrite` を使用して既存のパラメータの変更を防止する
<a name="overwrite-condition"></a>

`ssm:Overwrite` 条件を使用して、IAM エンティティが既存のパラメータを更新できるかどうかを制御します。

以下のサンプルポリシーでは、`"Allow"` ステートメントは、米国東部 (オハイオ) リージョン (us-east-2) にある AWS アカウント 123456789012 で `PutParameter` API オペレーションを実行してパラメータを作成する許可を付与します。

その一方で、`"Deny"` ステートメントはエンティティが既存のパラメータの値を変更するのを禁止しています。これは、`PutParameter` オペレーションについての `Overwrite` オプションが明示的に拒否されているためです。このため、このポリシーが割り当てられているエンティティは、パラメータを作成することはできても、既存のパラメータを変更することはできません。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:Overwrite": [
                        "true"
                    ]
                }
            },
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        }
    ]
}
```

------

## `ssm:Policies` を使用してパラメータポリシーを使用するパラメータの作成または更新を禁止する
<a name="parameter-policies-condition"></a>

パラメータポリシーを含むパラメータの作成と、パラメータポリシーを含む既存のパラメータの更新をエンティティに許可するかどうかを制御する `ssm:Policies` 条件を使用します。

次のポリシー例では、`"Allow"` ステートメントはパラメータを作成する一般的なアクセス許可を付与しますが、`"Deny"` ステートメントは、エンティティが米国東部 (オハイオ) リージョン (us-east-2) の AWS アカウント 123456789012 にパラメータポリシーを含むパラメータを作成または更新することを禁止します。エンティティは、パラメータポリシーが割り当てられていないパラメータを作成または更新できます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:PutParameter"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:Policies": [
                        "true"
                    ]
                }
            },
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        }
    ]
}
```

------

## `ssm:Recursive` を使用して階層的パラメータ内のレベルへのアクセスを禁止する
<a name="recursive-condition"></a>

`ssm:Recursive` 条件を使用して、IAM エンティティが階層的パラメータ内のレベルを表示または参照できるかどうかを制御します。特定の階層レベルを超えるすべてのパラメータへのアクセスを提供または制限することができます。

以下のサンプルポリシーでは、`"Allow"` ステートメントは、米国東部 (オハイオ) リージョン (us-east-2) にある AWS アカウント 123456789012 のパス `/Code/Departments/Finance/*` 内のすべてのパラメータに対する Parameter Store オペレーションへのアクセスを提供します。

その後に続く `"Deny"` ステートメントは、IAM エンティティが `/Code/Departments/*` レベルもしくはそれ以下のパラメータデータを閲覧または取得することを禁止しています。ただし、エンティティは引き続きそのパス内のパラメータを作成または更新できます。このサンプルは、特定のパラメータ階層レベルより下のレベルへのアクセスを再帰的に拒否することが、同じポリシー内にある許容度の高いアクセスよりも優先されることを説明するために構築されています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:*"
            ],
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ssm:GetParametersByPath"
            ],
            "Condition": {
                "StringEquals": {
                    "ssm:Recursive": [
                        "true"
                    ]
                }
            },
            "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/Code/Departments/*"
        }
    ]
}
```

------

**重要**  
ユーザーがパスへのアクセス許可を持つ場合、そのユーザーはそのパスのすべてのレベルにアクセスできます。たとえば、ユーザーがパス `/a` へのアクセス許可を持っている場合、ユーザーは `/a/b` にアクセスすることもできます。ただし、上記のように、ユーザーが IAM でパラメータ `/b` へのアクセスを明示的に拒否されている場合は例外となります。

# Parameter Store でのパラメータラベルの操作
<a name="sysman-paramstore-labels"></a>

パラメータラベルは、ユーザー定義のエイリアスであり、異なるバージョンのパラメータの管理に役立ちます。パラメータを変更すると、AWS Systems Manager は自動的に新しいバージョンを保存し、そのバージョン番号を 1 つ増やします。ラベルは、バージョンが複数ある場合にパラメータバージョンの用途を覚えておくのに役立ちます。

例えば、`/MyApp/DB/ConnectionString` というパラメータがあるとします。このパラメータの値は、テスト環境のローカルデータベースでの MySQL サーバーへの接続文字列です。アプリケーションの更新が完了したら、そのパラメータでプロダクションデータベースへの接続文字列を使用します。`/MyApp/DB/ConnectionString` の値を変更します。Systems Manager は、新しい接続文字列でバージョン 2 を自動的に作成します。各バージョンの用途がすぐ思い出せるように、各パラメータにラベルをアタッチします。バージョン 1 にラベル *Test* をアタッチし、バージョン 2 にラベル *Production* をアタッチします。

パラメータのラベルは同じパラメータの別のバージョンに移動できます。例えば、新しい本稼働データベース用の接続文字列を使用して `/MyApp/DB/ConnectionString` パラメータのバージョン 3 を作成した場合、*Production* ラベルをパラメータのバージョン 2 からバージョン 3 に移動できます。

パラメータラベルは、パラメータタグの軽量の代替です。組織によっては、さまざまな AWS リソースに適用される必要があるタグに対する厳格なガイドラインが存在することがあります。一方、ラベルはパラメータの特定のバージョンに対するテキストの関連付けにすぎません。

タグと同様に、ラベルを使用してパラメータをクエリできます。[GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API オペレーションを使用してパラメータセットをクエリする場合に、同じラベルを使用している特定のパラメータバージョンのリストを表示できます (このセクションで後述しています)。

**注記**  
存在しないパラメータのバージョンを指定するコマンドを実行すると、コマンドは失敗します。パラメータの最新値やデフォルト値にはフォールバックしません。

**ラベルの要件と制約**

パラメータラベルには以下の要件と制約があります。
+ 1 つのパラメータの 1 つのバージョンにアタッチできるラベルは最大 10 個です。
+ 同じパラメータの別のバージョンに同じラベルをアタッチすることはできません。例えば、パラメータのバージョン 1 にラベル *Production* がアタッチされている場合、バージョン 2 にラベル *Production* をアタッチすることはできません。
+ パラメータのラベルは同じパラメータの別のバージョンに移動できます。
+ パラメータの作成時にラベルを作成することはできません。ラベルはパラメータの特定のバージョンにアタッチする必要があります。
+ パラメータラベルが不要になった場合は、そのラベルをパラメータの別のバージョンに移動したり、削除したりできます。
+ ラベルに使用できるのは最大 100 文字です。
+ ラベルでは英字 (大文字と小文字が区別される)、数字、ピリオド (.)、ハイフン (-)、アンダースコア (\$1) を使用できます。
+ 数字、「aws」または「ssm」(大文字と小文字は区別されない) で始まるラベルは使用できません。ラベルが上記の要件を満たしていない場合、そのラベルはパラメータバージョンにアタッチされず、そのラベルはシステムによって `InvalidLabels` のリストに表示されます。

**Topics**
+ [コンソールを使用したパラメータラベルの操作](#sysman-paramstore-labels-console)
+ [AWS CLI を使用したパラメータラベルの操作](#sysman-paramstore-labels-cli)

## コンソールを使用したパラメータラベルの操作
<a name="sysman-paramstore-labels-console"></a>

このセクションでは、Systems Manager コンソールを使用して以下のタスクを実行する方法について説明します。
+ [コンソールを使用してパラメータラベルを作成する](#sysman-paramstore-labels-console-create)
+ [コンソールを使用してパラメータにアタッチされているラベルを表示する](#sysman-paramstore-labels-console-view)
+ [コンソールを使用してパラメータラベルを移動する](#sysman-paramstore-labels-console-move)
+ [コンソールを使用してパラメータラベルを削除する](#systems-manager-parameter-store-labels-console-delete)

### コンソールを使用してパラメータラベルを作成する
<a name="sysman-paramstore-labels-console-create"></a>

次の手順では、Systems Manager コンソールを使用して、*既存の*パラメータの特定のバージョンにラベルをアタッチする方法について説明します。新しいパラメータの作成時にラベルをアタッチすることはできません。

**パラメータバージョンにラベルをアタッチするには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

1. [**History**] タブを選択します。

1. ラベルをアタッチするパラメータバージョンを選択します。

1. [**Manage labels**] (ラベルを管理) を選択します。

1. [**Add new label**] (新しいラベルを追加) を選択します。

1. テキストボックスにラベル名を入力します。ラベルを追加するには、[**Add new label**] (新しいラベルを追加) を選択します。1 つのバージョンに最大 10 個のラベルをアタッチできます。

1. 完了したら、[**変更の保存**] を選択します。

### コンソールを使用してパラメータにアタッチされているラベルを表示する
<a name="sysman-paramstore-labels-console-view"></a>

1 つのパラメータバージョンにアタッチできるラベルは最大 10 個です。次の手順では、Systems Manager コンソールを使用して、1 つのパラメータバージョンにアタッチされているすべてのラベルを表示する方法について説明します。

**パラメータバージョンにアタッチされているラベルを表示するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

1. [**History**] タブを選択します。

1. アタッチされているすべてのラベルを表示するパラメータバージョンを見つけます。そのパラメータバージョンにアタッチされているすべてのラベルが [**Labels (ラベル)**] 列に表示されます。

### コンソールを使用してパラメータラベルを移動する
<a name="sysman-paramstore-labels-console-move"></a>

次の手順では、Systems Manager コンソールを使用して、パラメータラベルを同じパラメータの別のバージョンに移動する方法について説明します。

**ラベルを別のパラメータバージョンに移動するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

1. [**History**] タブを選択します。

1. ラベルを移動するパラメータバージョンを選択します。

1. [**Manage labels**] (ラベルを管理) を選択します。

1. [**Add new label**] (新しいラベルを追加) を選択します。

1. テキストボックスにラベル名を入力します。

1. 完了したら、[**変更の保存**] を選択します。

### コンソールを使用してパラメータラベルを削除する
<a name="systems-manager-parameter-store-labels-console-delete"></a>

次の手順では、Systems Manager コンソールを使用して 1 つまたは複数のパラメータラベルを削除する方法について説明します。

**パラメータからラベルを削除するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. パラメータの名前を選択して、そのパラメータ詳細ページを開きます。

1. [**History**] タブを選択します。

1. ラベルを削除するパラメータバージョンを選択します。

1. [**Manage labels**] (ラベルを管理) を選択します。

1. 削除する各ラベルの横にある [**Remove**] (削除) を選択します。

1. 完了したら、[**変更の保存**] を選択します。

1. 変更が正しいことを確認し、テキストボックスに `Confirm` と入力し、[**Confirm**] (確認) を選択します。

## AWS CLI を使用したパラメータラベルの操作
<a name="sysman-paramstore-labels-cli"></a>

このセクションでは、AWS Command Line Interface (AWS CLI) を使用して以下のタスクを実行する方法について説明します。
+ [AWS CLI を使用してパラメータラベルを作成する](#sysman-paramstore-labels-cli-create)
+ [AWS CLI を使用してパラメータのラベルを表示する](#sysman-paramstore-labels-cli-view)
+ [AWS CLI を使用してラベルが割り当てられているパラメータのリストを表示する](#sysman-paramstore-labels-cli-view-param)
+ [AWS CLI を使用してパラメータラベルを移動する](#sysman-paramstore-labels-cli-move)
+ [AWS CLI を使用してパラメータラベルを削除する](#systems-manager-parameter-store-labels-cli-delete)

### AWS CLI を使用してパラメータラベルを作成する
<a name="sysman-paramstore-labels-cli-create"></a>

次の手順では、AWS CLI を使用して、*既存の*パラメータの特定のバージョンにラベルをアタッチする方法について説明します。新しいパラメータの作成時にラベルをアタッチすることはできません。

**パラメータラベルを作成するには**

1. まだ AWS Command Line Interface (AWS CLI) をインストールして設定していない場合は、インストールして設定します。

   詳細については、「[AWS CLI の最新バージョンをインストールまたは更新します。](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」を参照してください。

1. 次のコマンドを実行すると、ラベルをアタッチするためのアクセス許可があるパラメータのリストが表示されます。
**注記**  
パラメータは、パラメータを作成した AWS リージョン でのみ使用できます。ラベルをアタッチするパラメータが表示されていない場合は、リージョンが正しいかどうかを確認します。

   ```
   aws ssm describe-parameters
   ```

   ラベルをアタッチするパラメータの名前をメモします。

1. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。

   ```
   aws ssm get-parameter-history --name "parameter-name"
   ```

   ラベルをアタッチするパラメータバージョンをメモします。

1. 次のコマンドを実行して、パラメータに関する情報をバージョン番号別に取得します。

   ```
   aws ssm get-parameters --names "parameter-name:version-number" 
   ```

   以下はその例です。

   ```
   aws ssm get-parameters --names "/Production/SQLConnectionString:3" 
   ```

1. 以下のいずれかのコマンドを実行して、1 つのパラメータの 1 つのバージョンにラベルをアタッチします。複数のラベルをアタッチする場合は、ラベル名をスペースで区切ります。

   **パラメータの最新バージョンにラベルをアタッチする**

   ```
   aws ssm label-parameter-version --name parameter-name  --labels label-name
   ```

   **パラメータの特定のバージョンにラベルをアタッチする**

   ```
   aws ssm label-parameter-version --name parameter-name --parameter-version version-number --labels label-name
   ```

   次に例を示します。

   ```
   aws ssm label-parameter-version --name /config/endpoint --labels production east-region finance
   ```

   ```
   aws ssm label-parameter-version --name /config/endpoint --parameter-version 3 --labels MySQL-test
   ```
**注記**  
作成したラベルが `InvalidLabels` リストに表示されている場合、そのラベルはこのトピックで前述した要件を満たしていません。要件を確認してからもう一度試してください。`InvalidLabels` リストが空であれば、パラメータのバージョンにラベルが正常に適用されています。

1. バージョン番号またはラベル名を使用することによって、パラメータの詳細を表示できます。前の手順で作成したラベルを指定して、次のコマンドを実行します。

   ```
   aws ssm get-parameter --name parameter-name:label-name --with-decryption
   ```

   このコマンドによって以下のような情報が返されます。

   ```
   {
       "Parameter": {
           "Version": version-number, 
           "Type": "parameter-type", 
           "Name": "parameter-name", 
           "Value": "parameter-value", 
           "Selector": ":label-name"
       }
   }
   ```
**注記**  
出力にある *Selector* は、`Name` 入力フィールドで指定したバージョン番号またはラベル名です。

### AWS CLI を使用してパラメータのラベルを表示する
<a name="sysman-paramstore-labels-cli-view"></a>

[GetParameterHistory](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameterHistory.html) API オペレーションを使用して、指定したパラメータの完全な履歴とアタッチされているすべてのラベルを表示できます。または、[GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API オペレーションを使用して、特定のラベルが割り当てられているすべてのパラメータのリストを表示できます。

**GetParameterHistory API オペレーションを使用してパラメータのラベルを表示するには**

1. 次のコマンドを実行すると、ラベルを表示できるパラメータのリストが表示されます。
**注記**  
パラメータは、パラメータを作成したリージョンでのみ使用できます。ラベルを表示するパラメータが表示されていない場合は、リージョンが正しいかどうかを確認します。

   ```
   aws ssm describe-parameters
   ```

   ラベルを表示するパラメータの名前を書き留めます。

1. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。

   ```
   aws ssm get-parameter-history --name parameter-name --with-decryption
   ```

   システムが以下のような情報をレスポンスします。

   ```
   {
       "Parameters": [
           {
               "Name": "/Config/endpoint", 
               "LastModifiedDate": 1528932105.382, 
               "Labels": [
                   "Deprecated"
               ], 
               "Value": "MyTestService-June-Release.example.com", 
               "Version": 1, 
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test", 
               "Type": "String"
           }, 
           {
               "Name": "/Config/endpoint", 
               "LastModifiedDate": 1528932111.222, 
               "Labels": [
                   "Current"
               ], 
               "Value": "MyTestService-July-Release.example.com", 
               "Version": 2, 
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test", 
               "Type": "String"
           }
       ]
   }
   ```

### AWS CLI を使用してラベルが割り当てられているパラメータのリストを表示する
<a name="sysman-paramstore-labels-cli-view-param"></a>

[GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API オペレーションを使用して、特定のラベルが割り当てられている、パス内のすべてのパラメータのリストを表示できます。

次のコマンドを実行すると、特定のラベルが割り当てられている、パス内のパラメータのリストが表示されます。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

```
aws ssm get-parameters-by-path \
    --path parameter-path \
    --parameter-filters Key=Label,Values=label-name,Option=Equals \
    --max-results a-number \
    --with-decryption --recursive
```

システムが以下のような情報をレスポンスします。次の例では、ユーザーが`/Config` パス内を検索していました。

```
{
    "Parameters": [
        {
            "Version": 3, 
            "Type": "SecureString", 
            "Name": "/Config/DBpwd", 
            "Value": "MyS@perGr&pass33"
        }, 
        {
            "Version": 2, 
            "Type": "String", 
            "Name": "/Config/DBusername", 
            "Value": "TestUserDB"
        }, 
        {
            "Version": 2, 
            "Type": "String", 
            "Name": "/Config/endpoint", 
            "Value": "MyTestService-July-Release.example.com"
        }
    ]
}
```

### AWS CLI を使用してパラメータラベルを移動する
<a name="sysman-paramstore-labels-cli-move"></a>

次の手順では、パラメータラベルを同じパラメータの別のバージョンに移動する方法について説明します。

**パラメータラベルを移動するには**

1. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。*parameter name* を自分の情報に置き換えます。

   ```
   aws ssm get-parameter-history \
       --name "parameter name"
   ```

   ラベルの移動先と移動元となるパラメータのバージョンを書き留めます。

1. 既存のラベルを別のバージョンのパラメータに割り当てるには、次のコマンドを実行します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

   ```
   aws ssm label-parameter-version \
       --name parameter name \
       --parameter-version version number \
       --labels name-of-existing-label
   ```
**注記**  
既存のラベルをパラメータの最新バージョンに移動する場合は、上記のコマンドで `--parameter-version` を削除します。

### AWS CLI を使用してパラメータラベルを削除する
<a name="systems-manager-parameter-store-labels-cli-delete"></a>

次の手順では、AWS CLI を使用してパラメータラベルを削除する方法について説明します。

**パラメータラベルを削除するには**

1. パラメータのすべてのバージョンを確認するには、次のコマンドを実行します。*parameter name* を自分の情報に置き換えます。

   ```
   aws ssm get-parameter-history \
       --name "parameter name"
   ```

   システムが以下のような情報をレスポンスします。

   ```
   {
       "Parameters": [
           {
               "Name": "foo",
               "DataType": "text",
               "LastModifiedDate": 1607380761.11,
               "Labels": [
                   "l3",
                   "l2"
               ],
               "Value": "test",
               "Version": 1,
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test",
               "Policies": [],
               "Tier": "Standard",
               "Type": "String"
           },
           {
               "Name": "foo",
               "DataType": "text",
               "LastModifiedDate": 1607380763.11,
               "Labels": [
                   "l1"
               ],
               "Value": "test",
               "Version": 2,
               "LastModifiedUser": "arn:aws:iam::123456789012:user/test",
               "Policies": [],
               "Tier": "Standard",
               "Type": "String"
           }
       ]
   }
   ```

   1 つまたは複数のラベルを削除するパラメータのバージョンを書き留めます。

1. 次のコマンドを実行して、そのパラメータから選択したラベルを削除します。各*リソースプレースホルダーの例*をユーザー自身の情報に置き換えます。

   ```
   aws ssm unlabel-parameter-version \
       --name parameter name \
       --parameter-version version \
       --labels label 1,label 2,label 3
   ```

   システムが以下のような情報をレスポンスします。

   ```
   {
       "InvalidLabels": ["invalid"], 
       "DeletedLabels" : ["Prod"]
    }
   ```

# Parameter Store でのパラメータバージョンの使用
<a name="sysman-paramstore-versions"></a>

パラメータの値を編集するたびに、AWS Systems Manager のツールである Parameter Store は、パラメータの新しい*バージョン*を作成し、以前のバージョンを保持します。最初にパラメータを作成すると、Parameter Store はそのパラメータにバージョン `1` を割り当てます。パラメータの値を変更すると、Parameter Store により自動的にバージョン番号が 1 つ上がります。パラメータの履歴にあるすべてのバージョンの詳細 (値を含む) を表示できます。

API コマンドおよび SSM ドキュメントで使用するパラメータのバージョンを指定することもできます (例: `ssm:MyParameter:3`) 。API コールと SSM ドキュメントでは、パラメータ名と特定のバージョン番号を指定できます。バージョン番号を指定しない場合は、自動的に最新バージョンが使用されます。存在しないバージョンの番号を指定すると、システムはパラメータの最新バージョンまたはデフォルトバージョンにフォールバックするのではなく、エラーを返します。

パラメータバージョンを使用して、一定期間にわたるパラメータの変更回数を確認することもできます。パラメータバージョンでは、パラメータ値が誤って変更された場合、保護のレイヤーも提供されます。

パラメータは最大 100 バージョンまで作成および保守できます。100 バージョンのパラメータを作成した後は、新しいバージョンを作成するたびに、履歴から最も古いバージョンのパラメータが削除され、新しいバージョン用のスペースが作成されます。

この例外は、履歴にすでに 100 個のパラメータバージョンがあり、パラメータの最も古いバージョンにパラメータラベルが割り当てられている場合です。この場合、そのバージョンは履歴から削除されず、新しいパラメータバージョンを作成する要求は失敗します。この保護は、ミッションクリティカルラベルが割り当てられているパラメータバージョンが削除されないようにするためです。新しいパラメータの作成を続行するには、最初に最も古いバージョンのパラメータから、操作で使用するために、ラベルを新しいバージョンのパラメータに移動します。パラメータラベルの移動については、「[コンソールを使用してパラメータラベルを移動する](sysman-paramstore-labels.md#sysman-paramstore-labels-console-move)」および「[AWS CLI を使用してパラメータラベルを移動する](sysman-paramstore-labels.md#sysman-paramstore-labels-cli-move)」を参照してください。

次の手順では、パラメータを編集し、新しいバージョンが作成されたことを確認する方法を示します。`get-parameter` コマンドと `get-parameters` コマンドを使用して、パラメータバージョンを表示できます。これらのコマンドの使用例については、*AWS Systems Manager API リファレンス*の [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html#API_GetParameter_Examples) と [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html#API_GetParameters_Examples) を参照してください。

**Topics**
+ [コンソールを使用してパラメータの新しいバージョンを作成する](#sysman-paramstore-version-console)
+ [パラメータバージョンを参照する](#reference-parameter-version)

## コンソールを使用してパラメータの新しいバージョンを作成する
<a name="sysman-paramstore-version-console"></a>

Systems Manager コンソールを使用して、パラメータの新しいバージョンを作成し、パラメータのバージョン履歴を表示できます。

**パラメータの新しいバージョンを作成するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. 前に作成したパラメータの名前を選択します。新しいパラメータの作成については、「[Systems Manager での Parameter Store パラメータの作成](sysman-paramstore-su-create.md)」を参照してください。

1. [**Edit**] を選択します。

1. [**Value**] ボックスに、新しい値を入力し、[**Save changes**] を選択します。

1. 更新したパラメータの名前を選択します。[**Overview**] タブで、バージョン番号が 1 つ増えたことを確認し、新しい値を確認します。

1. パラメータのすべてのバージョンの履歴を表示するには、[**履歴**] タブを選択します。

## パラメータバージョンを参照する
<a name="reference-parameter-version"></a>

コマンド、API コール、SSM ドキュメントで特定のパラメータバージョンを参照するには、ssm: `parameter-name:version-number` という形式を使用できます。

次の例では、`run-instances command` パラメータのバージョン 3 が Amazon Elastic Compute Cloud (Amazon EC2) `golden-ami` で使用されています。

------
#### [ Linux & macOS ]

```
aws ec2 run-instances \
    --image-id resolve:ssm:/golden-ami:3 \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --security-groups my-security-group
```

------
#### [ Windows ]

```
aws ec2 run-instances ^
    --image-id resolve:ssm:/golden-ami:3 ^
    --count 1 ^
    --instance-type t2.micro ^
    --key-name my-key-pair ^
    --security-groups my-security-group
```

------

**注記**  
`resolve` とパラメータ値は、`--image-id` オプション、および Amazon Machine Image (AMI) を値として含むパラメータと共にのみ使用できます。詳細については、「」を参照してください[Amazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用](parameter-store-ec2-aliases.md)

次に、SSM ドキュメント内の `MyRunCommandParameter` という名前のパラメータのバージョン 2 を指定する例を示します。

------
#### [ YAML ]

```
---
schemaVersion: '2.2'
description: Run a shell script or specify the commands to run.
parameters:
  commands:
    type: String
    description: "(Required) Specify a shell script or a command to run."
    displayType: textarea
    default: "{{ssm:MyRunCommandParameter:2}}"
mainSteps:
- action: aws:runShellScript
  name: RunScript
  inputs:
    runCommand:
    - "{{commands}}"
```

------
#### [ JSON ]

```
{
    "schemaVersion": "2.2",
    "description": "Run a shell script or specify the commands to run.",
    "parameters": {
        "commands": {
            "type": "String",
            "description": "(Required) Specify a shell script or a command to run.",
            "displayType": "textarea",
            "default": "{{ssm:MyRunCommandParameter:2}}"
        }
    },
    "mainSteps": [
        {
            "action": "aws:runShellScript",
            "name": "RunScript",
            "inputs": {
                "runCommand": [
                    "{{commands}}"
                ]
            }
        }
    ]
}
```

------

# Parameter Store での共有パラメータの使用
<a name="parameter-store-shared-parameters"></a>

詳細パラメータを共有することで、マルチアカウント環境での設定データ管理が簡単になります。パラメータは、一元的に保存および管理し、これらのパラメータを参照する必要がある他の AWS アカウント と共有できます。

Parameter Store を AWS Resource Access Manager (AWS RAM) と統合することで、詳細パラメータの共有が可能になります。AWS RAM は、リソースを他の AWS アカウント と共有したり、AWS Organizations を介して共有したりできるようにするサービスです。

AWS RAM を使用したリソース共有。これにより、自身が所有するリソースを共有できます。リソース共有では、共有するリソース、付与するアクセス許可、および共有先のコンシューマーを指定します。コンシューマーには以下が含まれます。
+ AWS Organizations の特定の AWS アカウント の組織の内部または外部
+ AWS Organizations の組織内の組織単位
+ AWS Organizations の組織全体

AWS RAM については *[AWS RAMユーザーガイド](https://docs.aws.amazon.com/ram/latest/userguide/)*を参照してください。

このトピックでは、所有しているパラメータの共有方法と、共有されているパラメータの使用方法を説明します。

**Topics**
+ [パラメータを共有するための前提条件](#prereqs)
+ [パラメータの共有](#share)
+ [共有パラメータの共有を停止する](#unshare)
+ [共有パラメータの特定](#identify)
+ [共有パラメータへのアクセス](#accessing)
+ [パラメータを共有するためのアクセス許可のセット](#sharing-permissions)
+ [共有パラメータの最大スループット](#throughput)
+ [共有パラメータの料金](#pricing)
+ [閉鎖された AWS アカウント に対するクロスアカウントアクセス](#closed-accounts)

## パラメータを共有するための前提条件
<a name="prereqs"></a>

アカウントからパラメータを共有するには、次の前提条件が満たされている必要があります。
+ パラメータを共有するには、AWS アカウント でそのパラメータを所有している必要があります。共有を受けているパラメータを共有することはできません。
+ パラメータを共有するには、そのパラメータが詳細パラメータ階層に含まれている必要があります。パラメータ階層の詳細については、「[パラメータ層の管理](parameter-store-advanced-parameters.md)」を参照してください。既存の標準パラメータを詳細パラメータに変更する方法については、「[スタンダードパラメータをアドバンストパラメータに変更する](parameter-store-advanced-parameters.md#parameter-store-advanced-parameters-enabling)」を参照してください。
+ `SecureString` パラメータを共有するには、カスタマーマネージドキーで暗号化されている必要があります。また、キーは AWS Key Management Service を介して別途共有する必要があります。AWS マネージドキー を共有することはできません。ただし、デフォルトの AWS マネージドキー で暗号化されたパラメータを、カスタマーマネージドキーを使用するように更新することはできます。AWS KMS キー定義については、「AWS Key Management Service 開発者ガイド」の「[AWS KMS の概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-mgmt)」を参照してください。
+ 組織、または AWS Organizations 内の組織単位とパラメータを共有するには、AWS Organizations との共有を有効にする必要があります。詳細については、「AWS RAM ユーザーガイド」の「[Enable Sharing with AWS Organizations](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html#getting-started-sharing-orgs)」を参照してください。

## パラメータの共有
<a name="share"></a>

パラメータを共有するには、リソース共有に追加する必要があります。リソース共有とは、AWS アカウント間で自身のリソースを共有するための AWS RAM リソースです。リソース共有では、共有対象のリソースと、共有先のコンシューマーを指定します。

所有しているパラメータを他のAWS アカウントと共有する場合、2 つの AWS マネージドアクセス許可から選択してコンシューマーに付与できます。詳細については、「[パラメータを共有するためのアクセス許可のセット](#sharing-permissions)」を参照してください。

AWS Organizations の組織の一員であり、組織内での共有が有効になっている場合は、組織内のコンシューマーに AWS RAM コンソールから共有パラメータへのアクセス権を許可付与できます。これに該当しない場合、コンシューマーはリソース共有への参加の招待を受け取り、その招待を受け入れると、共有パラメータに対するアクセス権が付与されます。

AWS RAM コンソールまたは AWS CLI を使用して、所有しているパラメータを共有できます。

**注記**  
Systems Manager の [PutResourcePolicy](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutResourcePolicy.html) API オペレーションを使用してパラメータを共有することもできますが、そうではなく AWS Resource Access Manager (AWS RAM) を使用することをお勧めします。これは、`PutResourcePolicy` を使用する場合、AWS RAM [PromoteResourceShareCreatedFromPolicy](https://docs.aws.amazon.com/ram/latest/APIReference/API_PromoteResourceShareCreatedFromPolicy.html) API オペレーションを使用してパラメータを標準リソース共有にプロモートするという追加の手順が必要になるためです。そうしないと、`--shared` オプションを使用する Systems Manager の [DescribeParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_DescribeParameters.html) API オペレーションによってパラメータが返されません。

**AWS RAM コンソールを使用して、自身が所有するパラメータを共有するには**  
「AWS RAM ユーザーガイド」の「[Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)」を参照してください。

以下の項目を選択し、手順を完了させてください。
+ ステップ 1 ページの **[リソース]** で `Parameter Store Advanced Parameter` を選択し、共有する詳細パラメータ階層の各パラメータのボックスを選択します。
+ ステップ 2 ページの **[マネージドアクセス許可]** で、このトピック後半の [パラメータを共有するためのアクセス許可のセット](#sharing-permissions) で説明されているように、コンシューマーに付与するアクセス許可を選択します。

パラメータ共有の目的に基づいてその他のオプションを選択します。

**AWS CLI を使用して、自身が所有するパラメータを共有するには**  
[https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/create-resource-share.html) コマンドを使用して、新しいリソース共有にパラメータを追加します。

[https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html](https://docs.aws.amazon.com/cli/latest/reference/ram/associate-resource-share.html) コマンドを使用して、既存のリソース共有にパラメータを追加します。

次の例では、新しいリソース共有を作成して、組織内および個人アカウントのコンシューマーとパラメータを共有します。

```
aws ram create-resource-share \
    --name "MyParameter" \
    --resource-arns "arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter" \
    --principals "arn:aws:organizations::123456789012:ou/o-63bEXAMPLE/ou-46xi-rEXAMPLE" "987654321098"
```

## 共有パラメータの共有を停止する
<a name="unshare"></a>

共有パラメータの共有を停止すると、コンシューマーアカウントはそのパラメータにアクセスできなくなります。

所有しているパラメータの共有を停止するには、リソース共有から削除する必要があります。この操作は、Systems Manager コンソール、AWS RAM コンソール、または AWS CLI を使用して行うことができます。

**AWS RAM コンソールを使用して、所有しているパラメータの共有を停止するには**  
「AWS RAM ユーザーガイド」の「[AWS RAM 内のリソース共有を更新する](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-update.html)」を参照してください。

**AWS CLI を使用して、所有しているパラメータの共有を停止するには**  
[disassociate-resource-share](https://docs.aws.amazon.com/cli/latest/reference/ram/disassociate-resource-share.html) コマンドを使用します。

## 共有パラメータの特定
<a name="identify"></a>

所有者とコンシューマーは、AWS CLI を使用して共有パラメータを特定できます。

**AWS CLI を使用して共有パラメータを特定するには**  
AWS CLI を使用して共有パラメータを特定するには、Systems Manager `[https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/describe-parameters.html)` コマンドと AWS RAM `[list-resources](https://docs.aws.amazon.com/cli/latest/reference/ram/list-resources.html)` コマンドから選択できます。

`--shared` オプションを `describe-parameters` とともに使用すると、コマンドは共有されているパラメータを返します。

以下に例を示します。

```
aws ssm describe-parameters --shared
```

## 共有パラメータへのアクセス
<a name="accessing"></a>

コンシューマーは、AWS コマンドラインツールと AWS SDK を使用して共有パラメータにアクセスできます。コンシューマーアカウントの場合、そのアカウントと共有されているパラメータは **[マイパラメータ]** ページには含まれません。

**CLI の例: AWS CLI を使用して共有パラメータの詳細にアクセスする**  
AWS CLI を使用して共有パラメータの詳細にアクセスするには、[https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameter.html) または [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-parameters.html) コマンドを使用できます。別のアカウントからパラメータを取得するには、`--name` として完全なパラメータ ARN を指定する必要があります。

以下に例を示します。

```
aws ssm get-parameter \
    --name arn:aws:ssm:us-east-2:123456789012:parameter/MySharedParameter
```

**共有パラメータがサポートされている統合とサポートされていない統合**  
現在、共有パラメータは次の統合シナリオで使用できます。
+ AWS CloudFormation [テンプレートパラメータ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types)
+ [AWS パラメータとシークレットの Lambda 拡張機能](ps-integration-lambda-extensions.md)
+ [Amazon Elastic Compute Cloud (EC2) 起動テンプレート](https://docs.aws.amazon.com/autoscaling/ec2/userguide/using-systems-manager-parameters.html)
+ Amazon Machine Image (AMI) からインスタンスを作成するための [EC2 RunInstances コマンド](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html)の `ImageID` の値
+ Systems Manager のツールである Automation 用の[ランブックのパラメータ値の取得](https://repost.aws/knowledge-center/systems-manager-parameter-store)

次のシナリオと統合サービスは、現在、共有パラメータの使用をサポートしていません。
+ Systems Manager のツールである Run Command の[コマンド内のパラメータ](sysman-param-runcommand.md)
+ AWS CloudFormation [動的参照](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html)
+ AWS CodeBuild の[環境変数の値](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec.env.parameter-store)
+ AWS App Runner の[環境変数の値](https://docs.aws.amazon.com/apprunner/latest/dg/env-variable.html)
+ Amazon Elastic Container Service の[シークレットの値](https://docs.aws.amazon.com/AmazonECS/latest/userguide/secrets-envvar-ssm-paramstore.html)

## パラメータを共有するためのアクセス許可のセット
<a name="sharing-permissions"></a>

コンシューマーアカウントには、共有するパラメータへの読み取り専用アクセス権が付与されます。コンシューマーはパラメータの更新や削除ができません。コンシューマーはパラメータを第 3 のアカウントと共有できません。

AWS Resource Access Manager でリソース共有を作成してパラメータを共有する場合、2 つの AWS マネージドアクセス許可セットから選択して、この読み取り専用アクセスを許可できます。

**AWSRAMDefaultPermissionSSMParameterReadOnly**  
実行可能なアクション: `DescribeParameters`、`GetParameter`、`GetParameters`

**AWSRAMPermissionSSMParameterReadOnlyWithHistory**  
実行可能なアクション: `DescribeParameters`、`GetParameter`、`GetParameters`、`GetParameterHistory`

「AWS RAM ユーザーガイド」の「[Creating a resource share in AWS RAM](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing.html#working-with-sharing-create)」のステップに従う場合は、リソースタイプとして `Parameter Store Advanced Parameters` を選択し、ユーザーがパラメータ履歴を表示するかどうかに応じて、これらのマネージドアクセス許可のいずれかを選択します。

**注記**  
共有パラメータをプログラムで取得する場合 (例えば AWS Lambda を使用する）、AWS Resource Access Manager API アクションを呼び出す IAM ロールに `ssm:GetResourcePolicies` と `ssm:PutResourcePolicy` のアクセス許可を追加する必要がある場合があります。

## 共有パラメータの最大スループット
<a name="throughput"></a>

Systems Manager は、[https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html) オペレーションおよび [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) オペレーションの最大スループット (1 秒あたりのトランザクション数) を制限します。スループットは個々のアカウントレベルで適用されます。そのため、共有パラメータを使用する各アカウントは、他のアカウントの影響を受けずに、許容される最大スループットを使用できます。パラメータの最大スループットの詳細については、次のトピックを参照してください。
+ [Parameter Store スループットの向上](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-throughput.html)
+ Amazon Web Services 全般のリファレンス の [Systems Manager Service Quotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)

## 共有パラメータの料金
<a name="pricing"></a>

アカウント間の共有は詳細パラメータ階層でのみ利用可能です。詳細パラメータについては、各詳細パラメータのストレージと API の使用量について、現在の価格で料金が発生します。所有しているアカウントには、詳細パラメータのストレージに対して課金されます。共有の詳細パラメータに API コールを行うコンシューマーアカウントには、そのパラメータの使用料が課金されます。

例えば、アカウント A が詳細パラメータ `MyAdvancedParameter` を作成した場合、そのアカウントにはパラメータの保管料として 1 か月あたり 0.05 USD が課金されます。

その後、アカウント A はアカウント B およびアカウント C と `MyAdvancedParameter` を共有します。1 か月の間に、3 つのアカウントが `MyAdvancedParameter` を呼び出すとします。次の表は、それぞれの呼び出し回数に対して発生する料金を示しています。

**注記**  
次の表の料金は説明のみを目的としています。現在の料金を確認するには、「[Parameter Store に対する AWS Systems Manager の料金](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)」を参照してください。


| アカウント | 呼び出し回数 | 料金 | 
| --- | --- | --- | 
| アカウント A (所有アカウント) | 10,000 回の呼び出し |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 
| アカウント B (コンシューマーアカウント) | 20,000 回の呼び出し |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 
| アカウント C (コンシューマーアカウント) | 30,000 回の呼び出し |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 

## 閉鎖された AWS アカウント に対するクロスアカウントアクセス
<a name="closed-accounts"></a>

共有パラメータを所有する AWS アカウント が閉鎖されると、すべてのコンシューマーアカウントは共有パラメータにアクセスできなくなります。所有アカウントが閉鎖されてから 90 日以内にアカウントが再開されると、コンシューマーアカウントは以前に共有されていたパラメータに再びアクセスできるようになります。閉鎖後の期間中にアカウントを再開する方法の詳細については、「AWS アカウント管理 リファレンスガイド」の「[閉鎖後の AWS アカウント へのアクセス](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-closing.html#accessing-after-closure)」を参照してください。

# Run Command コマンドを使用した Parameter Store でのパラメータの操作
<a name="sysman-param-runcommand"></a>

AWS Systems Manager のツールである Run Command でパラメータを使用できます。詳細については、「[AWS Systems Manager Run Command](run-command.md)」を参照してください。

## コンソールを使用して String パラメータを実行する
<a name="param-test-console"></a>

次の手順では、`String` パラメータを使用するコマンドを実行するプロセスを順を追って説明します。

**Parameter Store を使用して文字列パラメータを実行するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Run Command]** を選択します。

1. [**Run command (コマンドの実行)**] を選択します。

1. [**コマンドのドキュメント**] リストで、[`AWS-RunPowerShellScript`] (Windows) または [`AWS-RunShellScript`] (Linux) を選択します。

1. [**コマンドパラメータ**] で、**echo \$1\$1ssm:*parameter-name*\$1\$1** と入力します。例: **echo \$1\$1ssm:/Test/helloWorld\$1\$1**。

1. **[Targets]** (ターゲット) セクションで、タグの指定、インスタンスやエッジデバイスの手動選択、リソースグループの指定により、このオペレーションを実行するマネージドノードを選択します。
**ヒント**  
表示されるはずのマネージドノードが表示されない場合は、トラブルシューティングのヒントについて「[マネージドノードの可用性のトラブルシューティング](fleet-manager-troubleshooting-managed-nodes.md)」を参照してください。

1. **[その他のパラメータ]** で、以下の操作を行います。
   + **[コメント]** に、このコマンドに関する情報を入力します。
   + **[タイムアウト (秒)]** に、コマンドの実行全体が失敗するまでにシステムが待機する秒数を指定します。

1. **[レート制御]** の場合:
   + **[同時実行数]** の場合、コマンドを同時に実行するマネージドノードの数または割合を指定します。
**注記**  
マネージドノードに適用されるタグを指定するか、AWS リソースグループを指定してターゲットを選択し、ターゲットとなるマネージドノードの数が不明な場合は、割合を指定してドキュメントを同時に実行できるターゲットの数を制限します。
   + **[エラーのしきい値]** で、ノードの数または割合のいずれかで失敗した後、他のマネージドノードでのコマンドの実行をいつ停止するか指定します。例えば、3 つのエラーを指定した場合、4 番目のエラーが受信されると、システムマネージャー はコマンドの送信を停止します。コマンドを処理しているマネージドノードもエラーを送信する可能性があります。

1. (オプション) コマンド出力をファイルに保存する場合は、**[出力オプション]** の **[S3 バケットにコマンド出力を書き込む]** ボックスを選択します。ボックスにバケット名とプレフィックス (フォルダ) 名を入力します。
**注記**  
S3 バケットにデータを書き込む機能を許可する S3 許可は、このタスクを実行する IAM ユーザーのものではなく、インスタンスに割り当てられたインスタンスプロファイル (EC2 インスタンスの場合) または IAM サービスロール (ハイブリッドアクティベーションマシン) のものです。詳細については、「[Systems Manager に必要なインスタンスのアクセス許可を設定する](setup-instance-permissions.md)」または「[ハイブリッド環境に IAM サービスロールを作成する](hybrid-multicloud-service-role.md)」を参照してください。さらに、指定された S3 バケットが別の AWS アカウント にある場合は、マネージドノードに関連付けられたインスタンスプロファイルまたは IAM サービスロールが、そのバケットへの書き込みに必要なアクセス許可があることを確認してください。

1. [**SNS Notifications (SNS 通知)**] セクションで、コマンドの実行状態に関する通知を受け取る場合は、[**Enable SNS notifications (SNS 通知を有効にする)**] チェックボックスをオンにします。

   Run Command 用の Amazon SNS 通知の設定の詳細については、「[Amazon SNS 通知を使用した Systems Manager のステータス変更のモニタリング](monitoring-sns-notifications.md)」を参照してください。

1. [**Run** (実行)] を選択します。

1. [**Command ID**] (コマンド ID) ページの [**Targets and outputs**] (ターゲットと出力) エリアで、コマンドを実行したノードの ID の横にあるボタンを選択し、[**View output**] (出力の表示) を選択します。コマンドの出力が、パラメータに指定した値 (**This is my first parameter** など) であることを確認します。

## AWS CLI を使用してパラメータを実行する
<a name="param-test-cli"></a>

**例 1: シンプルコマンド**  
次のコマンドの例には、`DNS-IP` という名前の Systems Manager パラメータが含まれています。このパラメータの値は単純なノードの IP アドレスです。この例では、AWS Command Line Interface (AWS CLI) コマンドを使用してパラメータ値をエコーします。

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --document-version "1" \
    --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" \
    --parameters "commands='echo {{ssm:DNS-IP}}'" \
    --timeout-seconds 600 \
    --max-concurrency "50" \
    --max-errors "0" \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name "AWS-RunPowerShellScript" ^
    --document-version "1" ^
    --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" ^
    --parameters "commands='echo {{ssm:DNS-IP}}'" ^
    --timeout-seconds 600 ^
    --max-concurrency "50" ^
    --max-errors "0" ^
    --region us-east-2
```

------

このコマンドによって以下のような情報が返されます。

```
{
    "Command": {
        "CommandId": "c70a4671-8098-42da-b885-89716EXAMPLE",
        "DocumentName": "AWS-RunShellScript",
        "DocumentVersion": "1",
        "Comment": "",
        "ExpiresAfter": "2023-12-26T15:19:17.771000-05:00",
        "Parameters": {
            "commands": [
                "echo {{ssm:DNS-IP}}"
            ]
        },
        "InstanceIds": [],
        "Targets": [
            {
                "Key": "instanceids",
                "Values": [
                    "i-02573cafcfEXAMPLE"
                ]
            }
        ],
        "RequestedDateTime": "2023-12-26T14:09:17.771000-05:00",
        "Status": "Pending",
        "StatusDetails": "Pending",
        "OutputS3Region": "us-east-2",
        "OutputS3BucketName": "",
        "OutputS3KeyPrefix": "",
        "MaxConcurrency": "50",
        "MaxErrors": "0",
        "TargetCount": 0,
        "CompletedCount": 0,
        "ErrorCount": 0,
        "DeliveryTimedOutCount": 0,
        "ServiceRole": "",
        "NotificationConfig": {
            "NotificationArn": "",
            "NotificationEvents": [],
            "NotificationType": ""
        },
        "CloudWatchOutputConfig": {
            "CloudWatchLogGroupName": "",
            "CloudWatchOutputEnabled": false
        },
        "TimeoutSeconds": 600,
        "AlarmConfiguration": {
            "IgnorePollAlarmFailure": false,
            "Alarms": []
        },
        "TriggeredAlarms": []
    }
}
```

コマンドの実行が完了したら、以下のコマンドを使ってそのコマンドに関する詳細情報を表示できます。
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-command-invocation.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-command-invocation.html) — コマンドの実行に関する詳細情報を表示します。
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-command-invocations.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-command-invocations.html) — 特定のマネージドノードにおけるコマンドの実行ステータスを表示します。
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-commands.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/link-cli-ref-list-commands.html) — 複数のマネージドノードにおけるコマンドの実行ステータスを表示します。

**例 2: `SecureString` パラメータ値を復号する**  
次のコマンド例では、**SecurePassword** という名前の `SecureString` パラメータを使用します。`parameters` フィールドで使用されるコマンドは、`SecureString` パラメータの値を取得および復号化した後、クリアテキストでパスワードを渡すことなくローカル管理者パスワードをリセットします。

------
#### [ Linux ]

```
aws ssm send-command \
        --document-name "AWS-RunShellScript" \
        --document-version "1" \
        --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" \
        --parameters '{"commands":["secure=$(aws ssm get-parameters --names SecurePassword --with-decryption --query Parameters[0].Value --output text --region us-east-2)","echo $secure | passwd myuser --stdin"]}' \
        --timeout-seconds 600 \
        --max-concurrency "50" \
        --max-errors "0" \
        --region us-east-2
```

------
#### [ Windows ]

```
aws ssm send-command ^
        --document-name "AWS-RunPowerShellScript" ^
        --document-version "1" ^
        --targets "Key=instanceids,Values=i-02573cafcfEXAMPLE" ^
        --parameters "commands=['$secure = (Get-SSMParameterValue -Names SecurePassword -WithDecryption $True).Parameters[0].Value','net user administrator $secure']" ^
        --timeout-seconds 600 ^
        --max-concurrency "50" ^
        --max-errors "0" ^
        --region us-east-2
```

------

**例 3: SSM ドキュメント内のパラメータを参照する**  
また、以下の例に示すように、SSM ドキュメントの *Parameters* セクションで Systems Manager パラメータを参照することもできます。

```
{
   "schemaVersion":"2.0",
   "description":"Sample version 2.0 document v2",
   "parameters":{
      "commands" : {
        "type": "StringList",
        "default": ["{{ssm:parameter-name}}"]
      }
    },
    "mainSteps":[
       {
          "action":"aws:runShellScript",
          "name":"runShellScript",
          "inputs":{
             "runCommand": "{{commands}}"
          }
       }
    ]
}
```

SSM ドキュメントの `runtimeConfig` セクションで使用されている *ローカルパラメータ*と同様の構文を、Parameter Store パラメータと混同しないでください。ローカルパラメータは、Systems Manager のパラメータと同じではありません。「`ssm:`」というプレフィックスを付けないことで、ローカルパラメータを Systems Manager パラメータから区別できます。

```
"runtimeConfig":{
        "aws:runShellScript":{
            "properties":[
                {
                    "id":"0.aws:runShellScript",
                    "runCommand":"{{ commands }}",
                    "workingDirectory":"{{ workingDirectory }}",
                    "timeoutSeconds":"{{ executionTimeout }}"
```

**注記**  
SSM ドキュメントは、`SecureString` パラメータへのリファレンスをサポートしていません。たとえば、Run Command で `SecureString` パラメータを使用するには、以下の例に示すように、Run Command に渡す前にパラメータ値を取得する必要があります。  

```
value=$(aws ssm get-parameters --names parameter-name --with-decryption)
```

```
aws ssm send-command \
    --name AWS-JoinDomain \
    --parameters password=$value \
    --instance-id instance-id
```

```
aws ssm send-command ^
    --name AWS-JoinDomain ^
    --parameters password=$value ^
    --instance-id instance-id
```

```
$secure = (Get-SSMParameterValue -Names parameter-name -WithDecryption $True).Parameters[0].Value | ConvertTo-SecureString -AsPlainText -Force
```

```
$cred = New-Object System.Management.Automation.PSCredential -argumentlist user-name,$secure
```

# Amazon マシンイメージ ID の Parameter Store でのパラメータのネイティブサポートの利用
<a name="parameter-store-ec2-aliases"></a>

`String` パラメータを作成するときに、*データ型*を `aws:ec2:image` として指定して、入力するパラメータ値が有効な Amazon Machine Image (AMI) ID 形式に確実になるようにできます。

AMI ID 形式のサポートにより、プロセスで使用する AMI が変更されるたびに、すべてのスクリプトとテンプレートを新しい ID で更新する必要がなくなりました。データ型 `aws:ec2:image` のパラメータを作成し、その値として、AMI の ID を入力できます。これは、新しいインスタンスの作成元となる AMI です。このパラメータをテンプレート、コマンド、スクリプトで参照します。

例えば、Amazon Elastic Compute Cloud (Amazon EC2) AMI コマンドを実行するときに、希望の `run-instances` ID を含むパラメータを指定できます。

**注記**  
このコマンドを実行するユーザーには、パラメータ値が検証されるように、`ssm:GetParameters` API オペレーションを含む AWS Identity and Access Management (IAM) アクセス許可が必要です。このアクセス許可がない場合、パラメータ作成プロセスは失敗します。

------
#### [ Linux & macOS ]

```
aws ec2 run-instances \
    --image-id resolve:ssm:/golden-ami \
    --count 1 \
    --instance-type t2.micro \
    --key-name my-key-pair \
    --security-groups my-security-group
```

------
#### [ Windows ]

```
aws ec2 run-instances ^
    --image-id resolve:ssm:/golden-ami ^
    --count 1 ^
    --instance-type t2.micro ^
    --key-name my-key-pair ^
    --security-groups my-security-group
```

------

Amazon EC2 コンソールを使用してインスタンスを作成するときに、希望する AMI を選択することもできます。詳細については、「Amazon EC2 ユーザーガイド」の「[Systems Manager パラメータを使用して AMI を検索する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI)」を参照してください。

インスタンス作成ワークフローで別の AMI を使用するときは、パラメータを新しい AMI 値で更新するだけです。正しい形式で ID を入力したことが Parameter Store によって再度検証されます。

## `aws:ec2:image` データ型のパラメータを作成するアクセス許可を付与する
<a name="parameter-store-ec2-iam"></a>

AWS Identity and Access Management (IAM) ポリシーを使用すると、Parameter Store API オペレーションおよびコンテンツへのユーザーアクセスを提供または制限できます。

`aws:ec2:image` データ型パラメータを作成するには、ユーザーには `ssm:PutParameter` と `ec2:DescribeImages` の両方のアクセス許可が必要です。

次のポリシー例では、`PutParameter` の `aws:ec2:image` API オペレーションを呼び出すアクセス権限をユーザーに付与します。これは、ユーザーがデータタイプ `aws:ec2:image` のパラメータをシステムに追加できることを意味します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ssm:PutParameter",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeImages",
            "Resource": "*"
        }
    ]
}
```

------

## AMI 形式の検証の仕組み
<a name="parameter-ami-validation"></a>

パラメータのデータ型として `aws:ec2:image` を指定した場合、Systems Manager によってパラメータはすぐには作成されません。代わりに、非同期検証オペレーションが実行され、パラメータ値が AMI ID の書式設定要件を満たし、指定された AMI が AWS アカウント で使用可能であることが確認されます。

パラメータのバージョン番号は、検証操作が完了する前に生成されることがあります。パラメータバージョン番号が生成されても、操作が完了しない場合があります。

`create` および `update` パラメータのオペレーションに関する通知により、パラメータが正常に作成されたかどうかをモニタリングするには、Amazon EventBridge を使用することをお勧めします。これらの通知は、パラメータのオペレーションが成功したかどうかをレポートします。オペレーションが失敗した場合、通知には失敗の理由を示すエラーメッセージが含まれます。

```
{
    "version": "0",
    "id": "eed4a719-0fa4-6a49-80d8-8ac65EXAMPLE",
    "detail-type": "Parameter Store Change",
    "source": "aws.ssm",
    "account": "111122223333",
    "time": "2020-05-26T22:04:42Z",
    "region": "us-east-2",
    "resources": [
        "arn:aws:ssm:us-east-2:111122223333:parameter/golden-ami"
    ],
    "detail": {
        "exception": "Unable to Describe Resource",
        "dataType": "aws:ec2:image",
        "name": "golden-ami",
        "type": "String",
        "operation": "Create"
    }
}
```

EventBridge での Parameter Store イベントのサブスクライブについては、「[Parameter Store イベントに基づいた通知の設定またはアクションのトリガー](sysman-paramstore-cwe.md)」を参照してください。

# Parameter Store からのパラメータの削除
<a name="deleting-parameters"></a>

このトピックでは、AWS Systems Manager のツールである Parameter Store で作成したパラメータを削除する方法について説明します。

**警告**  
パラメータを削除すると、パラメータのすべてのバージョンが削除されます。一度削除されると、パラメータとそのバージョンを復元することはできません。

**コンソールを使用してパラメータを削除するには**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. [**マイパラメーター**] タブで、削除する各パラメータの横にあるチェックボックスを選択します。

1. [**削除**] を選択します。

1. 確認ダイアログボックスで、[**パラメータを削除**] を選択します。

**AWS CLI を使用してパラメータを削除するには**
+ 次のコマンドを実行してください。

  ```
  aws ssm delete-parameter --name "my-parameter"
  ```

  *my-parameter* は、削除するパラメータの名前に置き換えます。

  `delete-parameter` コマンドで使用できるすべてのオプションについては、AWS CLI コマンドリファレンスの「AWS Systems Manager」セクションの「[https://docs.aws.amazon.com/cli/latest/reference/ssm/delete-parameter.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/delete-parameter.html)」を参照してください。

# Parameter Store でのパブリックパラメータの使用
<a name="parameter-store-public-parameters"></a>

一部の AWS のサービスでは、共通のアーティファクトを AWS Systems Manager パブリックパラメータとして公開します。例えば、Amazon Elastic Compute Cloud (Amazon EC2) サービスは、Amazon Machine Images (AMIs) に関する情報をパブリックパラメータとして公開しています。

**Topics**
+ [Parameter Store でのパブリックパラメータの検出](parameter-store-finding-public-parameters.md)
+ [Parameter Store で AMI パブリックパラメータを呼び出す](parameter-store-public-parameters-ami.md)
+ [Parameter Store で ECS 最適化 AMI パブリックパラメータを呼び出す](parameter-store-public-parameters-ecs.md)
+ [Parameter Store で EKS 最適化 AMI パブリックパラメータを呼び出す](parameter-store-public-parameters-eks.md)
+ [Parameter Store における、AWS のサービス、リージョン、エンドポイント、アベイラビリティーゾーン、Local Zones、Wavelength Zones のパブリックパラメータの呼び出し](parameter-store-public-parameters-global-infrastructure.md)

**関連する AWS ブログ記事**  
+ [Query for AWS リージョン, Endpoints, and More Using AWS Systems ManagerParameter Store](https://aws.amazon.com/blogs/aws/new-query-for-aws-regions-endpoints-and-more-using-aws-systems-manager-parameter-store/)
+ [Query for the latest Amazon Linux AMI IDs using AWS Systems ManagerParameter Store](https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/)
+ [Query for the Latest Windows AMI Using AWS Systems ManagerParameter Store](https://aws.amazon.com/blogs/mt/query-for-the-latest-windows-ami-using-systems-manager-parameter-store/)

# Parameter Store でのパブリックパラメータの検出
<a name="parameter-store-finding-public-parameters"></a>

Parameter Store コンソールまたは AWS Command Line Interface を使用して、パブリックパラメータを検索できます。

パブリックパラメータ名は `aws/service/list` で始まります。名前の次の部分は、そのパラメータを所有するサービスに対応しています。

以下は、パブリックパラメータを提供する AWS のサービスおよびその他のリソースの、一部を記したリストです。
+ `ami-amazon-linux-latest`
+ `ami-windows-latest`
+  `ec2-macos`
+ `appmesh`
+ `aws-for-fluent-bit`
+ `aws-sdk-pandas`
+ `bottlerocket`
+ `canonical`
+ `cloud9`
+ `datasync`
+ `deeplearning`
+ `ecs`
+ `eks`
+ `fis`
+ `freebsd`
+ `global-infrastructure`
+ `marketplace`
+ `neuron`
+ `powertools`
+ `sagemaker-distribution`
+ `storagegateway`

すべてのパブリックパラメータがすべての AWS リージョン に公開されるわけではありません。

## Parameter Store コンソールを使用してパブリックパラメータを検索する
<a name="paramstore-discover-public-console"></a>

コンソールを使用してパブリックパラメータを検索するには、AWS アカウント と AWS リージョン に少なくとも 1 つのパラメータが必要です。

**コンソールを使用してパブリックパラメータを検索する**

1. AWS Systems Manager コンソール ([https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)) を開きます。

1. ナビゲーションペインで、**[Parameter Store]** を選択します。

1. [**Public parameters**] (パブリックパラメータ) タブを選択します。

1. [**Select a service**] (サービスを選択) のドロップダウンを選択します。パラメータを使用するサービスを選択します。

1. (オプション) 検索バーに詳細情報を入力して、選択したサービスが所有するパラメータをフィルタリングします。

1. 使用するパブリックパラメータを選択します。

## AWS CLI を使用してパブリックパラメータを検索する
<a name="paramstore-discover-public-cli"></a>

パブリックパラメータの検出に `describe-parameters` を使用します。

`get-parameters-by-path` にリストされているサービスの実際のパスを取得するときに `/aws/service/list` を使用します。サービスのパスを取得するには、パスから `/list` を削除します。例えば、`/aws/service/list/ecs` は `/aws/service/ecs` になります。

Parameter Store で異なるサービスが所有するパブリックパラメータのリストを取得するには、次のコマンドを実行します。

```
aws ssm get-parameters-by-path --path /aws/service/list
```

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/list/ami-al-latest",
            "Type": "String",
            "Value": "/aws/service/ami-al-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:10.902000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-al-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/ami-windows-latest",
            "Type": "String",
            "Value": "/aws/service/ami-windows-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:12.567000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/ami-windows-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/aws-storage-gateway-latest",
            "Type": "String",
            "Value": "/aws/service/aws-storage-gateway-latest/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:09.903000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/aws-storage-gateway-latest",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/list/global-infrastructure",
            "Type": "String",
            "Value": "/aws/service/global-infrastructure/",
            "Version": 1,
            "LastModifiedDate": "2021-01-29T10:25:11.901000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/list/global-infrastructure",
            "DataType": "text"
        }
    ]
}
```

特定のサービスが所有するパラメータを表示する場合は、前のコマンドの実行後に生成されたサービスをリストから選択します。その後、目的のサービスの名前を使用して `get-parameters-by-path` コールを実行します。

例えば、`/aws/service/global-infrastructure`。パスは、1 レベル (指定された値と完全に一致するパラメータのみを呼び出す) または再帰的 (指定した値を超えるパス内の要素を含む) にすることができます。

**注記**  
`/aws/service/global-infrastructure` パスはすべてのリージョンのクエリでサポートされているわけではありません。詳細については、「[Parameter Store における、AWS のサービス、リージョン、エンドポイント、アベイラビリティーゾーン、Local Zones、Wavelength Zones のパブリックパラメータの呼び出し](parameter-store-public-parameters-global-infrastructure.md)」を参照してください。

指定したサービスの結果が返されない場合は、`--recursive` フラグを追加してコマンドを再実行してください。

```
aws ssm get-parameters-by-path --path /aws/service/global-infrastructure
```

 これは、`global-infrastructure` が所有するすべてのパラメータを返します。以下に例を示します。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/current-region",
            "Type": "String",
            "LastModifiedDate": "2019-06-21T05:15:34.252000-07:00",
            "Version": 1,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/version",
            "Type": "String",
            "LastModifiedDate": "2019-02-04T06:59:32.875000-08:00",
            "Version": 1,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        }
    ]
}
```

`Option:BeginsWith` フィルターを使用して、特定のサービスが所有するパラメータを表示することもできます。

```
aws ssm describe-parameters --parameter-filters "Key=Name, Option=BeginsWith, Values=/aws/service/ami-amazon-linux-latest"
```

このコマンドによって以下のような情報が返されます。この例では、出力はスペースの都合上、表示されていません。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.686000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.807000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-s3",
            "Type": "String",
            "LastModifiedDate": "2021-01-26T13:39:40.920000-08:00",
            "Version": 25,
            "Tier": "Standard",
            "Policies": [],
            "DataType": "text"
        }
    ]
}
```

**注記**  
`Option=BeginsWith` では、別の検索パターンが使用されるため、返されるパラメータが異なる場合があります。

# Parameter Store で AMI パブリックパラメータを呼び出す
<a name="parameter-store-public-parameters-ami"></a>

Amazon Elastic Compute Cloud (Amazon EC2) Amazon Machine Image (AMI) パブリックパラメータは、Amazon Linux 2、Amazon Linux 2023 (AL2023)、macOS、Windows Server の次のパスから入手できます。
+ Amazon Linux 2 および Amazon Linux 2023: `/aws/service/ami-amazon-linux-latest`
+ macOS: `/aws/service/ec2-macos`
+ Windows Server: `/aws/service/ami-windows-latest`



## Amazon Linux 2 および Amazon Linux 2023 の AMI パブリックパラメータを呼び出す
<a name="public-parameters-ami-linux"></a>

AWS Command Line Interface (AWS CLI) で次のコマンドを使用して、現在の AWS リージョン にあるすべての Amazon Linux 2 および Amazon Linux 2023 (AL2023) AMIs のリストを表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/ami-amazon-linux-latest \
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/ami-amazon-linux-latest ^
    --query Parameters[].Name
```

------

このコマンドによって以下のような情報が返されます。

```
[
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-x86_64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-arm64",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-s3",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-arm64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-default-x86_64",
    "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-default-x86_64",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-minimal-hvm-x86_64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn-ami-minimal-hvm-x86_64-s3",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-arm64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-5.10-hvm-x86_64-gp2",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-arm64-ebs",
    "/aws/service/ami-amazon-linux-latest/amzn2-ami-minimal-hvm-x86_64-ebs"
]
```

AMIs ID と Amazon リソースネーム (ARN) を含むこれらの AMI の詳細を表示するには、次のコマンドを使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/ami-amazon-linux-latest" \
    --region region
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/ami-amazon-linux-latest" ^
    --region region
```

------

*リージョン*は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている *region* 値の一覧については、「Amazon Web Services 全般のリファレンス」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある **Region** 列を参照してください。

このコマンドによって以下のような情報が返されます。この例では、出力はスペースの都合上、表示されていません。

```
{
    "Parameters": [
         {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "Type": "String",
            "Value": "ami-0b1b8b24a6c8e5d8b",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:09.583000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
            "Type": "String",
            "Value": "ami-0e0bf53f6def86294",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:09.890000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
            "Type": "String",
            "Value": "ami-09951bb66f9e5b5a5",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:10.197000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-minimal-kernel-6.1-arm64",
            "DataType": "text"
        }
    ]
}
```

特定の AMI の詳細を表示するには、パスを含む完全な AMI 名を指定した [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API オペレーションを使用します。コマンドの例を次に示します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64 ^
    --region us-east-2
```

------

コマンドは次の情報を返します。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "Type": "String",
            "Value": "ami-0b1b8b24a6c8e5d8b",
            "Version": 69,
            "LastModifiedDate": "2024-03-13T14:05:09.583000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-arm64",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

## AMI 用の macOS パブリックパラメータを呼び出す
<a name="public-parameters-ami-macos"></a>

現在の AWS リージョン リージョンで、すべての macOS AMIs のリストを表示するには、AWS CLI で次のコマンドを使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/ec2-macos\
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/ec2-macos ^
    --query Parameters[].Name
```

------

このコマンドによって以下のような情報が返されます。

```
[
    "/aws/service/ec2-macos/sonoma/x86_64_mac/latest/image_id",
    "/aws/service/ec2-macos/ventura/x86_64_mac/latest/image_id",
    "/aws/service/ec2-macos/sonoma/arm64_mac/latest/image_id",
    "/aws/service/ec2-macos/ventura/arm64_mac/latest/image_id"
]
```

AMIs ID と Amazon リソースネーム (ARN) を含むこれらの AMI の詳細を表示するには、次のコマンドを使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/ec2-macos" \
    --region region
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/ec2-macos" ^
    --region region
```

------

*リージョン*は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている *region* 値の一覧については、「Amazon Web Services 全般のリファレンス」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある **Region** 列を参照してください。

このコマンドによって以下のような情報が返されます。この例では、出力はスペースの都合上、表示されていません。

```
{
    "Parameters": [
        ...sample results pending...
    ]
}
```

特定の AMI の詳細を表示するには、パスを含む完全な AMI 名を指定した [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API オペレーションを使用します。コマンドの例を次に示します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ec2-macos/...pending... \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
     --names /aws/service/ec2-macos/...pending... ^
    --region us-east-2
```

------

コマンドは次の情報を返します。

```
{
    "Parameters": [
         ...sample results pending...
    ],
    "InvalidParameters": []
}
```

## AMI 用の Windows Server パブリックパラメータを呼び出す
<a name="public-parameters-ami-windows"></a>

現在の AWS リージョン リージョンで、すべての Windows Server AMIs のリストを表示するには、AWS CLI で次のコマンドを使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/ami-windows-latest \
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/ami-windows-latest ^
    --query Parameters[].Name
```

------

このコマンドによって以下のような情報が返されます。この例では、出力はスペースの都合上、表示されていません。

```
[
    "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2014_SP3_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2016-German-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Japanese-Full-SQL_2016_SP3_Standard",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Japanese-Full-SQL_2017_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Core-EKS_Optimized-1.25",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Italian-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2022-Japanese-Full-SQL_2019_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2022-Portuguese_Brazil-Full-Base",
    "/aws/service/ami-windows-latest/amzn2-ami-hvm-2.0.20191217.0-x86_64-gp2-mono",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Deep-Learning",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Japanese-Full-SQL_2016_SP3_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Korean-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-STIG-Core",
    "/aws/service/ami-windows-latest/Windows_Server-2019-French-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Japanese-Full-SQL_2017_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Korean-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2022-English-Full-SQL_2022_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2022-Italian-Full-Base",
    "/aws/service/ami-windows-latest/amzn2-x86_64-SQL_2019_Express",
    "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Core-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2019_Enterprise",
    "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2019_Standard",
    "/aws/service/ami-windows-latest/Windows_Server-2016-Portuguese_Portugal-Full-Base",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Core-EKS_Optimized-1.24",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Deep-Learning",
    "/aws/service/ami-windows-latest/Windows_Server-2019-English-Full-SQL_2017_Web",
    "/aws/service/ami-windows-latest/Windows_Server-2019-Hungarian-Full-Base
]
```

AMIs ID と Amazon リソースネーム (ARN) を含むこれらの AMI の詳細を表示するには、次のコマンドを使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/ami-windows-latest" \
    --region region
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/ami-windows-latest" ^
    --region region
```

------

*リージョン*は、米国東部 (オハイオ) リージョンの `us-east-2` のように、AWS Systems Manager でサポートされている AWS リージョン の識別子を表します。サポートされている *region* 値の一覧については、「Amazon Web Services 全般のリファレンス」の「[Systems Manager サービスエンドポイント](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)」にある **Region** 列を参照してください。

このコマンドによって以下のような情報が返されます。この例では、出力はスペースの都合上、表示されていません。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "Type": "String",
            "Value": "ami-0a30b2e65863e2d16",
            "Version": 36,
            "LastModifiedDate": "2024-03-15T15:58:37.976000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2014_SP3_Enterprise",
            "Type": "String",
            "Value": "ami-001f20c053dd120ce",
            "Version": 69,
            "LastModifiedDate": "2024-03-15T15:53:58.905000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/Windows_Server-2016-English-Full-SQL_2014_SP3_Enterprise",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/ami-windows-latest/Windows_Server-2016-German-Full-Base",
            "Type": "String",
            "Value": "ami-063be4935453e94e9",
            "Version": 102,
            "LastModifiedDate": "2024-03-15T15:51:12.003000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/Windows_Server-2016-German-Full-Base",
            "DataType": "text"
        }
    ]
}
```

特定の AMI の詳細を表示するには、パスを含む完全な AMI 名を指定した [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API オペレーションを使用します。コマンドの例を次に示します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base \
    --region us-east-2
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base ^
    --region us-east-2
```

------

コマンドは次の情報を返します。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "Type": "String",
            "Value": "ami-0a30b2e65863e2d16",
            "Version": 36,
            "LastModifiedDate": "2024-03-15T15:58:37.976000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ami-windows-latest/EC2LaunchV2-Windows_Server-2016-English-Full-Base",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

# Parameter Store で ECS 最適化 AMI パブリックパラメータを呼び出す
<a name="parameter-store-public-parameters-ecs"></a>

Amazon Elastic Container Service (Amazon ECS) サービスは、最新の Amazon ECS 最適化 Amazon Machine Images (AMIs) の名前をパブリックパラメータとして公開します。最適化された AMI にはバグ修正および機能のアップデートが含まれているため、Amazon ECS 用の新しい Amazon Elastic Compute Cloud (Amazon EC2) クラスターを作成するときにこの AMIs を使用することをお勧めします。

次のコマンドを使用して、Amazon Linux 2 用の最新の Amazon ECS 最適化 AMI の名前を表示します。他のオペレーティングシステムのコマンドについては、*Amazon Container Service デベロッパーガイド*の「[Amazon ECS で最適化された AMI メタデータを取得する](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html)」を参照してください。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/ecs/optimized-ami/amazon-linux-2/recommended
```

------

このコマンドによって以下のような情報が返されます。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/ecs/optimized-ami/amazon-linux-2/recommended",
            "Type": "String",
            "Value": "{\"schema_version\":1,\"image_name\":\"amzn2-ami-ecs-hvm-2.0.20210929-x86_64-ebs\",\"image_id\":\"ami-0c38a2329ed4dae9a\",\"os\":\"Amazon Linux 2\",\"ecs_runtime_version\":\"Docker version 20.10.7\",\"ecs_agent_version\":\"1.55.4\"}",
            "Version": 73,
            "LastModifiedDate": "2021-10-06T16:35:10.004000-07:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/ecs/optimized-ami/amazon-linux-2/recommended",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

# Parameter Store で EKS 最適化 AMI パブリックパラメータを呼び出す
<a name="parameter-store-public-parameters-eks"></a>

Amazon Elastic Kubernetes Service (Amazon EKS) サービスは、最新の Amazon EKS 最適化 Amazon Machine Image (AMI) の名前をパブリックパラメータとして公開します。新しいリリースには Kubernetes パッチとセキュリティアップデートが含まれているため、Amazon EKS クラスターにノードを追加するときは、この AMI を使用することをお勧めします。これまでは、最新の AMI を確実に使用しているようにするには、Amazon EKS ドキュメントをチェックしたり、新しい AMI ID を使用してデプロイテンプレートやリソースを手動で更新したりする必要がありました。

次のコマンドを使用して、Amazon Linux 2 用の最新の Amazon EKS 最適化 AMI の名前を表示します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters \
    --names /aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended
```

------
#### [ Windows ]

```
aws ssm get-parameters ^
    --names /aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended
```

------

このコマンドによって以下のような情報が返されます。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended",
            "Type": "String",
            "Value": "{\"schema_version\":\"2\",\"image_id\":\"ami-08984d8491de17ca0\",\"image_name\":\"amazon-eks-node-1.14-v20201007\",\"release_version\":\"1.14.9-20201007\"}",
            "Version": 24,
            "LastModifiedDate": "2020-11-17T10:16:09.971000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/eks/optimized-ami/1.14/amazon-linux-2/recommended",
            "DataType": "text"
        }
    ],
    "InvalidParameters": []
}
```

# Parameter Store における、AWS のサービス、リージョン、エンドポイント、アベイラビリティーゾーン、Local Zones、Wavelength Zones のパブリックパラメータの呼び出し
<a name="parameter-store-public-parameters-global-infrastructure"></a>

以下のパスを使用して、パブリックパラメータの AWS リージョン、サービス、エンドポイント、アベイラビリティーゾーン、および Wavelength Zones を呼び出すことができます。

`/aws/service/global-infrastructure`

**注記**  
現在、パス `/aws/service/global-infrastructure` は次の AWS リージョン のクエリについてのみサポートされています:  
米国東部 (バージニア北部) (us-east-1)
米国東部 (オハイオ) (us-east-2)
米国西部 (北カリフォルニア) (us-west-1)
米国西部 (オレゴン) (us-west-2) 
アジアパシフィック (香港) (ap-east-1)
アジアパシフィック (ムンバイ) (ap-south-1)
アジアパシフィック (ソウル) (ap-northeast-2)
アジアパシフィック (シンガポール) (ap-southeast-1)
アジアパシフィック (シドニー) (ap-southeast-2)
アジアパシフィック (東京) (ap-northeast-1)
カナダ (中部) (ca-central-1)
ヨーロッパ (フランクフルト) (eu-central-1)
欧州 (アイルランド) (eu-west-1) 
ヨーロッパ (ロンドン) (eu-west-2) 
欧州 (パリ) (eu-west-3) 
欧州 (ストックホルム) (eu-north-1)
南米 (サンパウロ) (sa-east-1)
別の[商用リージョン](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html#region)で作業している場合は、クエリでサポートされているリージョンを指定して結果を表示できます。例えば、カナダ西部 (カルガリー) (ca-west-1) リージョンで作業している場合は、クエリでカナダ (中部) (ca-central-1) を指定できます。  

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/regions \
    --region ca-central-1
```

**アクティブな を表示AWS リージョン**  
すべてのアクティブな AWS リージョン の一覧を表示するには、AWS Command Line Interface (AWS CLI) で次のコマンドを使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/regions \
    --query 'Parameters[].Name'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/regions ^
    --query Parameters[].Name
```

------

このコマンドによって以下のような情報が返されます。

```
[
    "/aws/service/global-infrastructure/regions/af-south-1",
    "/aws/service/global-infrastructure/regions/ap-east-1",
    "/aws/service/global-infrastructure/regions/ap-northeast-3",
    "/aws/service/global-infrastructure/regions/ap-south-2",
    "/aws/service/global-infrastructure/regions/ca-central-1",
    "/aws/service/global-infrastructure/regions/eu-central-2",
    "/aws/service/global-infrastructure/regions/eu-west-2",
    "/aws/service/global-infrastructure/regions/eu-west-3",
    "/aws/service/global-infrastructure/regions/us-east-1",
    "/aws/service/global-infrastructure/regions/us-gov-west-1",
    "/aws/service/global-infrastructure/regions/ap-northeast-2",
    "/aws/service/global-infrastructure/regions/ap-southeast-1",
    "/aws/service/global-infrastructure/regions/ap-southeast-2",
    "/aws/service/global-infrastructure/regions/ap-southeast-3",
    "/aws/service/global-infrastructure/regions/cn-north-1",
    "/aws/service/global-infrastructure/regions/cn-northwest-1",
    "/aws/service/global-infrastructure/regions/eu-south-1",
    "/aws/service/global-infrastructure/regions/eu-south-2",
    "/aws/service/global-infrastructure/regions/us-east-2",
    "/aws/service/global-infrastructure/regions/us-west-1",
    "/aws/service/global-infrastructure/regions/ap-northeast-1",
    "/aws/service/global-infrastructure/regions/ap-south-1",
    "/aws/service/global-infrastructure/regions/ap-southeast-4",
    "/aws/service/global-infrastructure/regions/ca-west-1",
    "/aws/service/global-infrastructure/regions/eu-central-1",
    "/aws/service/global-infrastructure/regions/il-central-1",
    "/aws/service/global-infrastructure/regions/me-central-1",
    "/aws/service/global-infrastructure/regions/me-south-1",
    "/aws/service/global-infrastructure/regions/sa-east-1",
    "/aws/service/global-infrastructure/regions/us-gov-east-1",
    "/aws/service/global-infrastructure/regions/eu-north-1",
    "/aws/service/global-infrastructure/regions/eu-west-1",
    "/aws/service/global-infrastructure/regions/us-west-2"
]
```

**利用可能な AWS のサービスを表示する**  
すべての利用可能な AWS のサービスの一覧を表示するには、次のコマンドを使用してアルファベット順にソートします。この例では、出力はスペースの都合上、表示されていません。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/services \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/services ^
    --query "Parameters[].Name | sort(@)"
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
[
     "/aws/service/global-infrastructure/services/accessanalyzer",
    "/aws/service/global-infrastructure/services/account",
    "/aws/service/global-infrastructure/services/acm",
    "/aws/service/global-infrastructure/services/acm-pca",
    "/aws/service/global-infrastructure/services/ahl",
    "/aws/service/global-infrastructure/services/aiq",
    "/aws/service/global-infrastructure/services/amazonlocationservice",
    "/aws/service/global-infrastructure/services/amplify",
    "/aws/service/global-infrastructure/services/amplifybackend",
    "/aws/service/global-infrastructure/services/apigateway",
    "/aws/service/global-infrastructure/services/apigatewaymanagementapi",
    "/aws/service/global-infrastructure/services/apigatewayv2",
    "/aws/service/global-infrastructure/services/appconfig",
    "/aws/service/global-infrastructure/services/appconfigdata",
    "/aws/service/global-infrastructure/services/appflow",
    "/aws/service/global-infrastructure/services/appintegrations",
    "/aws/service/global-infrastructure/services/application-autoscaling",
    "/aws/service/global-infrastructure/services/application-insights",
    "/aws/service/global-infrastructure/services/applicationcostprofiler",
    "/aws/service/global-infrastructure/services/appmesh",
    "/aws/service/global-infrastructure/services/apprunner",
    "/aws/service/global-infrastructure/services/appstream",
    "/aws/service/global-infrastructure/services/appsync",
    "/aws/service/global-infrastructure/services/aps",
    "/aws/service/global-infrastructure/services/arc-zonal-shift",
    "/aws/service/global-infrastructure/services/artifact",
    "/aws/service/global-infrastructure/services/athena",
    "/aws/service/global-infrastructure/services/auditmanager",
    "/aws/service/global-infrastructure/services/augmentedairuntime",
    "/aws/service/global-infrastructure/services/aurora",
    "/aws/service/global-infrastructure/services/autoscaling",
    "/aws/service/global-infrastructure/services/aws-appfabric",
    "/aws/service/global-infrastructure/services/awshealthdashboard",
```

**AWS のサービスでサポートされているリージョンの表示**  
サービスが利用可能な AWS リージョン の一覧を表示できます。この例では AWS Systems Manager (`ssm`) を使用します。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/services/ssm/regions \
    --query 'Parameters[].Value'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/services/ssm/regions ^
    --query Parameters[].Value
```

------

このコマンドによって以下のような情報が返されます。

```
[
    "ap-south-1",
    "eu-central-1",
    "eu-central-2",
    "eu-west-1",
    "eu-west-2",
    "eu-west-3",
    "il-central-1",
    "me-south-1",
    "us-east-2",
    "us-gov-west-1",
    "af-south-1",
    "ap-northeast-3",
    "ap-southeast-1",
    "ap-southeast-4",
    "ca-central-1",
    "ca-west-1",
    "cn-north-1",
    "eu-north-1",
    "eu-south-2",
    "us-west-1",
    "ap-east-1",
    "ap-northeast-1",
    "ap-northeast-2",
    "ap-southeast-2",
    "ap-southeast-3",
    "cn-northwest-1",
    "eu-south-1",
    "me-central-1",
    "us-gov-east-1",
    "us-west-2",
    "ap-south-2",
    "sa-east-1",
    "us-east-1"
]
```

**サービスのリージョンのエンドポイントを表示する**  
サービスのリージョンのエンドポイントを表示するには、次のコマンドを使用します。このコマンドは、米国東部 (オハイオ) (us-east-2) リージョンをクエリします。

------
#### [ Linux & macOS ]

```
aws ssm get-parameter \
    --name /aws/service/global-infrastructure/regions/us-east-2/services/ssm/endpoint \
    --query 'Parameter.Value'
```

------
#### [ Windows ]

```
aws ssm get-parameter ^
    --name /aws/service/global-infrastructure/regions/us-east-2/services/ssm/endpoint ^
    --query Parameter.Value
```

------

このコマンドによって以下のような情報が返されます。

```
"ssm.us-east-2.amazonaws.com"
```

**アベイラビリティーゾーンの詳細をすべて表示する**  
以下のコマンドを使用して、アベイラビリティーゾーンを表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/availability-zones/
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/availability-zones/
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/availability-zones/afs1-az3",
            "Type": "String",
            "Value": "afs1-az3",
            "Version": 1,
            "LastModifiedDate": "2020-04-21T12:05:35.375000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az3",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/availability-zones/aps1-az2",
            "Type": "String",
            "Value": "aps1-az2",
            "Version": 1,
            "LastModifiedDate": "2020-04-03T16:13:57.351000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/aps1-az2",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/availability-zones/apse3-az1",
            "Type": "String",
            "Value": "apse3-az1",
            "Version": 1,
            "LastModifiedDate": "2021-12-13T08:51:38.983000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/apse3-az1",
            "DataType": "text"
        }
    ]
}
```

**アベイラビリティーゾーンの名前のみを表示する**  
以下のコマンドを使用して、アベイラビリティーゾーンの名前を表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/availability-zones \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/availability-zones ^
    --query "Parameters[].Name | sort(@)"
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
[
    "/aws/service/global-infrastructure/availability-zones/afs1-az1",
    "/aws/service/global-infrastructure/availability-zones/afs1-az2",
    "/aws/service/global-infrastructure/availability-zones/afs1-az3",
    "/aws/service/global-infrastructure/availability-zones/ape1-az1",
    "/aws/service/global-infrastructure/availability-zones/ape1-az2",
    "/aws/service/global-infrastructure/availability-zones/ape1-az3",
    "/aws/service/global-infrastructure/availability-zones/apne1-az1",
    "/aws/service/global-infrastructure/availability-zones/apne1-az2",
    "/aws/service/global-infrastructure/availability-zones/apne1-az3",
    "/aws/service/global-infrastructure/availability-zones/apne1-az4"
```

**1 つのリージョンのアベイラビリティーゾーンの名前を表示する**  
以下のコマンドを使用して、1 つのリージョン (この例では `us-east-2`) のアベイラビリティーゾーンの名前を表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/regions/us-east-2/availability-zones \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/regions/us-east-2/availability-zones ^
    --query "Parameters[].Name | sort(@)"
```

------

このコマンドによって以下のような情報が返されます。

```
[
    "/aws/service/global-infrastructure/regions/us-east-2/availability-zones/use2-az1",
    "/aws/service/global-infrastructure/regions/us-east-2/availability-zones/use2-az2",
    "/aws/service/global-infrastructure/regions/us-east-2/availability-zones/use2-az3"
```

**アベイラビリティーゾーンの ARN のみを表示する**  
以下のコマンドを使用して、アベイラビリティーゾーンの Amazon リソースネーム (ARN) のみを表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/availability-zones \
    --query 'Parameters[].ARN | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/availability-zones ^
    --query "Parameters[].ARN | sort(@)"
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
[
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az1",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az2",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/afs1-az3",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/ape1-az1",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/ape1-az2",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/ape1-az3",
    "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/availability-zones/apne1-az1",
```

**ローカルゾーンの詳細を表示する**  
以下のコマンドを使用して、ローカルゾーンを表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/local-zones
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/local-zones
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/local-zones/afs1-los1-az1",
            "Type": "String",
            "Value": "afs1-los1-az1",
            "Version": 1,
            "LastModifiedDate": "2023-01-25T11:53:11.690000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/afs1-los1-az1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/apne1-tpe1-az1",
            "Type": "String",
            "Value": "apne1-tpe1-az1",
            "Version": 1,
            "LastModifiedDate": "2024-03-15T12:35:41.076000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/apne1-tpe1-az1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/aps1-ccu1-az1",
            "Type": "String",
            "Value": "aps1-ccu1-az1",
            "Version": 1,
            "LastModifiedDate": "2022-12-19T11:34:43.351000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/aps1-ccu1-az1",
            "DataType": "text"
        }
    ]
}
```

**Wavelength Zone の詳細を表示する**  
次のコマンドを使用して、Wavelength Zone を表示することができます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/wavelength-zones
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/wavelength-zones
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/wavelength-zones/apne1-wl1-nrt-wlz1",
            "Type": "String",
            "Value": "apne1-wl1-nrt-wlz1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T17:16:04.715000-05:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/wavelength-zones/apne1-wl1-nrt-wlz1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/wavelength-zones/apne2-wl1-sel-wlz1",
            "Type": "String",
            "Value": "apne2-wl1-sel-wlz1",
            "Version": 1,
            "LastModifiedDate": "2022-05-25T12:29:13.862000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/wavelength-zones/apne2-wl1-sel-wlz1",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/wavelength-zones/cac1-wl1-yto-wlz1",
            "Type": "String",
            "Value": "cac1-wl1-yto-wlz1",
            "Version": 1,
            "LastModifiedDate": "2022-04-26T09:57:44.495000-04:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/wavelength-zones/cac1-wl1-yto-wlz1",
            "DataType": "text"
        }
    ]
}
```

**ローカルゾーンのすべてのパラメータと値を表示する**  
以下のコマンドを使用して、ローカルゾーンのすべてのパラメータデータを表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path "/aws/service/global-infrastructure/local-zones/usw2-lax1-az1/"
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path "/aws/service/global-infrastructure/local-zones/use1-bos1-az1"
```

------

このコマンドによって以下のような情報が返されます。この例は、スペースの都合上、一部を省略しています。

```
{
    "Parameters": [
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationCountry",
            "Type": "String",
            "Value": "US",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:17.641000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationCountry",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationRegion",
            "Type": "String",
            "Value": "US-MA",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:17.794000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationRegion",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/location",
            "Type": "String",
            "Value": "US East (Boston)",
            "Version": 1,
            "LastModifiedDate": "2021-01-11T10:53:24.634000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/location",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/network-border-group",
            "Type": "String",
            "Value": "us-east-1-bos-1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:20.641000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/network-border-group",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-availability-zone",
            "Type": "String",
            "Value": "use1-az4",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:20.834000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-availability-zone",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-region",
            "Type": "String",
            "Value": "us-east-1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:20.721000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-region",
            "DataType": "text"
        },
        {
            "Name": "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/zone-group",
            "Type": "String",
            "Value": "us-east-1-bos-1",
            "Version": 3,
            "LastModifiedDate": "2020-12-15T14:16:17.983000-08:00",
            "ARN": "arn:aws:ssm:us-east-2::parameter/aws/service/global-infrastructure/local-zones/use1-bos1-az1/zone-group",
            "DataType": "text"
        }
    ]
}
```

**ローカルゾーンのパラメータの名前のみを表示する**  
以下のコマンドを使用して、ローカルゾーンのパラメータの名前のみを表示できます。

------
#### [ Linux & macOS ]

```
aws ssm get-parameters-by-path \
    --path /aws/service/global-infrastructure/local-zones/usw2-lax1-az1 \
    --query 'Parameters[].Name | sort(@)'
```

------
#### [ Windows ]

```
aws ssm get-parameters-by-path ^
    --path /aws/service/global-infrastructure/local-zones/use1-bos1-az1 ^
    --query "Parameters[].Name | sort(@)"
```

------

このコマンドによって以下のような情報が返されます。

```
[
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationCountry",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/geolocationRegion",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/location",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/network-border-group",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-availability-zone",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/parent-region",
    "/aws/service/global-infrastructure/local-zones/use1-bos1-az1/zone-group"
]
```

# Parameter Store のチュートリアル
<a name="sysman-paramstore-walk"></a>

このセクションのチュートリアルでは、AWS Systems Manager のツールである Parameter Store をテスト環境で使用してパラメータを作成、保存、実行する方法について説明します。さらに、他の Systems Manager ツールで Parameter Store を使用する方法についても説明します。Parameter Store は、他の AWS のサービスで使用することもできます。詳細については、「[パラメータとは何ですか?](systems-manager-parameter-store.md#what-is-a-parameter)」を参照してください。

**Topics**
+ [Parameter Store で SecureString パラメータを作成して、ノードをドメインに結合する (PowerShell)](sysman-param-securestring-walkthrough.md)

# Parameter Store で SecureString パラメータを作成して、ノードをドメインに結合する (PowerShell)
<a name="sysman-param-securestring-walkthrough"></a>

このチュートリアルでは、 AWS Systems Manager `SecureString` パラメータと Run Command を使用して Windows Server ノードをドメインに結合する方法を示します。チュートリアルでは、ドメイン名やドメインユーザー名など一般的なドメインパラメータを使用します。これらの値は、暗号化されていない文字列値として渡されます。ドメインパスワードは、AWS マネージドキー を使用して暗号化され、暗号化された文字列として渡されます。

**前提条件**  
このチュートリアルでは、Amazon VPC に関連付けられた DHCP オプションセットでドメイン名と DNS サーバーの IP アドレスを既に指定していることを前提としています。詳細については、*Amazon VPC ユーザーガイド*の「[DHCP オプションセットを使用する](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html#DHCPOptionSet)」を参照してください。

**`SecureString` パラメータを作成し、ノードをドメインに結合するには**

1. AWS Tools for Windows PowerShell を使用してシステムにパラメータを入力します。

   次のコマンドでは、*ユーザー入力プレースホルダー*をユーザー自身の情報で置き換えます。

   ```
   Write-SSMParameter -Name "domainName" -Value "DOMAIN-NAME" -Type String
   Write-SSMParameter -Name "domainJoinUserName" -Value "DOMAIN\USERNAME" -Type String
   Write-SSMParameter -Name "domainJoinPassword" -Value "PASSWORD" -Type SecureString
   ```
**重要**  
`SecureString` パラメータの*値*のみが暗号化されます。パラメータ名、説明などのプロパティは暗号化されません。

1. ノードに IAM ロールのアクセス許可をするために、次の AWS Identity and Access Management (IAM) ポリシーを添付します。
   + **AmazonSSMManagedInstanceCore** – 必須。この AWS 管理ポリシーにより、マネージドノードは Systems Manager サービスのコア機能を使用できます。
   + **AmazonSSMDirectoryServiceAccess** – 必須。AWS 管理ポリシーでは、マネージドノードによるドメインの結合リクエストに対して、SSM Agent による AWS Directory Service へのアクセスをお客様の代わりに許可します。
   + **S3 バケットアクセスのカスタムポリシー** – 必須。ノードにあり、Systems Manager タスクを実行する SSM Agent は、Amazon 所有の特有の Amazon Simple Storage Service (Amazon S3) バケットへのアクセスが必要です。作成したカスタムの S3 バケットポリシーで、Systems Manager オペレーションに必要な独自の S3 バケットへのアクセス権も付与します。

     例: Run Command コマンドまたは Session Manager セッションの出力を S3 バケットに書き込んだ後、この出力を監査またはトラブルシューティングに使用できます。アクセススクリプトまたはカスタムパッチベースラインリストを S3 バケットに格納してから、コマンドを実行する場合、またはパッチベースラインが適用される場合にスクリプトまたはリストを参照します。

     Amazon S3 バケットアクセスのカスタムポリシーの作成の詳細については、「[インスタンスプロファイルのカスタム S3 バケットポリシーを作成する](setup-instance-permissions.md#instance-profile-custom-s3-policy)」を参照してください。
**注記**  
S3 バケットに出力ログデータを保存することはオプションですが、使用することを決定した場合は、Systems Manager 設定プロセスの最初に設定することをお勧めします。詳細については、*Amazon Simple Storage Service ユーザーガイド*の「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html)」を参照してください。
   + **CloudWatchAgentServerPolicy** – オプション。この AWS 管理ポリシーでは、マネージドノードで CloudWatch エージェントを実行できます。このポリシーでは、ノードの情報を読み込み、Amazon CloudWatch に書き込むことができます。このポリシーは、Amazon EventBridge や CloudWatch Logs などのサービスを使用する場合にのみ、インスタンスプロファイルに必要です。
**注記**  
CloudWatch と EventBridge 機能の使用はオプションですが、使用することにした場合は、Systems Manager 設定プロセスの開始時にそれらを設定することをお勧めします。詳細については、*[Amazon EventBridge ユーザーガイド](https://docs.aws.amazon.com/eventbridge/latest/userguide/)*および *[Amazon CloudWatch Logs ユーザーガイド](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/)*を参照してください。

1. ノードにアタッチされた IAM ロールを編集し、次のポリシーを追加します。このポリシーは、`kms:Decrypt` と `ssm:CreateDocument` API を呼び出すためのアクセス許可をノードに付与します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "ssm:CreateDocument"
               ],
               "Resource": [
                   "arn:aws:kms:us-east-1:111122223333:key/kms-key-id"
               ]
           }
       ]
   }
   ```

------

1. 以下の json テキストをコピーしてテキストエディタに貼り付け、ファイルを `JoinInstanceToDomain.json` として `c:\temp\JoinInstanceToDomain.json` に保存します。

   ```
   {
       "schemaVersion": "2.2",
       "description": "Run a PowerShell script to securely join a Windows Server instance to a domain",
       "mainSteps": [
           {
               "action": "aws:runPowerShellScript",
               "name": "runPowerShellWithSecureString",
               "precondition": {
                   "StringEquals": [
                       "platformType",
                       "Windows"
                   ]
               },
               "inputs": {
                   "runCommand": [
                       "$domain = (Get-SSMParameterValue -Name domainName).Parameters[0].Value",
                       "if ((gwmi Win32_ComputerSystem).domain -eq $domain){write-host \"Computer is part of $domain, exiting\"; exit 0}",
                       "$username = (Get-SSMParameterValue -Name domainJoinUserName).Parameters[0].Value",
                       "$password = (Get-SSMParameterValue -Name domainJoinPassword -WithDecryption $True).Parameters[0].Value | ConvertTo-SecureString -asPlainText -Force",
                       "$credential = New-Object System.Management.Automation.PSCredential($username,$password)",
                       "Add-Computer -DomainName $domain -Credential $credential -ErrorAction SilentlyContinue -ErrorVariable domainjoinerror",
                       "if($?){Write-Host \"Instance joined to domain successfully. Restarting\"; exit 3010}else{Write-Host \"Instance failed to join domain with error:\" $domainjoinerror; exit 1 }"
                   ]
               }
           }
       ]
   }
   ```

1. Tools for Windows PowerShell で次のコマンドを実行して、新しい SSM ドキュメントを作成します。

   ```
   $json = Get-Content C:\temp\JoinInstanceToDomain | Out-String
   New-SSMDocument -Name JoinInstanceToDomain -Content $json -DocumentType Command
   ```

1. Tools for Windows PowerShell で次のコマンドを実行して、ノードをドメインに結合します。

   ```
   Send-SSMCommand -InstanceId instance-id -DocumentName JoinInstanceToDomain 
   ```

   コマンドが成功すると、システムは以下のような情報を返します。

   ```
   WARNING: The changes will take effect after you restart the computer EC2ABCD-EXAMPLE.
   Domain join succeeded, restarting
   Computer is part of example.local, exiting
   ```

   コマンドが失敗した場合、システムは以下のような情報を返します。

   ```
   Failed to join domain with error:
   Computer 'EC2ABCD-EXAMPLE' failed to join domain 'example.local'
   from its current workgroup 'WORKGROUP' with following error message:
   The specified domain either does not exist or could not be contacted.
   ```

# Parameter Store アクティビティの監査とログ記録
<a name="parameter-store-logging-auditing"></a>

AWS CloudTrail は AWS Systems Manager コンソール、AWS Command Line Interface (AWS CLI)、および Systems Manager SDK で行われた API コールをキャプチャします。CloudTrail コンソールまたは Amazon Simple Storage Service (Amazon S3) バケットで情報を表示できます。アカウントのすべての CloudTrail ログは 1 つのバケットを使用します。Systems Manager アクティビティの CloudTrail ログの表示と使用の詳細については、「[AWS CloudTrail による AWS Systems Manager API コールのログ記録](monitoring-cloudtrail-logs.md)」を参照してください。Systems Manager の監査とログ記録のオプションに関する詳細については、「[AWS Systems Manager でのログ記録とモニタリング](monitoring.md)」を参照してください。

# Parameter Store のトラブルシューティング
<a name="parameter-store-troubleshooting"></a>

AWS Systems Manager のツールである Parameter Store を使用したトラブルシューティングでは、以下の情報を使用します。

## `aws:ec2:image` パラメータ作成のトラブルシューティング
<a name="ps-ec2-aliases-troubleshooting"></a>

以下の情報は、`aws:ec2:image` データ型のパラメータの作成に関する問題のトラブルシューティングに役立ちます。

### インスタンスを作成するアクセス許可がない
<a name="ps-ec2-aliases-0"></a>

**問題**: `aws:ec2:image` パラメータを使用してインスタンスを作成しようとすると、「このオペレーションを実行する権限がありません」などのエラーメッセージが発生します。
+ **解決策**: `ec2:RunInstances`、`ec2:DescribeImages`、`ssm:GetParameter` やその他のアクセス許可など、パラメータ値を使用して EC2 インスタンスを作成するのに必要なアクセス許可がすべて揃っていません。組織で管理者アクセス許可を持つユーザーに連絡して、必要なアクセス許可をリクエストしてください。

### EventBridge からエラーメッセージ「リソースの定義を取得できません」がレポートされる
<a name="ps-ec2-aliases-1"></a>

**問題**: `aws:ec2:image` パラメータを作成するコマンドを実行しましたが、パラメータの作成に失敗しました。「リソースの定義を取得できません」という例外をレポートする通知が Amazon EventBridge から届きます。

**解決策**: このメッセージは以下のことを示している可能性があります。
+ `ec2:DescribeImages` API オペレーションに必要なすべてのアクセス許可を持っていないか、パラメータで参照される特定のイメージに対するアクセス許可が付与されていません。組織で管理者アクセス許可を持つユーザーに連絡して、必要なアクセス許可をリクエストしてください。
+ パラメータ値として入力した Amazon Machine Image (AMI) ID が無効です。作業中の現在の AWS リージョン とアカウントで使用可能な AMI の ID を入力していることを確認してください。

### 新しい `aws:ec2:image` パラメータを使用できない
<a name="ps-ec2-aliases-2"></a>

**問題**: `aws:ec2:image` パラメータを作成するコマンドを実行したところ、バージョン番号がレポートされましたが、そのパラメータは使用できません。
+ **解決策**: `aws:ec2:image` データ型を使用するパラメータを作成するコマンドを実行すると、パラメータのバージョン番号がすぐに生成されますが、そのパラメータが使用可能になる前に、パラメータの形式が検証される必要があります。このプロセスには数分かかることがあります。パラメータの作成および検証プロセスをモニタリングするために、以下の操作を行うことができます。
  + EventBridge を使用すると、`create` および `update` パラメータのオペレーションに関する通知を受け取ることができます。これらの通知は、パラメータのオペレーションが成功したかどうかをレポートします。EventBridge での Parameter Store イベントのサブスクライブについては、「[Parameter Store イベントに基づいた通知の設定またはアクションのトリガー](sysman-paramstore-cwe.md)」を参照してください。
  + Systems Manager コンソールの Parameter Store セクションで、パラメータのリストを定期的に更新し、新しいパラメータまたは更新されたパラメータの詳細を検索します。
  + **GetParameter** コマンドを使用して、新しいパラメータまたは更新されたパラメータを確認します。例えば、AWS Command Line Interface (AWS CLI) で以下のように指定します。

    ```
    aws ssm get-parameter name MyParameter
    ```

    新しいパラメータの場合、パラメータが検証されるまで `ParameterNotFound` メッセージが返されます。更新する既存のパラメータの場合、パラメータが検証されるまで、新しいバージョンに関する情報は含まれません。

  検証プロセスが完了する前にパラメータを作成または更新しようとすると、システムから検証がまだ進行中であることがレポートされます。パラメータが作成または更新されない場合は、最初の試行から 5 分後に再試行できます。