

• 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 Management Console로 집계합니다.

Application Manager에서 *애플리케이션*은 하나의 단위로 작동하려는 AWS 리소스의 논리적 그룹입니다. 이 논리 그룹은 몇 가지 예를 들면 다양한 버전의 애플리케이션, 운영자의 소유권 경계 또는 개발자 환경을 나타낼 수 있습니다. Application Manager의 컨테이너 클러스터 지원에는 Amazon Elastic Kubernetes Service(Amazon EKS) 및 Amazon Elastic Container Service(Amazon ECS) 클러스터가 모두 포함됩니다.

Application Manager를 처음 열면 **Application Manager에서 가능한 작업** 페이지가 표시됩니다. **시작하기**를 선택하면 AWS 서비스는 다른 Application Manager 또는 Systems Manager 도구에서 생성된 리소스에 대한 메타데이터를 자동으로 가져옵니다. 그런 다음 Application Manager는 사전 정의된 범주별로 그룹화된 목록에 해당 리소스를 표시합니다.

**애플리케이션(Applications)**의 경우 목록에 다음이 포함됩니다.
+ AWS CloudFormation 스택
+ 사용자 정의 애플리케이션
+ AWS Launch Wizard 애플리케이션
+ AppRegistry 애플리케이션
+ AWS SAP Enterprise Workload 애플리케이션
+ 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의 구성 요소)에서 제공하는 Compliance 정보
+ 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는 하나의 콘솔에서 애플리케이션의 컨텍스트에서 여러 유형의 작업 정보를 표시합니다. Application Manager는 또한 AWS 리소스에 대한 일반적인 수정 태스크를 수행하는 실행서를 제공하여 문제 해결에 걸리는 시간을 줄입니다.

## Application Manager에는 어떤 기능이 있나요?
<a name="application-manager-learn-more-features"></a>

Application Manager에는 다음 기능이 포함됩니다.
+ **자동으로 AWS 리소스 가져오기**

  초기 설정 중 Application Manager가 CloudFormation 스택, AWS Resource Groups, Launch Wizard 배포, AppRegistry 애플리케이션, Amazon ECS 및 Amazon EKS 클러스터를 기반으로 AWS 계정의 리소스를 자동으로 가져오고 표시하도록 선택할 수 있습니다. 시스템은 이러한 리소스를 미리 정의된 애플리케이션 또는 클러스터 범주로 표시합니다. 그 후 이러한 유형의 새 리소스가 AWS 계정에 추가될 때마다 Application Manager는 미리 정의된 애플리케이션 및 클러스터 범주에 새 리소스를 자동으로 표시합니다.
+ **CloudFormation 스택 및 템플릿 생성 또는 편집**

  Application Manager는 [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)과 통합하여 애플리케이션에 대한 리소스를 프로비저닝하고 관리하는 데 도움이 됩니다. Application Manager에서는 CloudFormation 템플릿과 스택을 생성, 수정, 삭제할 수 있습니다. 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 결제 및 비용 관리의 기능인 AWS Cost Explorer와 통합됩니다. Billing and Cost Management 콘솔에서 Cost Explorer를 활성화하면, Application Manager의 **Cost**(비용) 위젯은 특정 비컨테이너 애플리케이션 또는 애플리케이션 구성 요소에 대한 비용 데이터를 보여줍니다. 위젯의 필터를 사용하여 막대 또는 꺾은선형 차트에서 다양한 기간, 세부 기간 및 비용 유형에 따라 비용 데이터를 볼 수 있습니다.
+ **하나의 콘솔에서 자세한 리소스 정보 보기**

  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는 지표 및 로그를 지속적으로 모니터링하여 이상 및 오류를 감지하고 연결합니다. 시스템이 오류 및 이상을 감지하면 Application Insights에서 알림을 설정하고 작업을 수행할 수 있는 CloudWatch Events를 생성합니다. Application Manager의 **개요(Overview)** 및 **모니터링(Monitoring)** 탭에서 Application Insights를 활성화하고 볼 수 있습니다. 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>

*Amazon Web Services 일반 참조*의 [Systems Manager 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)에서 모든 Systems Manager 도구의 할당량을 볼 수 있습니다. 다르게 표시되지 않는 한, 리전별로 각 할당량이 적용됩니다.

**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>

다음 설정 태스크를 통해 AWS의 Application Manager 리소스를 볼 수 있습니다. 이러한 각 태스크가 완료된 후 Systems Manager는 자동으로 리소스를 Application Manager로 가져올 수 있습니다. 리소스를 가져온 후 Application Manager에서 애플리케이션을 생성하고 가져온 리소스를 애플리케이션으로 이동할 수 있습니다. 이렇게 하면 애플리케이션 컨텍스트에서 작업 정보를 볼 수 있습니다.

**(선택 사항) 태그를 사용하여 AWS 리소스 구성**  
AWS 리소스에 태그 형태로 메타데이터를 지정할 수 있습니다. 각 태그는 사용자 정의 키와 값으로 구성된 레이블입니다. 태그를 사용하면 리소스를 손쉽게 관리, 식별, 정리, 검색 및 필터링할 수 있습니다. 태그를 생성하여 용도, 소유자, 환경 또는 기타 기준으로 리소스를 분류할 수 있습니다.

**(옵션) [AWS Resource Groups](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html)를 사용하여 AWS 리소스 구성**  
리소스 그룹을 사용하여 AWS 리소스를 정리할 수 있습니다. 리소스 그룹을 사용하여 많은 리소스에 대한 태스크를 한 번에 관리, 모니터링 및 자동화할 수 있습니다.  
Application Manager가 모든 리소스 그룹을 자동으로 가져와서 **사용자 정의 애플리케이션(Custom applications)** 범주에 나열합니다.

**(옵션) [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)을 사용하여 AWS 리소스 설정 및 배포**  
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에 대한 자세한 내용은 [SQL Server용 AWS Launch Wizard 시작하기](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 인프라 리소스를 자동으로 가져와서 **컨테이너 클러스터(Container clusters)** 탭에 나열합니다. 그러나 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 [로그](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 로그 및 경보를 보려면 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 연결을 구성해야 합니다. 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)을 볼 수 있습니다. 경보 및 이벤트에 따라 OpsCenter로 OpsItems를 자동으로 전송하도록 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>  | 

다음 표에는 Systems Manager가 Application 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 User Guide*의 [Creating IAM Policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)를 참조하세요. IAM 엔터티(사용자, 그룹 또는 역할 등)에 이 정책을 할당하는 방법에 대한 자세한 내용은 [IAM 자격 증명 권한 추가 및 제거](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를 처음 열면 **Application Manager에서 가능한 작업** 페이지가 표시됩니다. **시작하기**를 선택하면 AWS 서비스는 다른 Application Manager 또는 Systems Manager 도구에서 생성된 리소스에 대한 메타데이터를 자동으로 가져옵니다. 그런 다음 Application Manager는 사전 정의된 범주별로 그룹화된 목록에 해당 리소스를 표시합니다.

**애플리케이션(Applications)**의 경우 목록에 다음이 포함됩니다.
+ AWS CloudFormation 스택
+ 사용자 정의 애플리케이션
+ AWS Launch Wizard 애플리케이션
+ AppRegistry 애플리케이션
+ AWS SAP Enterprise Workload 애플리케이션
+ Amazon ECS 클러스터
+ Amazon EKS 클러스터

가져오기가 완료되면 이러한 미리 정의된 범주의 애플리케이션 또는 특정 리소스에 대한 작업 정보를 볼 수 있습니다. 또는 리소스 컬렉션에 대한 추가 컨텍스트를 제공하려면 Application Manager에서 수동으로 애플리케이션을 생성할 수 있습니다. 그런 다음 해당 애플리케이션에 리소스 또는 리소스 그룹을 추가할 수 있습니다. Application Manager에서 애플리케이션을 생성한 후 애플리케이션 컨텍스트에서 리소스에 대한 작업 정보를 볼 수 있습니다.

## Application Manager에서 애플리케이션 생성
<a name="application-manager-create-application"></a>

다음 절차에 따라 Application Manager에 애플리케이션을 생성하고 해당 애플리케이션에 리소스를 추가합니다.

**Application Manager에서 애플리케이션을 생성하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS 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의 **개요(Overview)** 탭에는 Amazon CloudWatch 경보, 운영 작업 항목(OpsItems), CloudWatch Application Insights, 실행서 기록에 대한 요약이 표시됩니다. 카드에서 **모두 보기(View all)**를 선택하여 모든 Application Insights, 경보, OpsItems, 또는 실행서 기록을 볼 수 있는 해당 탭을 엽니다.

**Application Insights 정보**  
CloudWatch Application Insights는 애플리케이션 리소스와 기술 스택 전반에 걸쳐 주요 지표, 로그, 경보를 식별하고 설정합니다. Application Insights는 지표 및 로그를 지속적으로 모니터링하여 이상 및 오류를 감지하고 연결합니다. 시스템이 오류 및 이상을 감지하면 Application Insights에서 알림을 설정하고 작업을 수행할 수 있는 CloudWatch Events를 생성합니다. **모니터링(Monitoring)** 탭에서 **구성 편집(Edit configuration)** 버튼을 선택하면 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 Management 콘솔에서 Cost Explorer를 활성화하면, Application Manager의 **비용** 위젯과 **비용** 탭에 특정 비컨테이너 애플리케이션 또는 애플리케이션 구성 요소에 대한 비용 데이터가 표시됩니다. 위젯 또는 탭의 필터를 사용하여 다양한 기간, 세부 수준 및 비용 유형에 따라 비용 데이터를 막대 또는 선 차트로 볼 수 있습니다.

**Go to AWS Cost Management console** 버튼을 선택하여 이 기능을 활성화할 수 있습니다. 기본적으로 지난 3개월 치 데이터가 필터링됩니다. 비컨테이너 애플리케이션의 경우, **View all**(전체 보기) 버튼을 선택하면 Application Manager가 **Resources**(리소스) 탭을 엽니다. 컨테이너 애플리케이션의 경우**전체 보기** 버튼이 AWS Cost Explorer 콘솔을 엽니다.

**이 페이지에서 수행할 수 있는 작업**  
이 페이지의 **Overview**(개요) 탭에서 다음 위젯을 활성화하고 관련 정보에 액세스할 수 있습니다. 위젯이 활성화되면 **View all**(모두 보기)을 선택하여 해당 영역의 관련 애플리케이션 세부 정보를 봅니다.
+ **Insights and Alarms**(인사이트 및 경보) 섹션에서 심각도를 나타내는 숫자를 선택하여 선택한 심각도의 경보에 대한 세부 정보를 볼 수 있는 **Monitoring**(모니터링) 탭을 엽니다.
+ **Cost**(비용) 섹션에서 **View all**(모두 보기)을 선택하여 특정 애플리케이션 또는 애플리케이션 구성 요소에 대한 비용 데이터를 볼 수 있는 **Resources**(리소스) 탭을 엽니다.
+ **Compliance**(규정 준수) 섹션에서 **View all**(모두 보기)을 선택하여 AWS Config 및 State Manager 연결의 규정 준수 정보를 볼 수 있는 **Compliance**(규정 준수) 탭을 엽니다.
**참고**  
패치 규정 준수 세부 정보를 보려면 **Compliance**(규정 준수) 탭을 직접 선택합니다. 그러면 선택한 애플리케이션에서 사용하는 관리형 노드에 대한 패치 규정 준수 세부 정보를 볼 수 있습니다.
+ **실행서(Runbooks)** 섹션에서 실행서를 선택하여 문서에 대한 자세한 내용을 볼 수 있는 **Systems Manager Documents** 페이지에서 엽니다.
+ **OpsItems** 섹션에서 심각도를 선택하여 선택한 심각도의 OpsItems를 모두 볼 수 있는 **OpsItems** 탭을 엽니다.
+ **모두 보기(View all)** 버튼을 선택하여 해당 탭을 엽니다. 애플리케이션에 대한 모든 경보, OpsItem 또는 실행서 기록 항목을 볼 수 있습니다.

****개요(Overview)** 탭 열기**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

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`-경보가 방금 시작되었거나 지표를 사용할 수 없거나 지표에서 경보 상태를 결정하는 데 사용할 수 있는 데이터가 충분하지 않습니다.
+ 상위 및 개별 오토 스케일링 그룹의 오토 스케일링 상태

**All instances**(모든 인스턴스) 테이블에서 인스턴스를 선택하면 Application Manager가 해당 인스턴스에 대한 정보를 다음 네 개의 탭에 표시합니다.
+ **Details**(세부 정보) - Amazon Machine Image(AMI), DNS 정보, IP 주소 정보 등, Amazon EC2의 모든 인스턴스 세부 정보입니다.
+ **Health**(상태) - EC2 시스템 및 인스턴스 상태 검사에서 제공하는 현재 상태입니다.
+ **Execution history**(실행 기록) - 인스턴스에서 처리한 Systems Manager Automation 런북 및 API 호출에 대한 실행 로그입니다.
+ **CloudWatch alarms**(CloudWatch 경보) - 인스턴스에서 발생한 모든 CloudWatch 경보의 이름, 상태 및 기타 정보입니다.

**이 페이지에서 수행할 수 있는 작업**  
이 페이지에서 다음 작업을 수행할 수 있습니다.
+ 인스턴스 시작, 중지 및 종료
+ Chef 레시피를 적용합니다.
+ 오토 스케일링에 인스턴스를 연결하거나 오토 스케일링에서 인스턴스를 분리합니다.
+ SSM Agent에 대한 자동 업데이트를 활성화합니다.

****Resources**(리소스) 탭을 열려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **Custom applications**(사용자 지정 애플리케이션)를 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. [**Instances**] 탭을 선택합니다.

**애플리케이션 인스턴스에 대한 세부 정보를 보는 방법**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **Custom applications**(사용자 지정 애플리케이션)를 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. [**Instances**] 탭을 선택합니다.

1. 세부 정보를 보려는 인스턴스 옆에 있는 버튼을 선택합니다.

1. 페이지 하단에 있는 인스턴스 세부 정보를 검토합니다.

**SSM Agent을 자동 업데이트하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **Custom applications**(사용자 지정 애플리케이션)를 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. [**Instances**] 탭을 선택합니다.

1. **에이전트 작업** 드롭다운에서 **SSM Agent 업데이트 구성**을 선택합니다.

1. 모든 관리형 인스턴스에 대한 자동 SSM Agent 업데이트를 구성하려면 **모든 인스턴스**를 선택합니다. 또는 **인스턴스**를 선택하여 애플리케이션의 단일 인스턴스에 대한 자동 SSM Agent 업데이트를 구성합니다.

1. **자동 업데이트 활성화** 토글을 선택합니다.

1. **일정 지정** 드롭다운에서 SSM Agent 업데이트에 사용할 일정을 선택합니다.

1. **구성**을 선택합니다.

# 애플리케이션과 연결된 리소스 보기
<a name="application-manager-working-viewing-resources"></a>

AWS Systems Manager의 구성 요소인 Application Manager의 **리소스(Resources)** 탭에는 애플리케이션의 AWS 리소스가 표시됩니다. 최상위 구성 요소를 선택하면 이 페이지에 해당 구성 요소와 모든 하위 구성 요소에 대한 모든 리소스가 표시됩니다. 하위 구성 요소를 선택하면 이 페이지에 해당 하위 구성 요소에 할당된 리소스만 표시됩니다.

**이 페이지에서 수행할 수 있는 작업**  
이 페이지에서 다음 작업을 수행할 수 있습니다.
+ 리소스 이름을 선택하여 리소스가 생성된 콘솔에서 제공하는 세부 정보, 태그, Amazon CloudWatch 경보, AWS Config 세부 정보 및 AWS CloudTrail 로그 정보를 포함한 리소스에 대한 정보를 봅니다.
+ 리소스 이름 옆에 있는 옵션 버튼을 선택합니다. 그런 다음 **리소스 타임라인(Resource timeline)** 버튼을 선택하여 선택한 리소스에 대한 규정 준수 정보를 볼 수 있는 AWS Config 콘솔을 엽니다.
+ AWS Cost Explorer를 활성화한 경우, **Cost Explorer** 섹션에는 특정 애플리케이션 또는 애플리케이션 구성 요소에 대한 비용 데이터가 표시됩니다. **Go to AWS Cost Management console** 버튼을 선택하여 이 기능을 활성화할 수 있습니다. 이 섹션의 필터를 사용하여 애플리케이션에 대한 비용 정보를 볼 수 있습니다.

****리소스(Resources)** 탭 열기**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. **리소스** 탭을 선택합니다.

# 애플리케이션 규정 준수 관리
<a name="application-manager-working-viewing-resource-compliance"></a>

Application Manager의 구성 요소인 AWS Systems 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)** 섹션에서 다음을 수행할 수 있습니다.
  + 규칙 이름을 선택하여 해당 규칙에 대한 정보를 볼 수 있는 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. **규정 준수(Compliance)** 탭을 엽니다.

# CloudWatch Application Insights를 사용하여 애플리케이션 모니터링
<a name="application-manager-working-viewing-monitors"></a>

AWS Systems Manager의 구성 요소인 Application Manager의 **모니터링(Monitoring)** 탭에는 애플리케이션의 리소스에 대한 Amazon CloudWatch Application Insights 및 경보 세부 정보가 표시됩니다.

**Application Insights 정보**  
CloudWatch Application Insights는 애플리케이션 리소스와 기술 스택 전반에 걸쳐 주요 지표, 로그, 경보를 식별하고 설정합니다. Application Insights는 지표 및 로그를 지속적으로 모니터링하여 이상 및 오류를 감지하고 연결합니다. 시스템이 오류 및 이상을 감지하면 Application Insights에서 알림을 설정하고 작업을 수행할 수 있는 CloudWatch Events를 생성합니다. **모니터링(Monitoring)** 탭에서 **구성 편집(Edit configuration)** 버튼을 선택하면 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를 엽니다.
+ 미리 정의된 기간 값 중 하나를 선택하여 **최근 경보(Recent alarms)** 섹션의 위젯에 표시되는 데이터의 기간을 조정합니다. **사용자 정의(custom)**를 선택하여 기간을 직접 정의할 수 있습니다.  
![\[Application Manager 모니터링 탭에서 기간을 제어합니다.\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/application-manager-Monitoring-1.png)
+ **최근 경보(Recent alarms)** 섹션에서 위젯 위로 커서를 가져가서 특정 시간에 대한 데이터 팝업을 봅니다.  
![\[Application Manager 모니터링 탭의 최근 경보(Recent alarms) 섹션에 있는 경보 위젯.\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/application-manager-Monitoring-2.png)
+ 위젯에서 옵션 메뉴를 선택하여 표시 옵션을 봅니다. **확대(Enlarge)**를 선택하여 위젯을 확장합니다. **새로 고침(Refresh)**을 선택하여 위젯의 데이터를 업데이트합니다. 위젯 데이터 표시에서 커서를 클릭하고 끌어 특정 범위를 선택합니다. 그런 다음 **시간 범위 적용(Apply time range)**을 선택할 수 있습니다.  
![\[Application Manager의 경보 위젯 옵션.\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/application-manager-Monitoring-3.png)
+ **작업(Actions)** 메뉴를 선택하여 다음을 포함한 경보 데이터 **재정의(Override)** 옵션을 봅니다.
  + 위젯에서 라이브 데이터를 표시할지 여부를 선택합니다. 라이브 데이터는 마지막 1분 이내에 게시된 완전히 집계되지 않은 데이터입니다. 라이브 데이터가 해제된 경우 집계 기간이 지난 1분 이상인 데이터 포인트만 표시됩니다. 예를 들어 5분의 기간을 사용하는 경우 12:35의 데이터 포인트는 12:35\$112:40에 집계되고 12:41에 표시됩니다.

    라이브 데이터가 설정되어 있으면 해당 집계 간격으로 데이터가 게시되는 즉시 최신 데이터 포인트가 표시됩니다. 화면을 새로 고칠 때마다 해당 집계 기간 내의 새 데이터가 게시됨에 따라 최신 데이터 포인트가 변경될 수 있습니다.
  + 라이브 데이터의 기간을 지정합니다.
  + 한 차트를 확대하거나 축소할 때 다른 차트가 동시에 확대 또는 축소되도록 **최근 경보(Recent alarms)** 섹션에서 차트를 연결합니다. 차트 연결을 해제하여 확대/축소를 한 차트로 제한할 수 있습니다.
  + Auto Scaling 경보를 숨깁니다.  
![\[Application Manager 모니터링(Monitoring) 탭의 작업(Action) 메뉴.\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/application-manager-Monitoring-4.png)

****모니터링(Monitoring)** 탭 열기**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. **모니터링(Monitoring)** 탭을 선택합니다.

# 애플리케이션에 대한 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), 미결 및 진행 중(Open and In progress), 해결됨(Resolved) 또는 모두(All) 상태를 지원합니다.
+ 옆에 있는 옵션 버튼을 선택한 다음 **상태 설정(Set status)** 메뉴에서 옵션을 선택하여 OpsItem의 상태를 변경합니다.
+ Systems Manager OpsCenter를 열고 **OpsItem 생성(Create OpsItem)**을 선택하여 OpsItem을 생성합니다.

****OpsItems** 탭을 열려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 [**개요(Overview)**] 탭을 엽니다.

1. **OpsItems** 탭을 선택합니다.

# 애플리케이션 로그 관리
<a name="application-manager-viewing-logs"></a>

AWS Systems Manager의 구성 요소인 Application Manager의 [**로그(Logs)**] 탭에는 Amazon CloudWatch Logs의 로그 그룹 목록이 표시됩니다.

**이 탭에서 수행할 수 있는 작업**  
이 페이지에서 다음 작업을 수행할 수 있습니다.
+ 로그 그룹 이름을 선택하여 CloudWatch Logs에서 엽니다. 그런 다음 로그 스트림을 선택하여 애플리케이션 컨텍스트에서 리소스에 대한 로그를 볼 수 있습니다.
+ [**로그 그룹 생성(Create log groups)**]을 선택하여 CloudWatch Logs에서 로그 그룹을 생성합니다.

****로그(Logs)** 탭 열기**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 [**개요(Overview)**] 탭을 엽니다.

1. **로그** 탭을 선택합니다.

# Automation 런북을 사용하여 애플리케이션 문제 해결
<a name="application-manager-working-runbooks"></a>

Automation 런북을 사용하여 AWS Systems Manager의 도구인 Application Manager에서 AWS 리소스 문제를 해결할 수 있습니다. Automation 실행서는 자동화가 실행될 때 Systems Manager가 관리형 인스턴스 및 기타 AWS 리소스에 대해 수행하는 작업을 정의합니다. Automation은 AWS Systems Manager의 도구입니다. 실행서에는 순차적으로 실행되는 하나 이상의 단계가 포함되어 있습니다. 각 단계는 단일 작업을 중심으로 구축됩니다. 한 단계의 출력을 이후 단계에서 입력으로 사용할 수 있습니다.

Application Manager 애플리케이션 또는 클러스터에서 **Start runbook**(실행서 시작)을 선택하면 애플리케이션 또는 클러스터의 리소스 유형에 따라 필터링된 사용 가능한 실행서 목록이 표시됩니다. 시작할 실행서를 선택하면 Systems Manager에서 [**자동화 문서 실행(Execute automation document)**] 페이지를 엽니다.

Application Manager에는 실행서 작업에 대한 다음과 같은 향상된 기능이 포함되어 있습니다.
+ Application Manager에서 리소스 이름을 선택한 다음 **실행서 실행(Execute runbook)**을 선택하면, 해당 리소스 유형에 대해 필터링된 실행서 목록이 표시됩니다.
+ 목록에서 실행서를 선택한 다음 **동일한 유형의 리소스에 대해 실행(Run for resources of same type)**을 선택하여 동일한 유형의 모든 리소스에 대해 자동화를 시작할 수 있습니다.

**시작하기 전 준비 사항**  
Application Manager에서 실행서를 시작하기 전에 다음을 수행합니다.
+ 실행서를 시작하는 데 올바른 권한이 있는지 확인합니다. 자세한 내용은 [Automation 설정](automation-setup.md) 섹션을 참조하세요.
+ 실행서 시작에 대한 Automation 절차 설명서를 검토합니다. 자세한 내용은 [Systems Manager Automation을 기반으로 자동화된 작업 실행](running-simple-automations.md) 섹션을 참조하세요.

**Application Manager에서 실행서를 시작하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. **애플리케이션 정보(Application information)** 섹션에서 **애플리케이션 태그(Application tags)** 아래의 숫자를 선택합니다. 애플리케이션에 할당된 태그가 없는 경우 숫자는 0입니다.

1. 태그를 추가하려면 **태그 추가(Add new tag)**를 선택합니다. 키와 값(선택 사항)을 지정합니다. 태그를 삭제하려면 **제거**를 선택합니다.

1. **저장**을 선택합니다.

Application Manager의 특정 리소스에 태그를 추가하거나 리소스에서 태그를 삭제하려면 다음 절차를 따릅니다.

**리소스에 태그를 추가하거나 리소스에서 태그를 삭제하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **애플리케이션(Applications)** 섹션에서 범주를 선택합니다. Application Manager에서 수동으로 생성한 애플리케이션을 열려면 **사용자 정의 애플리케이션(Custom applications)**을 선택합니다.

1. 목록에서 애플리케이션을 선택합니다. Application Manager가 **개요(Overview)** 탭을 엽니다.

1. **리소스(Resources)** 탭을 선택합니다.

1. 리소스 이름을 선택합니다.

1. **태그(Tags)** 섹션에서 **편집(Edit)**을 선택합니다.

1. 태그를 추가하려면 **태그 추가(Add new tag)**를 선택합니다. 키와 값(선택 사항)을 지정합니다. 태그를 삭제하려면 **제거**를 선택합니다.

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 스택(CloudFormation stacks)**] 페이지에 이에 대한 유용한 정보가 표시됩니다. 여기에는 스택을 생성하는 데 사용되는 템플릿, 스택의 리소스에 대한 [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 Management 콘솔에서 Cost Explorer를 활성화하면, Application Manager의 **Cost**(비용) 위젯은 특정 비컨테이너 애플리케이션 또는 애플리케이션 구성 요소에 대한 비용 데이터를 보여줍니다. 위젯의 필터를 사용하여 막대 또는 꺾은선형 차트에서 다양한 기간, 세부 기간 및 비용 유형에 따라 비용 데이터를 볼 수 있습니다.

**Go to AWS Cost Management console** 버튼을 선택하여 이 기능을 활성화할 수 있습니다. 기본적으로 지난 3개월 치 데이터가 필터링됩니다. 비컨테이너 애플리케이션의 경우, **View all**(전체 보기) 버튼을 선택하면 Application Manager가 **Resources**(리소스) 탭을 엽니다. 컨테이너 애플리케이션의 경우**전체 보기** 버튼이 AWS Cost Explorer 콘솔을 엽니다.

**참고**  
Cost Explorer는 태그를 사용하여 애플리케이션 비용을 추적합니다. CloudFormation 스택 기반 애플리케이션이 `AppManagerCFNStackKey` 태그 키로 구성되지 않은 경우 Cost Explorer는 Application Manager에 정확한 비용 데이터를 표시하지 못합니다. `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 개념에 대해 알아봅니다.
+ [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](documents.md)
+ [SSM 문서 공유](documents-ssm-sharing.md)
+ [공유 SSM 문서에 대한 모범 사례](documents-ssm-sharing.md#best-practices-shared)

**Application Manager에서 템플릿 라이브러리를 보려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS 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 Management Console을 사용하여 Application Manager에서 CloudFormation 템플릿을 생성합니다.

**Application Manager에서 CloudFormation 템플릿을 생성하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **CloudFormation 템플릿 라이브러리**를 선택한 다음 **템플릿 생성** 이나 기존 템플릿을 선택한 후에 **작업**, **복제**를 선택합니다.

1. [**이름(Name)**]에 템플릿이 생성하는 리소스 또는 스택의 용도를 식별하는 데 도움이 되는 템플릿의 이름을 입력합니다.

1. (옵션) [**버전 이름(Version name)**]에 템플릿 버전을 식별할 이름 또는 숫자를 입력합니다.

1. [**코드 편집기(Code editor)**] 섹션에서 [**YAML**] 또는 [**JSON**]을 선택한 다음 템플릿 코드를 입력하거나 복사하여 붙여 넣습니다.

1. (옵션) [**태그(Tags)**] 섹션에서 템플릿에 하나 이상의 태그 키 이름/값 페어를 적용합니다.

1. (옵션) [**권한(Permissions)**] 섹션에서 AWS 계정 ID를 입력하고 [**계정 추가(Add account)**]를 선택합니다. 이 작업은 템플릿에 대한 읽기 권한을 제공합니다. 계정 소유자는 템플릿을 프로비저닝하고 복제할 수 있지만 편집하거나 삭제할 수는 없습니다.

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 문서로 저장할 수 있습니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

**시작하기 전 준비 사항**  
아직 하지 않은 경우 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. **CloudFormation 템플릿 라이브러리** 선택

1. 템플릿을 선택한 다음 [**작업(Actions)**]과 [**편집(Edit)**]을 차례대로 선택합니다. 템플릿의 이름은 변경할 수 없지만 다른 모든 세부 정보는 변경할 수 있습니다.

1. **저장**을 선택합니다. 템플릿은 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 Management Console에서 Application Manager를 사용하여 스택을 생성합니다.

**CloudFormation 스택을 생성하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS 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. [**스택 세부 정보 편집(Edit stack details)**] 페이지의 [**스택 이름(Stack name)**]에 스택에 의해 생성된 리소스나 해당 용도를 식별하는 데 도움이 되는 이름을 입력합니다.
   + [**파라미터(Parameters)**] 섹션에는 템플릿에 지정된 선택적 및 필수 파라미터가 모두 포함되어 있습니다. 각 필드에 하나 이상의 파라미터를 입력합니다.
   + (옵션) [**태그(Tags)**] 섹션에서 스택에 하나 이상의 태그 키 이름/값 페어를 적용합니다.
   + (옵션) [**권한(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)을 참조하세요.
   + **다음**을 선택합니다.

1. [**검토 및 프로비저닝(Review and provision)**] 페이지에서 스택의 모든 세부 정보를 검토합니다. 변경하려면 이 페이지에서 [**편집(Edit)**] 버튼을 선택합니다.

1. [**스택 프로비저닝(Provision stack)**]을 선택합니다.

Application Manager는 [**CloudFormation 스택(CloudFormation stacks)**] 페이지와 스택 생성 및 배포 상태를 표시합니다. 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 템플릿을 사용하여 스택을 프로비저닝합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다. 스택 생성을 위한 다른 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS 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 리소스를 호스팅하는 인프라에 대한 작업 정보만 관리하고 볼 수 있습니다.

**이 페이지에서 수행할 수 있는 작업**  
이 페이지에서 다음 작업을 수행할 수 있습니다.
+ [**클러스터 관리(Manage cluster)**]를 선택하여 Amazon ECS에서 클러스터를 엽니다.
+ [**모두 보기(View all)**]를 선택하여 클러스터의 리소스 목록을 봅니다.
+ [**CloudWatch에서 보기(View in CloudWatch)**]를 선택하여 Amazon CloudWatch에서 리소스 경보를 봅니다.
+ **Manage nodes**(노드 관리) 또는 **Manage Fargate profiles**(Fargate 프로파일 관리)를 선택하여 Amazon ECS에서 이러한 리소스를 볼 수 있습니다.
+ 리소스 ID를 선택하여 리소스 ID가 생성된 콘솔에서 리소스 ID에 대한 자세한 정보를 봅니다.
+ 클러스터와 관련된 OpsItems 목록을 봅니다.
+ 클러스터에서 실행된 실행서의 기록을 봅니다.

**[**ECS 클러스터(ECS cluster)**]를 열려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. [**컨테이너 클러스터(Container clusters)**] 섹션에서 [**ECS 클러스터(ECS clusters)**]를 선택합니다.

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 EKS 클러스터에 태그를 적용합니다. Application Manager는 클러스터의 컴퓨팅, 네트워킹 및 스토리지 리소스에 대한 구성 요소 런타임 보기를 제공합니다.

**참고**  
Application Manager에서 Amazon EKS 포드 또는 컨테이너에 대한 작업 정보를 관리하거나 볼 수 없습니다. Amazon EKS 리소스를 호스팅하는 인프라에 대한 작업 정보만 관리하고 볼 수 있습니다.

**이 페이지에서 수행할 수 있는 작업**  
이 페이지에서 다음 작업을 수행할 수 있습니다.
+ [**클러스터 관리(Manage cluster)**]를 선택하여 Amazon EKS에서 클러스터를 엽니다.
+ [**모두 보기(View all)**]를 선택하여 클러스터의 리소스 목록을 봅니다.
+ [**CloudWatch에서 보기(View in CloudWatch)**]를 선택하여 Amazon CloudWatch에서 리소스 경보를 봅니다.
+ **Manage nodes**(노드 관리) 또는 **Manage Fargate profiles**(Fargate 프로파일 관리)를 선택하여 Amazon EKS에서 이러한 리소스를 볼 수 있습니다.
+ 리소스 ID를 선택하여 리소스 ID가 생성된 콘솔에서 리소스 ID에 대한 자세한 정보를 봅니다.
+ 클러스터와 관련된 OpsItems 목록을 봅니다.
+ 클러스터에서 실행된 실행서의 기록을 봅니다.

****EKS 클러스터** 애플리케이션을 열려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. [**컨테이너 클러스터(Container clusters)**] 섹션에서 [**EKS 클러스터(EKS clusters)**]를 선택합니다.

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 설정](automation-setup.md) 섹션을 참조하세요.
+ 실행서 시작에 대한 Automation 절차 설명서를 검토합니다. 자세한 내용은 [Systems Manager Automation을 기반으로 자동화된 작업 실행](running-simple-automations.md) 섹션을 참조하세요.
+ 한 번에 여러 리소스에서 실행서를 시작하려면 대상 및 속도 제어 사용에 대한 설명서를 검토합니다. 자세한 내용은 [대규모로 자동화된 작업 실행](running-automations-scale.md) 섹션을 참조하세요.

**Application Manager에서 클러스터의 실행서를 시작하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Application Manager**를 선택합니다.

1. [**컨테이너 클러스터(Container clusters)**] 섹션에서 컨테이너 유형을 선택합니다.

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) 섹션을 참조하세요.
+ **파라미터 구성**

  파라미터에 태그를 지정하면 파라미터에 지정한 태그를 토대로 하나 이상의 파라미터를 개별적으로 식별할 수 있습니다. 예를 들어, 특정 환경이나 부서에 대한 파라미터에 태그를 지정할 수 있습니다.
+ **레이블 버전**

  레이블을 생성하여 파라미터 버전에 대한 별칭을 연결할 수 있습니다. 레이블이 있으면 파라미터 버전이 여러 개일 때 버전의 용도를 기억하기 쉽습니다.
+ **데이터 유효성 검사**

  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와(과) 통합했습니다.
+ **다른 계정과 파라미터 공유**

  선택적으로 구성 데이터를 단일 AWS 계정으로 중앙 집중화하고 파라미터에 액세스해야 하는 다른 계정과 파라미터를 공유할 수 있습니다.
+ **다른 AWS 서비스에서 액세스 가능**

  Parameter Store 파라미터와 기타 Systems Manager 도구 및 AWS 서비스를 사용하여 중앙 스토어에서 암호와 구성 데이터를 검색할 수 있습니다. 파라미터는 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 Notification 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` 등 세 가지 유형의 파라미터를 지원합니다.

단, 파라미터를 생성하거나 업데이트할 때 파라미터 값을 일반 텍스트로 입력해야 하며 Parameter Store는 입력한 텍스트에 대해 검증을 수행하지 않습니다. 그러나 `String` 파라미터의 경우 데이터 형식을 `aws:ec2:image`로 지정할 수 있으며 Parameter Store는 입력한 값이 Amazon EC2 AMI에 적합한 형식인지 검증합니다(예: `ami-12345abcdeEXAMPLE`).

### 파라미터 유형: String
<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` 파라미터를 사용할 수도 있습니다. 다음 예에서는 Lambda 함수가 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API를 사용하여 `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 Developer Guide*의 [Identifying symmetric and asymmetric KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/find-symm-asymm.html)를 참조하세요.

`SecureString` 파라미터 생성 시 Parameter Store에서 비용이 부과되지 않지만 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 Systems ManagerParameter Store의 AWS KMS사용 방법](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의 암호 및 구성 데이터에 안전하게 액세스](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에서는 사용하는 파라미터 계층에 따라 파라미터 값에 대한 크기 제한이 다릅니다.
+ **표준 파라미터**: 최대 값 크기 4KB
+ **고급 파라미터**: 최대 값 크기 8KB

4KB보다 큰 파라미터 값을 저장해야 하는 경우 고급 파라미터 계층을 사용해야 합니다. 고급 파라미터는 추가 기능을 제공하지만 AWS 계정에 요금이 부과됩니다. 파라미터 계층 및 해당 기능에 대한 자세한 내용은 [파라미터 티어 관리](parameter-store-advanced-parameters.md) 섹션을 참조하세요.

Parameter Store 할당량 및 제한의 전체 목록은 *AWS 일반 참조*의 [AWS Systems Manager endpoints and quotas](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 규칙을 생성하는 방법에 대한 정보도 제공합니다. 또한 EventBridge 규칙을 사용하면 Parameter Store의 변경 사항을 기준으로 AWS에서 다른 작업을 호출할 수 있습니다.

**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*`와 같은 패턴을 사용합니다. 다음 예에서는 `prod-*`로 시작하는 모든 파라미터에 대해 `GetParameter`, `GetParameters`, `GetParameterHistory` 및 `GetParametersByPath`를 거부하는 방법을 보여줍니다.

------
#### [ 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`에 대한 권한은 허용된 경우 `GetParameterHistory`를 사용하여 `SecureString` 파라미터를 포함한 현재 파라미터를 볼 수 있습니다.

## 노드에서 특정 파라미터만 실행하도록 허용
<a name="sysman-paramstore-access-inst"></a>

관리형 노드에서 사용자가 지정한 파라미터만 실행할 수 있도록 액세스를 제어할 수 있습니다.

파라미터를 생성할 때 `SecureString` 파라미터 유형을 선택하면 Systems Manager가 AWS KMS를 사용하여 파라미터 값을 암호화합니다. AWS KMS는 AWS 관리형 키 또는 고객 관리형 키를 사용하여 값을 암호화합니다. AWS KMS 및 AWS KMS key에 대한 자세한 내용은 *[AWS Key Management Service Developer Guide](https://docs.aws.amazon.com/kms/latest/developerguide/)*를 참조하세요.

AWS CLI에서 다음 명령을 실행하여 AWS 관리형 키를 볼 수 있습니다.

```
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 KMS key 또는 AWS에서 제공하는 기본 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 정책에서 기본 키에 대한 액세스를 명시적으로 거부해야 합니다.

**참고**  
[AWS 관리형 키](https://console.aws.amazon.com/kms/home#/kms/defaultKeys) 페이지의 AWS KMS 콘솔에서 기본 키의 Amazon 리소스 이름(ARN)을 찾을 수 있습니다. 기본 키는 **별칭(Alias)** 열에 `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 Developer Guide*의 [Using key policies in 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에는 *표준 파라미터*와 *고급 파라미터*가 포함됩니다. 표준 파라미터 티어(기본 티어) 또는 고급 파라미터 티어에서 사용하도록 파라미터를 개별적으로 구성할 수 있습니다.

언제든 표준 파라미터를 고급 파라미터로 변경할 수 있지만 고급 파라미터를 표준 파라미터로 되돌릴 수 없습니다. 이는 고급 파라미터를 표준 파라미터로 되돌리면 시스템이 파라미터의 크기를 8KB에서 4KB로 자르기 때문에 데이터가 손실을 일으키기 때문입니다. 되돌리면 파라미터에 연결된 모든 정책도 제거됩니다. 또한 고급 파라미터는 표준 파라미터와 다른 암호화 형식을 사용합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 [AWS Systems Manager   Parameter Store가 AWS KMS를 사용하는 방식](https://docs.aws.amazon.com/kms/latest/developerguide/services-parameter-store.html)을 참조하세요.

고급 파라미터가 더 이상 필요하지 않거나 더 이상 고급 파라미터에 요금을 부과하지 않으려면 파라미터를 삭제하고 새 표준 파라미터로 다시 생성합니다.

다음 표에서는 여러 티어의 차이점을 설명합니다.


****  

|  | 표준 | Advanced | 
| --- | --- | --- | 
|  허용되는 총 파라미터 수 (AWS 계정 및 AWS 리전당)  |  10,000개  |  100,000건  | 
|  파라미터 값의 최대 크기  |  4KB  |  8KB  | 
|  파라미터 정책 사용 가능  |  아니요  |  예 자세한 내용은 [Parameter Store에서 파라미터 정책 할당](parameter-store-policies.md) 섹션을 참조하세요.  | 
|  비용  |  추가 요금 없음  |  요금 적용 자세한 내용은 [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가 각 요청을 평가하여 파라미터가 표준인지 아니면 고급인지 결정합니다.

  요청에 고급 파라미터를 필요로 하는 옵션이 포함되지 않는 경우 파라미터는 표준 파라미터 티어에서 생성됩니다. 고급 파라미터가 필요한 하나 이상의 옵션이 요청에 포함되는 경우 Parameter Store는 고급 파라미터 티어에서 파라미터를 생성합니다.

**지능형 계층화의 이점**  
다음은 지능형 계층화를 기본 티어로 선택할 수 있는 이유입니다.

**비용 관리** - 지능형 계층화를 사용하면 고급 파라미터가 절대적으로 필요하지 않는 한 항상 표준 파라미터를 생성하여 파라미터 관련 비용을 관리할 수 있습니다.

**고급 파라미터 티어로 자동 업그레이드** - 표준 파라미터를 고급 파라미터로 업그레이드해야 하는 코드 변경 시 지능형 계층화를 사용하여 변환을 처리할 수 있습니다. 업그레이드를 처리하기 위해 코드를 변경할 필요가 없습니다.

다음은 자동 업그레이드의 몇 가지 예입니다.
+ AWS CloudFormation 템플릿은 파라미터가 실행될 때 많은 파라미터를 프로비저닝합니다. 이 프로세스를 통해 표준 파라미터 티어의 10,000개 파라미터 할당량에 도달하면 지능형 계층화가 고급 파라미터 티어로 자동으로 업그레이드하여 CloudFormation 프로세스가 중단되지 않습니다.
+ 파라미터에 증명서 값을 저장하고 증명서 값을 정기적으로 교체하면 콘텐츠가 표준 파라미터 티어의 4KB 할당량 미만이 됩니다. 교체 증명서 값이 4KB를 초과하는 경우 지능형 계층화는 파라미터를 고급 파라미터 티어로 자동으로 업그레이드합니다.
+ 기존의 많은 표준 파라미터를 고급 파라미터 티어가 필요한 파라미터 정책에 연결하려고 합니다. 파라미터를 업데이트하기 위한 모든 호출에 `--tier Advanced` 옵션을 포함시킬 필요 없이 지능형 계층화는 파라미터를 고급 파라미터 티어로 자동으로 업그레이드합니다. 지능형 계층화 옵션은 고급 파라미터 티어의 기준이 도입될 때마다 파라미터를 표준에서 고급으로 업그레이드합니다.

고급 파라미터가 필요한 옵션에는 다음이 포함됩니다.
+ 파라미터의 콘텐츠 크기는 4KB 이상입니다.
+ 파라미터는 파라미터 정책을 사용합니다.
+ 현재 AWS 리전의 AWS 계정에 10,000개 이상의 파라미터가 이미 존재합니다.

**기본 티어 옵션**  
기본으로 지정할 수 있는 티어 옵션에는 다음이 포함됩니다.
+ [**표준(Standard)**] - Parameter Store를 사용하기 시작할 때 표준 파라미터 티어가 기본 티어입니다. 표준 파라미터 티어를 사용하여 AWS 계정의 각 AWS 리전에 대해 10,000개의 파라미터를 생성할 수 있습니다. 각 파라미터의 콘텐츠 크기는 최대 4KB에 해당될 수 있습니다. 표준 파라미터는 파라미터 정책을 지원하지 않습니다. 표준 파라미터 티어 사용에 따르는 추가 요금은 없습니다. **표준**을 기본 티어로 선택하면 Parameter Store이 티어를 지정하지 않는 요청에 대해 항상 표준 파라미터 생성을 시도합니다.
+ [**고급(Advanced)**] - 고급 파라미터 티어를 사용하면 AWS 계정의 각 AWS 리전에 대해 최대 100,000개 파라미터를 생성할 수 있습니다. 각 파라미터의 콘텐츠 크기는 최대 8KB에 해당될 수 있습니다. 고급 파라미터는 파라미터 정책을 지원합니다. 파라미터를 공유하려면 해당 파라미터가 고급 파라미터 티어에 속해야 합니다. 고급 파라미터 티어 사용에는 요금이 따릅니다. 자세한 내용은 [Parameter Store에 대한 AWS Systems Manager 요금](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)을 참조하세요. **고급**을 기본 티어로 선택하면 Parameter Store이 티어를 지정하지 않는 요청에 대해 항상 고급 파라미터 생성을 시도합니다.
**참고**  
고급 파라미터 티어를 선택하는 경우 생성하는 고급 파라미터에 대해 AWS가 사용자의 계정에 요금을 부과하도록 명시적으로 승인합니다.
+ [**지능형 계층화(Intelligent-Tiering)**] - [지능형 계층화(Intelligent-Tiering)] 옵션을 사용하면 Parameter Store가 요청 내용에 따라 표준 파라미터 티어 또는 고급 파라미터 티어의 사용 여부를 결정할 수 있습니다. 예를 들어 콘텐츠가 4KB 미만인 파라미터를 생성하도록 명령을 실행하고 AWS 계정의 현재 AWS 리전에 10,000개 미만의 파라미터가 있는 경우 파라미터 정책을 지정하지 않으면 표준 파라미터가 생성됩니다. 예를 들어 콘텐츠가 4KB 이상인 파라미터를 생성하도록 명령을 실행하고 AWS 계정의 현재 AWS 리전에 10,000개 이상의 파라미터가 있거나 파라미터 정책을 지정하는 경우 고급 파라미터가 생성됩니다.
**참고**  
지능형 계층화를 선택하는 경우 생성되는 고급 파라미터에 대해 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)

사용자가 AWS 계정의 특정 AWS 리전에 있는 파라미터의 기본 티어 설정을 보고 변경할 수 있도록 IAM 엔터티에 다음 권한을 부여합니다.

------
#### [ 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 Identity Center의 사용자 및 그룹:

  권한 세트를 생성합니다. *AWS IAM Identity Center 사용자 안내서*에서 [권한 세트 생성](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)의 지침을 따릅니다.
+ ID 제공업체를 통해 IAM에서 관리되는 사용자:

  ID 페더레이션을 위한 역할을 생성합니다. *IAM 사용자 설명서*의 [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)의 지침을 따릅니다.
+ IAM 사용자:
  + 사용자가 맡을 수 있는 역할을 생성합니다. *IAM 사용자 설명서*에서 [Create a role for an IAM user](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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. **설정** 탭을 선택합니다.

1. [**기본 티어 변경(Change default tier)**]을 선택합니다.

1. 다음 옵션 중 하나를 선택합니다.
   + **표준**
   + **고급**
   + **지능형 계층화**

   이러한 옵션에 대한 자세한 내용은 [기본 파라미터 티어 지정](#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
   ```

   *리전*은 미국 동부(오하이오) 리전의 `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
   ```

   *리전*은 미국 동부(오하이오) 리전의 `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
   ```

   *리전*은 미국 동부(오하이오) 리전의 `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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 파라미터를 선택한 후 **편집**을 선택합니다.

1. **설명**에 이 파라미터에 대한 설명을 입력합니다.

1. **고급**을 선택합니다.

1. **값**에 이 파라미터의 값을 입력합니다. 고급 파라미터의 최대 값 제한은 8KB입니다.

1. **변경 사항 저장**을 선택합니다.

# Parameter Store 처리량 증가 또는 재설정
<a name="parameter-store-throughput"></a>

Parameter Store 처리량을 늘리면 AWS Systems Manager의 도구인 Parameter Store에서 처리할 수 있는 초당 최대 트랜잭션 수(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>

다음 중 하나를 수행하여 IAM에서 Parameter Store 처리량을 변경할 권한이 있는지 확인합니다.
+ `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)

사용자가 AWS 계정의 특정 AWS 리전에 있는 파라미터의 파라미터 처리량 설정을 보고 변경할 수 있도록 IAM 엔터티에 다음 권한을 부여합니다.

------
#### [ 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 Identity Center의 사용자 및 그룹:

  권한 세트를 생성합니다. *AWS IAM Identity Center 사용자 안내서*에서 [권한 세트 생성](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)의 지침을 따릅니다.
+ ID 제공업체를 통해 IAM에서 관리되는 사용자:

  ID 페더레이션을 위한 역할을 생성합니다. *IAM 사용자 설명서*의 [Create a role for a third-party identity provider (federation)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html)의 지침을 따릅니다.
+ IAM 사용자:
  + 사용자가 맡을 수 있는 역할을 생성합니다. *IAM 사용자 설명서*에서 [Create a role for an IAM user](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 리전에 대해 처리할 수 있는 초당 트랜잭션 수를 늘리는 방법을 보여줍니다. 높은 처리량이 더 이상 필요하지 않거나 요금이 더 이상 청구되지 않게 하려는 경우 표준 설정으로 되돌릴 방법을 보여줍니다.

**콘솔을 사용하여 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. **설정** 탭을 선택합니다.

1. 처리량을 늘리려면 **한도 설정**을 선택합니다.

   -또는-

    기본 한도로 되돌리려면 **한도 재설정**을 선택합니다.

1. 한도를 늘리려면 다음 작업을 수행합니다.
   + **이 설정을 변경하면 AWS 계정에 요금이 부과된다는 점을 수락함** 확인란을 선택합니다.
   + **Set limit(한도 설정)**을 선택하십시오.

   -또는-

   한도를 기본값으로 재설정하는 경우 다음 작업을 수행합니다.
   + **기본 처리량 한도로 재설정하면 Parameter Store에서 초당 처리되는 트랜잭션 수가 줄어든다는 점에 동의함** 확인란을 선택합니다.
   + **한도 재설정**을 선택합니다.

## AWS CLI를 사용하여 처리량 증가 또는 재설정
<a name="parameter-store-throughput-increasing-cli"></a>

다음 절차에서는 AWS CLI를 사용하여 Parameter Store이 현재 AWS 계정 및 AWS 리전에 대해 처리할 수 있는 초당 트랜잭션 수를 늘리는 방법을 보여줍니다. 기본 한도로 되돌릴 수도 있습니다.

**AWS CLI를 사용하여 Parameter Store 처리량을 높이려면**

1. AWS CLI를 열고 다음 명령을 실행하여 Parameter Store가 현재 AWS 계정 및 AWS 리전에서 처리할 수 있는 초당 트랜잭션을 늘립니다.

   ```
   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을 사용하여 Parameter Store가 현재 AWS 계정 및 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/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 계정에서 하나 이상의 파라미터에 대해 발생하는 이벤트를 기반으로 대상을 호출하는 EventBridge 규칙을 생성하는 방법.
+ AWS 계정에서 하나 이상의 파라미터 정책에 대해 발생하는 이벤트를 기반으로 대상을 호출하는 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. **이벤트 버스(Event bus)**에서 이 규칙과 연결할 이벤트 버스를 선택합니다. 이 규칙이 자신의 AWS 계정에서 오는 발생하는 해당 이벤트에서 시작되도록 하려면 **기본값(Default)**을 선택합니다. 계정의 AWS 서비스이(가) 이벤트를 출력하면 항상 계정의 기본 이벤트 버스로 이동합니다.

1. **규칙 유형(Rule type)**의 경우 기본값인 **이벤트 패턴이 있는 규칙(Rule with an event pattern)**을 선택한 채로 둡니다.

1. **다음**을 선택합니다.

1. **Event source**(이벤트 소스)의 경우 기본값인 **AWS events or EventBridge partner events**(이벤트 또는 EventBridge 파트너 이벤트)를 선택된 상태로 둡니다. **샘플 이벤트(Sample event)** 섹션은 건너뛸 수 있습니다.

1. **이벤트 패턴(Event pattern)**에서 다음을 수행합니다.
   + **사용자 지정 패턴(JSON 편집기)(Custom patterns (JSON editor))**을 선택합니다.
   + **이벤트 패턴(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)**에서 대상 유형과 지원되는 리소스를 선택합니다. 예를 들어 [**SNS 주제(SNS topic)**]를 선택하는 경우 [**주제(Topic)**]를 선택합니다. **CodePipeline**을 선택한 경우 **파이프라인 ARN(Pipeline ARN)**에 파이프라인 ARN을 입력합니다. 필요에 따라 추가 구성 값을 입력합니다.
**작은 정보**  
규칙에 추가 대상이 필요한 경우 **다른 대상 추가(Add another target)**를 선택합니다.

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 Manager  Run Command](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-ec2-run-command.html)
+ *Amazon EventBridge 사용 설명서*의 [자습서: AWS Systems Manager 자동화를 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)
+ [Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용](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로 파라미터를 생성, 저장 및 실행하는 방법을 보여줍니다. 또한 Parameter Store를 AWS 서비스의 다른 Systems Manager 도구와 함께 사용하는 방법을 설명합니다. 자세한 내용은 [파라미터란 무엇인가요?](systems-manager-parameter-store.md#what-is-a-parameter) 섹션을 참조하세요.

## 파라미터 이름의 요구 사항 및 제약 조건 이해
<a name="sysman-parameter-name-constraints"></a>

이 주제의 정보를 사용하면 파라미터를 생성할 때 파라미터 이름에 유효한 값을 지정하는 데 도움이 됩니다.

이 정보는 **AllowedPattern**, **Description**, **KeyId**, **Overwrite**, **Type** 및 **Value** 값에 대한 정보도 제공하는 *AWS Systems Manager API Reference*의 [PutParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html) 주제의 세부 정보를 보완합니다.

파라미터 이름에 대한 요구 사항 및 제약 조건은 다음과 같습니다.
+ **대/소문자 구분**: 파라미터 이름은 대/소문자를 구분합니다.
+ **공백**: 파라미터 이름에는 공백이 포함될 수 없습니다.
+ **유효한 값**: 파라미터 이름은 `a-zA-Z0-9_.-`과 같은 기호와 문자로 구성될 수 있습니다.

  또한 슬래시 문자(/)는 파라미터 이름의 계층 구조를 나타내는 데 사용됩니다. 예: `/Dev/Production/East/Project-ABC/MyParameter`
+ [**유효한 AMI 형식(Valid AMI format)**]: `String` 파라미터의 데이터 형식으로 `aws:ec2:image`를 선택하는 경우 입력한 ID가 AMI ID 형식 `ami-12345abcdeEXAMPLE`에 유효한지 검증해야 합니다.
+ [**정규화(Fully qualified)**]: 계층에서 파라미터를 생성하거나 참조하는 경우 선행 슬래시 문자(/)를 포함합니다. 계층의 일부인 파라미터를 참조하는 경우 초기 슬래시(/)를 포함한 전체 계층 경로를 지정합니다.
  + 정규화된 파라미터 이름: `MyParameter1`, `/MyParameter2`, `/Dev/Production/East/Project-ABC/MyParameter` 
  + 정규화되지 않은 파라미터 이름: `MyParameter3/L1`
+ **길이**: 지정할 수 있는 파라미터 이름의 최대 길이는 1,011자입니다. 1,011자에는 `arn:aws:ssm:us-east-2:111122223333:parameter/`의 45자와 같이 지정한 이름 앞에 오는 ARN의 문자가 포함됩니다.
+ [**접두사(Prefixes)**]: 파라미터 이름은 "`aws`" 또는 "`ssm`"(대/소문자 구별 안 함)으로 시작할 수 없습니다. 예를 들어 다음 이름의 파라미터를 생성하려고 하면 예외와 함께 실패합니다.
  + `awsTestParameter`
  + `SSM-testparameter`
  + `/aws/testparam1`
**참고**  
SSM 문서, 명령 또는 스크립트에서 파라미터를 지정하면 다음 예제와 같이 `ssm`이 구문의 일부로 포함됩니다. 예: \$1\$1ssm:*parameter-name*\$1\$1 and \$1\$1 ssm:*parameter-name* \$1\$1(예: `{{ssm:MyParameter}}` 및 `{{ ssm:MyParameter }}.`)
+ [**고유성(Uniqueness)**]: 파라미터 이름은 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` 및 뷰 `/a/b`에 대해 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 작업을 재귀적으로 호출할 수 있습니다.

**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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. **파라미터 생성(Create parameter)**을 선택합니다.

1. **이름** 상자에 계층 구조 및 이름을 입력합니다. 예를 들면 **/Test/helloWorld**를 입력합니다.

   파라미터 계층 구조에 대한 자세한 내용은 [Parameter Store에서의 파라미터 계층 구조 작업](sysman-paramstore-hierarchies.md) 섹션을 참조하세요.

1. **설명** 상자에 이 파라미터가 테스트 파라미터라는 설명을 입력합니다.

1. **Parameter tier(파라미터 티어)**에서 **표준** 또는 **고급**을 선택합니다. 고급 파라미터에 대한 자세한 내용은 [파라미터 티어 관리](parameter-store-advanced-parameters.md) 섹션을 참조하세요.

1. **유형**에서 **String**, **StringList** 또는 **SecureString**을 선택합니다.
   + [**문자열(String)**]을 선택하면 [**데이터 형식(Data type)**] 필드가 표시됩니다. Amazon Machine Image(AMI)의 리소스 ID를 보관할 파라미터를 생성하는 경우 `aws:ec2:image`를 선택합니다. 그렇지 않으면 기본값인 `text`를 선택한 상태로 유지합니다.
   + [**SecureString**]을 선택한 경우 [**KMS 키 ID(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 Systems ManagerParameter Store의 AWS KMS사용 방법](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 Developer Guide*의 [Identifying symmetric and asymmetric KMS keys](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. **값** 상자에 값을 입력합니다. 예를 들어 **This is my first parameter** 또는 **ami-0dbf5ea29aEXAMPLE**을 입력합니다.
**참고**  
파라미터는 다른 파라미터의 값에 참조되거나 중첩될 수 없습니다. 파라미터 값에 `{{}}` 또는 `{{ssm:parameter-name}}`을 포함할 수 없습니다.  
**SecureString**을 선택한 경우 다음 그림과 같이 나중에 파라미터 **개요** 탭에서 볼 때 파라미터의 값은 기본적으로 마스킹됩니다("\$1\$1\$1\$1\$1\$1"). [**표시(Show)**]를 선택하여 파라미터 값을 표시합니다.  

![\[SecureString 파라미터의 값은 값을 표시하는 옵션으로 마스킹됩니다.\]](http://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/images/ps-overview-show-secstring.png)


1. (선택 사항) **태그** 영역에서 하나 이상의 태그 키-값 페어를 파라미터에 적용합니다.

   태그는 리소스에 할당하는 선택적 메타데이터입니다. 태그를 사용하면 용도, 소유자 또는 환경을 기준으로 하는 등 리소스를 다양한 방식으로 분류할 수 있습니다. 예를 들어 Systems Manager 파라미터에 태그를 지정하여 적용할 리소스 유형, 환경 또는 파라미터가 참조하는 구성 데이터의 유형을 식별할 수 있습니다. 이 경우 다음 키-값 페어를 지정할 수 있습니다.
   + `Key=Resource,Value=S3bucket`
   + `Key=OS,Value=Windows`
   + `Key=ParameterType,Value=LicenseKey`

1. **파라미터 생성(Create parameter)**을 선택합니다.

1. 파라미터 목록에서 방금 생성한 파라미터 이름을 선택합니다. **개요** 탭에서 세부 정보를 확인합니다. `SecureString` 파라미터를 생성한 경우 [**표시(Show)**]를 선택하여 암호화되지 않은 값을 확인합니다.

**참고**  
고급 파라미터는 표준 파라미터로 변경할 수 없습니다. 고급 파라미터가 더 이상 필요하지 않거나 더 이상 고급 파라미터에 요금을 부과하지 않으려면 파라미터를 삭제하고 새 표준 파라미터로 다시 생성합니다.

**참고**  
콘솔을 사용하여 기존 파라미터의 유형을 변경(예: `String`에서 `SecureString`으로)할 수 없습니다. 파라미터 유형을 변경하려면 AWS CLI 또는 SDK에서 `--overwrite` 옵션을 사용해야 합니다. 자세한 내용은 [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` 형식 파라미터를 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

------
#### [ 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) 섹션을 참조하세요.

   AMI ID를 포함하는 파라미터를 생성하는 경우에만 `--data-type` 옵션을 지정해야 합니다. 입력한 파라미터 값이 올바른 형식의 Amazon Elastic Compute Cloud(Amazon EC2) AMI ID인지 검증합니다. 다른 모든 파라미터의 경우 기본 데이터 형식은 `text`이며 값을 지정하는 것은 옵션입니다. 자세한 내용은 [Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용](parameter-store-ec2-aliases.md) 섹션을 참조하세요.
**중요**  
성공할 경우 명령은 파라미터의 버전 번호를 반환합니다. **예외**: `aws:ec2:image`를 데이터 형식으로 지정한 경우 응답에서 새 버전 번호는 파라미터 값이 이미 검증되었음을 의미하지는 않습니다. 자세한 내용은 [Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용](parameter-store-ec2-aliases.md) 섹션을 참조하세요.

   다음 예제에서는 두 개의 키-값 페어 태그를 파라미터에 추가합니다.

------
#### [ 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"
```

파라미터 값만 검색하려면 다음 명령을 실행합니다.

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

`get-parameters`를 사용하여 파라미터 값만 검색하려면 다음 명령을 실행합니다.

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

다음 명령을 실행하여 파라미터 메타데이터를 확인합니다.

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

**참고**  
*이름*은 대문자여야 합니다.

시스템은 다음과 같은 정보를 반환합니다.

```
{
    "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. 다음 명령을 실행하여 파라미터를 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

------
#### [ 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"
   ```

------
**참고**  
성공할 경우 명령은 파라미터의 버전 번호를 반환합니다.

   이 예제는 두 개의 키-값 페어 태그를 파라미터에 추가합니다. 로컬 시스템의 운영 체제 유형에 따라 다음 명령 중 하나를 실행합니다. 로컬 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` 파라미터를 생성하려면 다음 절차에 따르십시오. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

**중요**  
`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 Developer Guide*의 [Identifying symmetric and asymmetric KMS keys](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 Developer Guide*의 [AWS Key Management Service Concepts](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 Management Console 또는 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 Developer Guide*의 [Authentication and Access Control for 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 파일에 내용을 포함하고 `\n`과 같은 줄 바꿈 문자를 사용하여 `--cli-input-json` 옵션을 사용할 수 있습니다.

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. 다음 명령을 실행하여 일반 텍스트 값을 포함하는 파라미터를 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

   ```
   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
   ```

   AMI ID를 포함하는 파라미터를 생성하는 경우에만 `-DataType` 옵션을 지정해야 합니다. 다른 모든 파라미터의 경우 기본 데이터 유형은 `text`입니다. 자세한 내용은 [Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용](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 파라미터를 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.
**참고**  
태그가 있는 파라미터를 생성하려면 변수로 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 Developer Guide*의 [Identifying symmetric and asymmetric KMS keys](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. 다음 명령을 실행하여 파라미터를 생성합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.
**참고**  
태그가 있는 파라미터를 생성하려면 우선 변수로 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` 파라미터를 제거합니다.

   다음은 암호 파라미터 및 AWS 관리형 키에 난독화된 이름(3l3vat3131)을 사용하는 예입니다.

   ```
   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 Developer Guide*의 [Authentication and Access Control for 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>

계정에 많은 수의 파라미터가 있는 경우 한 번에 단일 또는 여러 파라미터에 대한 정보를 찾기 어려울 수 있습니다. 이 경우 필터 도구를 사용하여 지정한 검색 조건에 따라 정보가 필요한 필터를 검색할 수 있습니다. 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS 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` 명령을 사용하여 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*는 계정에서 생성된 `SecureString` 파라미터를 암호화하는 데 사용되는 AWS Key Management Service(AWS KMS) 키의 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>

파라미터 정책은 만료 날짜 또는 *유지 시간(TTL)*과 같이 파라미터에 대한 특정 기준을 지정할 수 있도록 허용으로써 증가하는 파라미터 집합을 관리하는 데 도움이 됩니다. 파라미터 정책은 특히 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>  | 

파라미터에 여러 정책을 할당할 수 있습니다. 예를 들어 시스템에서 파라미터가 곧 삭제됨을 알리는 EventBridge 이벤트를 시작하도록 `Expiration` 및 `ExpirationNotification` 정책을 할당할 수 있습니다. 파라미터에 최대 10개의 정책을 할당할 수 있습니다.

다음 예에서는 `ProdDB3`이라는 새 `SecureString` 파라미터에 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 정책을 포함하도록 업데이트할 파라미터 옆의 옵션을 선택한 다음 **편집**을 선택합니다.

1. **고급**을 선택합니다.

1. (선택 사항) **파라미터 정책** 섹션에서 **활성**을 선택합니다. 이 파라미터에 대한 만료 날짜와 하나 이상의 알림 정책을 지정할 수 있습니다.

1. **변경 사항 저장**을 선택합니다.

**중요**  
Parameter Store은 정책을 새 정책으로 덮어쓰거나 정책을 제거할 때까지 파라미터에 대한 정책을 보존합니다.
기존 파라미터에서 모든 정책을 제거하려면 다음과 같이 파라미터를 편집하고 대괄호 및 중괄호를 사용하여 빈 정책을 적용하십시오. `[{}]` 
이미 정책이 있는 파라미터에 새 정책을 추가하면 Systems Manager가 파라미터에 연결된 정책을 덮어씁니다. 기존 정책은 삭제됩니다. 이미 하나 이상의 정책이 있는 파라미터에 새 정책을 추가하려면 원래 정책을 복사하여 붙여넣고 새 정책을 입력한 다음 변경 사항을 저장합니다.

### 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. 다음 명령을 실행하여 기존 파라미터에 정책을 추가합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

------
#### [ 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` 정책이 포함됩니다. 다음은 암호 및 AWS Key Management Service AWS KMS key에 난독화된 이름(`3l3vat3131`)을 사용하는 예입니다. AWS KMS keys에 대한 자세한 내용은 *AWS Key Management Service Developer Guide*의 [AWS Key Management Service Concepts](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은 정책을 새 정책으로 덮어쓰거나 정책을 제거할 때까지 파라미터에 대한 정책을 보유합니다.
기존 파라미터에서 모든 정책을 제거하려면 파라미터를 편집하고 대괄호 및 중괄호로 빈 정책을 적용하십시오. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다. 예:  

  ```
  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가 파라미터에 연결된 정책을 덮어씁니다. 기존 정책은 삭제됩니다. 이미 하나 이상의 정책이 있는 파라미터에 새 정책을 추가하려면 원래 정책을 복사하여 붙여넣고 새 정책을 입력한 다음 변경 사항을 저장합니다.

### 기존 파라미터에 정책 추가(Tools for Windows PowerShell)
<a name="sysman-paramstore-policy-create-ps"></a>

Tools for Windows PowerShell을 사용하여 기존 파라미터에 정책을 추가하려면 다음 절차를 사용합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

**기존 파라미터에 정책을 추가하려면**

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. 다음 명령을 실행하여 기존 파라미터에 정책을 추가합니다. 각 *example resource placeholder*를 사용자의 정보로 바꿉니다.

   ```
   Write-SSMParameter `
       -Name "parameter name" `
       -Value "parameter value" `
       -Type "parameter type" `
       -Policies "[{policies-enclosed-in-brackets-and-curly-braces}]" `
       -Overwrite
   ```

   다음은 2020년 5월 13일 자정(GMT)에 파라미터를 삭제하는 만료 정책을 포함하는 예제입니다. 이 예제에는 파라미터가 삭제되기 5일 전에 EventBridge 이벤트를 생성하는 알림 정책도 포함되어 있습니다. 마지막으로 60일 후에 이 파라미터를 변경하지 않으면 `NoChangeNotification` 정책이 포함됩니다. 다음은 암호 및 AWS 관리형 키에 난독화된 이름(`3l3vat3131`)을 사용하는 예입니다.

   ```
   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가 파라미터에 연결된 정책을 덮어씁니다. 기존 정책은 삭제됩니다. 이미 하나 이상의 정책이 있는 파라미터에 새 정책을 추가하려면 원래 정책을 복사하여 붙여넣고 새 정책을 입력한 다음 변경 사항을 저장합니다.

# 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>

다음 예제에서는 이름에서 세 가지 계층 구조 수준을 사용하여 다음을 식별합니다.

`/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>

계층 구조 사용의 또 한 가지 장점은 [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. 다음 명령을 실행하여 두 가지 파라미터의 값을 가져옵니다.

------
#### [ 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>

Systems Manager for AWS Identity and Access Management(IAM) 정책에서 지원하는 서비스별 **[조건](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와 관련된 세 가지 조건을 지원합니다.

**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"` 문은 미국 동부(오하이오) 리전의 AWS 계정 123456789012(us-east-2)에서 `PutParameter` API 작업을 실행하여 파라미터를 생성할 수 있는 권한을 부여합니다.

그러나 `PutParameter` 작업에 대해 `Overwrite` 옵션이 명시적으로 거부되기 때문에 `"Deny"` 문은 엔터티가 **기존 파라미터의 값을 변경하지 못하게 합니다. 즉, 이 정책이 할당된 사용자는 파라미터를 만들 수 있지만 기존 파라미터를 변경할 수는 없습니다.

------
#### [ 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에서 버전 번호를 하나씩 늘려서 새 버전을 저장합니다. 레이블이 있으면 파라미터 버전이 여러 개일 때 버전의 용도를 기억하기 쉽습니다.

예를 들어, `/MyApp/DB/ConnectionString`이라는 파라미터가 있다고 가정해 보겠습니다. 이 파라미터의 값은 테스트 환경의 로컬 데이터베이스에 있는 MySQL 서버에 대한 연결 문자열입니다. 애플리케이션 업데이트가 끝나면 이 파라미터가 프로덕션 데이터베이스에 대한 연결 문자열을 사용하도록 해야 합니다. `/MyApp/DB/ConnectionString`의 값을 변경합니다. Systems Manager에서 새 연결 문자열로 버전 2를 자동으로 생성합니다. 각 버전의 용도를 기억하기 쉽게 각각의 파라미터에 레이블을 부착합니다. 버전 1에는 *테스트* 레이블을, 버전 2에는 *프로덕션* 레이블을 부착합니다.

파라미터 버전 간에 레이블을 이동할 수 있습니다. 예를 들어 새 프로덕션 데이터베이스의 연결 문자열로 `/MyApp/DB/ConnectionString` 파라미터 버전 3을 생성한 다음, 파라미터 버전 2의 [*프로덕션(Production)*] 레이블을 파라미터 버전 3으로 옮길 수 있습니다.

파라미터 레이블은 파라미터 태그에 비해 간단한 대안입니다. 태그의 경우, 다양한 AWS 리소스에 반드시 적용해야 하는 해당 조직의 엄격한 태그 기준이 있을 수도 있습니다. 그러나 레이블은 특정 파라미터 버전에 대한 텍스트 연결에 불과합니다.

태그와 마찬가지로, 레이블로도 파라미터를 쿼리할 수 있습니다. 이 섹션 후반부의 설명에 따라 [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html) API 작업을 사용하여 파라미터 집합을 쿼리하면 모두 동일한 레이블을 사용하는 특정한 파라미터 버전 목록이 표시됩니다.

**참고**  
존재하지 않는 파라미터의 버전을 지정하는 명령을 실행하면 명령이 실패합니다. 파라미터의 최신 값이나 기본값으로 폴백되지 않습니다.

**레이블 요구 사항 및 제한**

파라미터 레이블의 요구 및 제한 사항은 다음과 같습니다.
+ 파라미터 버전 하나에 레이블을 최대 10개 지정할 수 있습니다.
+ 동일 파라미터의 서로 다른 버전에 동일한 레이블을 부착할 수 없습니다. 예를 들어 파라미터의 버전 1에 *프로덕션* 레이블이 있으면 버전 2에는 *프로덕션*을 부착할 수 없습니다.
+ 파라미터 버전 간에 레이블을 이동할 수 있습니다.
+ 파라미터를 생성할 때 레이블을 함께 생성할 수 없습니다. 레이블은 특정 파라미터 버전에 부착해야 합니다.
+ 사용하지 않을 파라미터 레이블은 다른 파라미터 버전으로 옮기거나 삭제할 수 있습니다.
+ 레이블은 최대 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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 파라미터 이름을 선택하여 해당 파라미터의 세부 정보 페이지를 엽니다.

1. **기록** 탭을 선택합니다.

1. 레이블을 부착할 파라미터 버전을 선택합니다.

1. [**레이블 관리(Manage labels)**]를 선택합니다.

1. [**새 레이블 추가(Add new label)**를 선택합니다.

1. 텍스트 상자에 레이블 이름을 입력합니다. 레이블을 더 추가하려면 [**새 레이블 추가(Add new label)**]를 선택합니다. 레이블을 최대 열 개까지 부착할 수 있습니다.

1. 작업을 마쳤으면 **변경 내용 저장**을 선택합니다.

### 콘솔을 사용하여 파라미터에 연결된 레이블 보기
<a name="sysman-paramstore-labels-console-view"></a>

파라미터 버전 하나에 레이블을 최대 열 개까지 지정할 수 있습니다. 다음 절차에서는 Systems Manager 콘솔을 사용하여 파라미터 버전에 부착된 모든 레이블을 보는 방법을 설명합니다.

**파라미터 버전에 부착된 레이블을 보려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 파라미터 이름을 선택하여 해당 파라미터의 세부 정보 페이지를 엽니다.

1. **기록** 탭을 선택합니다.

1. 부착된 모든 레이블을 볼 파라미터 버전을 찾습니다. **레이블** 열에 해당 파라미터 버전에 부착된 레이블이 모두 표시됩니다.

### 콘솔을 사용하여 파라미터 레이블 이동
<a name="sysman-paramstore-labels-console-move"></a>

다음 절차에서는 Systems Manager 콘솔을 사용하여 같은 파라미터의 다른 버전으로 파라미터 레이블을 옮기는 방법을 설명합니다.

**레이블을 다른 파라미터 버전으로 옮기려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 파라미터 이름을 선택하여 해당 파라미터의 세부 정보 페이지를 엽니다.

1. **기록** 탭을 선택합니다.

1. 레이블을 이동할 파라미터 버전을 선택합니다.

1. [**레이블 관리(Manage labels)**]를 선택합니다.

1. [**새 레이블 추가(Add new label)**를 선택합니다.

1. 텍스트 상자에 레이블 이름을 입력합니다.

1. 작업을 마쳤으면 **변경 내용 저장**을 선택합니다.

### 콘솔을 사용하여 파라미터 레이블 삭제
<a name="systems-manager-parameter-store-labels-console-delete"></a>

다음 절차에서는 Systems Manager 콘솔을 사용하여 하나 이상의 파라미터 레이블을 삭제하는 방법을 설명합니다.

**파라미터에서 레이블을 삭제하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 파라미터 이름을 선택하여 해당 파라미터의 세부 정보 페이지를 엽니다.

1. **기록** 탭을 선택합니다.

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. 다음 명령 중 하나를 실행하여 파라미터 버전에 레이블을 부착합니다. 레이블을 여러 개 부착하는 경우 레이블 이름을 공백으로 구분합니다.

   **최신 파라미터 버전에 레이블 부착**

   ```
   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"
       }
   }
   ```
**참고**  
이 출력에서 *선택자*는 `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 작업으로 특정 레이블에 할당된 경로의 전체 파라미터 목록을 볼 수 있습니다.

다음 명령을 실행하여 특정 레이블에 할당된 경로의 파라미터 목록을 봅니다. *example resource placeholder*를 사용자의 정보로 바꿉니다.

```
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. 다음 명령을 실행하여 기존 레이블을 파라미터의 다른 버전에 할당합니다. *example resource placeholder*를 사용자의 정보로 바꿉니다.

   ```
   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. 다음 명령을 실행하여 해당 파라미터에서 선택한 레이블을 삭제합니다. *example resource placeholder*를 사용자의 정보로 바꿉니다.

   ```
   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 Reference*의 [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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Parameter Store**를 선택합니다.

1. 앞서 생성한 파라미터 이름을 선택합니다. 새 파라미터 생성에 대한 자세한 내용은 [Systems Manager에서 Parameter Store 파라미터 생성](sysman-paramstore-su-create.md) 섹션을 참조하세요.

1. **편집**을 선택합니다.

1. [**값(Value)**] 상자에 새 값을 입력한 다음 [**변경 사항 저장(Save changes)**]을 선택합니다.

1. 방금 업데이트한 파라미터의 이름을 선택합니다. **개요** 탭에서 버전 번호가 1만큼 증가했는지 확인하고 새 값을 확인합니다.

1. 파라미터의 모든 버전 기록을 보려면 **기록** 탭을 선택합니다.

## 파라미터 버전 참조
<a name="reference-parameter-version"></a>

ssm:`parameter-name:version-number` 형식을 사용하여 명령, API 호출 및 SSM 문서에서 특정 파라미터 버전을 참조할 수 있습니다.

다음 예에서 Amazon Elastic Compute Cloud(Amazon EC2) `run-instances command`는 파라미터 `golden-ami`의 버전 3을 사용합니다.

------
#### [ 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` 및 파라미터 값은 Amazon Machine Image(AMI)를 값으로 포함하는 파라미터 및 `--image-id` 옵션에서만 사용할 수 있습니다. 자세한 내용은 [Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용](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 사용 설명서*의 [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 계정과 공유하는 경우 두 가지 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)`명령 중에서 선택할 수 있습니다.

`describe-parameters`와 함께 `--shared` 옵션을 사용하면 명령이 사용자와 공유된 파라미터를 반환합니다.

다음은 예제입니다.

```
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) 명령을 사용할 수 있습니다. 다른 계정에서 파라미터를 검색하려면 전체 파라미터 ARN을 `--name`으로 지정해야 합니다.

다음은 예입니다.

```
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에서 리소스 공유를 생성할 때 두 개의 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) 작업에 대한 최대 처리량(초당 트랜잭션 수)을 제한합니다. 처리량은 개별 계정 수준에서 적용됩니다. 따라서 공유 파라미터를 사용하는 각 계정은 다른 계정의 영향을 받지 않으면서 최대 허용 처리량을 사용할 수 있습니다. 파라미터 최대 처리량에 대한 자세한 내용은 다음 항목을 참조하세요.
+ [Parameter Store 처리량 증가](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-throughput.html)
+ [Amazon Web Services 일반 참조의 Systems Manager 서비스 할당량](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm)

## 공유 파라미터 요금
<a name="pricing"></a>

계정 간 공유는 고급 파라미터 티어에서만 사용할 수 있습니다. 고급 파라미터의 경우 각 고급 파라미터의 스토리지 및 API 사용량에 대해 현재 가격으로 요금이 부과됩니다. 고급 파라미터 저장은 소유 계정에 요금이 부과됩니다. 공유된 고급 파라미터에 대해 API를 호출하는 모든 소비 계정에 파라미터 사용 요금이 청구됩니다.

예를 들어 계정 A가 고급 파라미터 `MyAdvancedParameter`를 생성한 경우 해당 계정에 파라미터 저장 요금이 매월 0.05 USD 청구됩니다.

그다음 계정 A가 계정 B 및 계정 C와 `MyAdvancedParameter`를 공유합니다. 한 달 동안 세 계정이 `MyAdvancedParameter`를 호출합니다. 다음 표는 각 호출 횟수에 따라 발생하는 요금을 보여줍니다.

**참고**  
다음 표의 요금은 설명을 돕기 위한 것입니다. 현재 가격을 확인하려면 [Parameter Store의 AWS Systems Manager 가격 책정](https://aws.amazon.com/systems-manager/pricing/#Parameter_Store)을 참조하세요.


| Account | 호출 횟수 | 요금 | 
| --- | --- | --- | 
| 계정 A(소유 계정) | 호출 10,000회 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/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/ko_kr/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/ko_kr/systems-manager/latest/userguide/parameter-store-shared-parameters.html)  | 

## 해지된 AWS 계정에 대한 크로스 계정 액세스
<a name="closed-accounts"></a>

공유 파라미터를 소유한 AWS 계정이 해지되면 모든 소비 계정은 공유 파라미터에 대한 액세스 권한을 잃게 됩니다. 계정이 해지된 후 90일 이내에 소유 계정을 다시 열면 소비 계정은 이전에 공유한 파라미터에 다시 액세스할 수 있습니다. 해지 후 기간 동안 계정 다시 열기에 대한 자세한 내용은 AWS Account Management 참조 안내서의 [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) 섹션을 참조하세요.

## 콘솔을 사용하여 문자열 파라미터 실행
<a name="param-test-console"></a>

다음 절차는 `String` 파라미터를 사용하는 명령을 실행하는 과정을 안내합니다.

**Parameter Store를 사용하여 문자열 파라미터를 실행하려면**

1. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS Systems Manager 콘솔을 엽니다.

1. 탐색 창에서 **Run Command**를 선택합니다.

1. **Run command**(실행 명령)를 선택합니다.

1. **명령 문서** 목록에서 `AWS-RunPowerShellScript`(Windows) 또는 `AWS-RunShellScript`(Linux)를 선택합니다.

1. **Command parameters(명령 파라미터)**에 **echo \$1\$1ssm:*parameter-name*\$1\$1**를 입력합니다. 예를 들면 **echo \$1\$1ssm:/Test/helloWorld\$1\$1**입니다.

1. **대상** 섹션에서, 태그를 지정하거나, 수동으로 인스턴스나 엣지 디바이스를 선택하거나, 리소스 그룹을 지정하여 이 작업을 실행할 관리형 노드를 식별합니다.
**작은 정보**  
예상한 관리형 노드가 목록에 없으면 [관리형 노드 가용성 문제 해결](fleet-manager-troubleshooting-managed-nodes.md)에서 문제 해결 팁을 참조하세요.

1. **Other parameters**(다른 파라미터):
   + **Comment**(설명)에 명령에 대한 정보를 입력합니다.
   + **제한 시간(초)**에서 전체 명령 실행이 실패할 때까지 시스템이 기다리는 시간을 초 단위로 지정합니다.

1. **Rate control**(속도 제어)에서
   + **Concurrency**(동시성)에서 명령을 동시에 실행할 관리형 노드의 백분율 또는 개수를 지정합니다.
**참고**  
관리형 노드에 적용할 태그를 지정하거나, AWS 리소스 그룹을 지정하여 대상을 선택하였지만 대상으로 지정할 관리형 노드 수를 잘 모를 경우에는 백분율을 지정하여 동시에 문서를 실행할 수 있는 대상 수를 제한합니다.
   + **Error threshold**(오류 임계값)에서, 명령이 노드의 개수 또는 백분율에서 실패한 후 다른 관리형 노드에서 해당 명령의 실행을 중지할 시간을 지정합니다. 예를 들어 세 오류를 지정하면 네 번째 오류를 받았을 때 Systems Manager가 명령 전송을 중지합니다. 여전히 명령을 처리 중인 관리형 노드도 오류를 전송할 수 있습니다.

1. (선택 사항) **Output options**(출력 옵션)에서 명령 출력을 파일에 저장하려면 **Write command output to an S3 bucket**(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. **명령 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` 파라미터에 대한 참조를 지원하지 않습니다. 다시 말해 `SecureString` 등과 함께 Run Command 파라미터를 사용하기 위해서는 다음 예제에서와 같이 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
```

# Parameter Store의 네이티브 파라미터 지원을 Amazon Machine Image ID에 사용
<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) `run-instances` 명령을 실행할 때 선호하는 AMI 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 사용 설명서*의 [AMI를 찾기 위해 Systems Manager 파라미터 사용](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/finding-an-ami.html#using-systems-manager-parameter-to-find-AMI)을 참조하세요.

인스턴스 생성 워크플로에서 다른 AMI를 사용해야 하는 경우 파라미터를 새 AMI 값으로 업데이트만 하면 되며 Parameter Store는 올바른 형식의 ID를 입력했는지 다시 검증합니다.

## `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` 권한이 모두 있어야 합니다.

다음 예제 정책은 사용자에게 `aws:ec2:image`에 대한 `PutParameter` 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 계정에서 사용할 수 있는지 확인합니다.

검증 작업이 완료되기 전에 파라미터 버전 번호가 생성될 수 있습니다. 파라미터 버전 번호가 생성되더라도 작업이 완료되지 않을 수 있습니다.

파라미터가 생성되었는지 모니터링하려면 Amazon EventBridge를 사용하여 파라미터 작업의 `create` 및 `update`에 대한 알림을 받는 것이 좋습니다. 이러한 알림은 파라미터 작업의 성공 여부를 보고합니다. 작업이 실패하는 경우 실패의 원인을 나타내는 오류 메시지가 알림에 포함되어 있습니다. 

```
{
    "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. **내 파라미터(My parameters)** 탭에서 삭제할 각 파라미터 옆의 확인란을 선택합니다.

1. **Delete**(삭제)를 선택합니다.

1. 확인 대화 상자에서 **파라미터 삭제(Delete parameters)**를 선택합니다.

**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, 리전, 엔드포인트, 가용 영역, 로컬 영역, Wavelength 영역에 대한 AWS 서비스 퍼블릭 파라미터 호출](parameter-store-public-parameters-global-infrastructure.md)

**관련 AWS 블로그 게시물**  
+ [AWS Systems ManagerParameter Store를 사용하여 AWS 리전, 엔드포인트 등 쿼리](https://aws.amazon.com/blogs/aws/new-query-for-aws-regions-endpoints-and-more-using-aws-systems-manager-parameter-store/)
+ [AWS Systems ManagerParameter Store를 사용하여 최신 Amazon Linux AMI ID 쿼리](https://aws.amazon.com/blogs/compute/query-for-the-latest-amazon-linux-ami-ids-using-aws-systems-manager-parameter-store/)
+ [AWS Systems ManagerParameter Store를 사용하여 최신 Windows AMI 쿼리](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. [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)에서 AWS 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`입니다. 경로는 한 수준(지정된 정확한 값과 일치하는 파라미터만 호출) 또는 재귀적(지정한 것 이상의 경로에 요소 포함)일 수 있습니다.

**참고**  
일부 리전에서는 쿼리에 `/aws/service/global-infrastructure` 경로가 지원되지 않습니다. 자세한 내용은 [Parameter Store, 리전, 엔드포인트, 가용 영역, 로컬 영역, Wavelength 영역에 대한 AWS 서비스 퍼블릭 파라미터 호출](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"
]
```

다음 명령을 사용하여 AMI ID 및 Amazon 리소스 이름(ARN)을 포함하여 이러한 AMIs에 대한 세부 정보를 볼 수 있습니다.

------
#### [ 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 리전의 식별자를 나타냅니다. 지원되는 *리전* 값 목록은 **Amazon Web Services 일반 참조의 [Systems Manager 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_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 이름과 함께 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 작업을 사용하여 특정 AMI의 세부 정보를 볼 수 있습니다. 다음은 명령 예제입니다.

------
#### [ 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": []
}
```

## macOS에 대한 AMI 퍼블릭 파라미터 호출
<a name="public-parameters-ami-macos"></a>

AWS CLI에서 다음 명령을 사용하여 현재 AWS 리전의 모든 macOS AMIs 목록을 볼 수 있습니다.

------
#### [ 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"
]
```

다음 명령을 사용하여 AMI ID 및 Amazon 리소스 이름(ARN)을 포함하여 이러한 AMIs에 대한 세부 정보를 볼 수 있습니다.

------
#### [ 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 리전의 식별자를 나타냅니다. 지원되는 *리전* 값 목록은 **Amazon Web Services 일반 참조의 [Systems Manager 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region)에 있는 **리전** 열을 참조하세요.

명령은 다음과 같은 정보를 반환합니다. 이 예제 출력은 공백을 위해 잘렸습니다.

```
{
    "Parameters": [
        ...sample results pending...
    ]
}
```

경로를 포함하여 전체 AMI 이름과 함께 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 작업을 사용하여 특정 AMI의 세부 정보를 볼 수 있습니다. 다음은 명령 예제입니다.

------
#### [ 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": []
}
```

## Windows Server에 대한 AMI 퍼블릭 파라미터 호출
<a name="public-parameters-ami-windows"></a>

AWS CLI에서 다음 명령을 사용하여 현재 AWS 리전의 모든 Windows Server AMIs 목록을 볼 수 있습니다.

------
#### [ 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
]
```

다음 명령을 사용하여 AMI ID 및 Amazon 리소스 이름(ARN)을 포함하여 이러한 AMIs에 대한 세부 정보를 볼 수 있습니다.

------
#### [ 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 리전의 식별자를 나타냅니다. 지원되는 *리전* 값 목록은 **Amazon Web Services 일반 참조의 [Systems Manager 서비스 엔드포인트](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_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 이름과 함께 [GetParameters](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameters.html) API 작업을 사용하여 특정 AMI의 세부 정보를 볼 수 있습니다. 다음은 명령 예제입니다.

------
#### [ 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)의 이름을 퍼블릭 파라미터로 게시합니다. 최적화된 AMIs에는 버그 수정 및 기능 업데이트가 포함되므로 Amazon ECS용 새 Amazon Elastic Compute Cloud(Amazon EC2) 클러스터를 생성할 때 이 AMI를 사용하는 것이 좋습니다.

Amazon Linux 2용 최신 Amazon ECS에 최적화된 AMI의 이름을 보려면 다음 명령을 사용합니다. 다른 운영 체제의 명령을 보려면 *Amazon Elastic Container Service Developer Guide*의 [Retrieving Amazon ECS-Optimized AMI metadata](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, 리전, 엔드포인트, 가용 영역, 로컬 영역, Wavelength 영역에 대한 AWS 서비스 퍼블릭 파라미터 호출
<a name="parameter-store-public-parameters-global-infrastructure"></a>

다음 경로를 사용하여 AWS 리전, 서비스, 엔드포인트, 가용성 및 퍼블릭 파라미터의 Wavelength Zone을 호출할 수 있습니다.

`/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 Command Line Interface(AWS CLI)에서 다음 명령을 사용하여 모든 활성 AWS 리전 목록을 볼 수 있습니다.

------
#### [ 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"
```

**단일 리전의 가용 영역 이름 보기**  
다음 명령을 사용하여 한 리전(이 예제의 경우 `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로 파라미터를 생성, 저장 및 실행하는 방법을 보여줍니다. 이 시연에서는 Parameter Store를 다른 Systems Manager 도구와 함께 사용하는 방법을 보여줍니다. 다른 AWS 서비스와(과) 함께 Parameter Store을(를) 사용할 수도 있습니다. 자세한 내용은 [파라미터란 무엇인가요?](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. 다음 AWS Identity and Access Management(IAM) 정책을 노드에 대한 IAM 역할 권한에 연결합니다.
   + **AmazonSSMManagedInstanceCore** - 필수. 이 AWS 관리형 정책을 사용하면 관리형 노드가 Systems Manager 서비스 핵심 기능을 사용할 수 있습니다.
   + **AmazonSSMDirectoryServiceAccess** - 필수. 이 AWS 관리형 정책은 SSM Agent가 관리형 노드의 도메인 조인 요청을 위해 사용자 대신 AWS Directory Service에 액세스하도록 허용합니다.
   + **Amazon Simple Storage Service(Amazon 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 User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/)*와 *[Amazon CloudWatch Logs User Guide](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 텍스트를 복사하여 텍스트 편집기에 붙여넣은 다음 이 파일을 `c:\temp\JoinInstanceToDomain.json` 위치에 `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 로그는 하나의 버킷을 사용합니다. 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 인스턴스를 생성하는 데 필요한 모든 권한(예: `ec2:RunInstances`, `ec2:DescribeImages`, `ssm:GetParameter` 등에 대한 권한)이 없습니다. 조직의 관리자 권한을 가진 사용자에게 문의하여 필요한 권한을 요청합니다.

### EventBridge에서 “리소스를 설명할 수 없음(Unable to Describe Resource)”라는 실패 메시지를 보고합니다.
<a name="ps-ec2-aliases-1"></a>

**문제**: `aws:ec2:image` 파라미터를 생성하는 명령을 실행했지만 파라미터를 생성하지 못했습니다. Amazon EventBridge로부터 “리소스를 설명할 수 없음(Unable to Describe Resource)”라는 예외를 보고하는 알림을 받습니다.

**해결 방법**: 이러한 메시지를 받는 이유는 다음 경우일 수 있습니다.
+ `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분이 지난 후에 다시 시도할 수 있습니다.