공유 파라미터 작업 - AWS Systems Manager

공유 파라미터 작업

고급 파라미터를 공유하면 다중 계정 환경에서 구성 데이터 관리가 간소화됩니다. 파라미터를 중앙에서 저장 및 관리하고 이를 참조해야 하는 다른 AWS 계정와 공유할 수 있습니다.

Parameter Store가 AWS Resource Access Manager(AWS RAM)와 통합되어 고급 파라미터 공유가 가능합니다. AWS RAM은 리소스를 다른 AWS 계정과 공유하거나 AWS Organizations을 통해 공유할 수 있는 서비스입니다.

AWS RAM(을)를 사용하면 리소스 공유를 생성하여 내 소유의 리소스를 공유할 수 있습니다. 리소스 공유는 공유할 리소스, 부여할 권한, 공유 대상 소비자를 지정합니다. 소비자에는 다음이 포함될 수 있습니다.

  • AWS 계정의 조직 내부 또는 외부의 특정 AWS Organizations.

  • AWS Organizations에서 조직 내부의 조직 단위

  • AWS Organizations의 전체 조직

AWS RAM에 대한 자세한 내용은 AWS RAM 사용 설명서를 참조하세요.

이 항목에서는 소유한 파라미터를 공유하는 방법과 사용자와 공유 파라미터를 사용하는 방법을 설명합니다.

파라미터 공유를 위한 사전 조건

계정에서 파라미터를 공유하려면 다음 사전 조건을 충족해야 합니다.

  • 파라미터를 공유하려면 AWS 계정에 소유하고 있어야 합니다. 공유 받은 파라미터는 공유할 수 없습니다.

  • 파라미터를 공유하려면 해당 파라미터가 고급 파라미터 티어에 속해야 합니다. 파라미터 티어에 대한 자세한 내용은 파라미터 티어 관리 섹션을 참조하세요. 기존 표준 파라미터를 고급 파라미터로 변경하는 방법에 대한 자세한 내용은 표준 파라미터를 고급 파라미터로 변경 섹션을 참조하세요.

  • SecureString 파라미터를 공유하려면 고객 관리 키로 암호화해야 하며, AWS Key Management Service를 통해 키를 별도로 공유해야 합니다. AWS 관리형 키는 공유할 수 없습니다. 기본 AWS 관리형 키로 암호화된 파라미터를 업데이트하여 고객 관리형 키를 대신 사용할 수 있습니다. AWS KMS 키 정의는 AWS Key Management Service 개발자 안내서의 AWS KMS 개념을 참조하세요.

  • 파라미터를 AWS Organizations의 조직 또는 조직 단위와 공유하려면, AWS Organizations와의 공유를 활성화해야 합니다. 자세한 내용은 AWS RAM 사용 설명서AWS Organizations과(와) 공유 활성화를 참조하세요.

파라미터 공유

파라미터를 공유하려면 리소스 공유에 추가해야 합니다. 리소스 공유는 AWS 계정 전반에서 리소스를 공유할 수 있게 해주는 AWS RAM 리소스입니다. 리소스 공유는 공유할 리소스와 공유 대상 소비자를 지정합니다.

소유한 파라미터를 다른 AWS 계정과 공유하는 경우 두 가지 AWS 관리형 권한 중에서 선택하고 소비자에게 부여할 수 있습니다. 자세한 내용은 파라미터 공유를 위한 권한 세트 단원을 참조하십시오.

AWS Organizations의 조직에 속해 있고 조직 내의 공유가 활성화되어 있으면, 조직의 소비자에게 AWS RAM 콘솔에서 공유 파라미터에 대한 액세스 권한을 부여할 수 있습니다. 그렇지 않으면 소비자는 리소스 공유에 가입하라는 초대장을 받고 초대를 수락한 후 공유 파라미터에 대한 액세스 권한을 받습니다.

AWS RAM 콘솔이나 AWS CLI를 사용하여 자신이 소유한 파라미터를 공유할 수 있습니다.

참고

Systems Manager PutResourcePolicy API 작업을 사용하여 파라미터를 공유할 수 있지만, 대신 AWS Resource Access Manager(AWS RAM)를 사용하는 것이 좋습니다. PutResourcePolicy를 사용하려면 AWS RAM PromoteResourceShareCreatedFromPolicy API 작업을 사용하여 파라미터를 표준 리소스 공유로 승격하는 추가 단계가 필요하기 때문입니다. 그러지 않으면 --shared 옵션을 사용하는 Systems Manager DescribeParameters API 작업에서 파라미터를 반환하지 않습니다.

AWS RAM 콘솔을 사용하여 소유한 파라미터를 공유하려면

AWS RAM 사용 설명서의 Creating a resource share in AWS RAM을 참조하세요.

절차를 완료할 때 다음을 선택합니다.

  • 1단계 페이지의 리소스에서 Parameter Store Advanced Parameter를 선택하고 고급 파라미터 계층에서 공유하려는 각 파라미터 상자를 선택합니다.

  • 2단계 페이지의 관리 권한에서 소비자에게 부여할 권한을 선택합니다(이 주제의 뒷부분에 나오는 파라미터 공유를 위한 권한 세트 참조).

파라미터 공유 목표에 따라 다른 옵션을 선택합니다.

AWS CLI를 사용하여 소유한 파라미터를 공유하려면

create-resource-share 명령을 사용하여 새 리소스 공유에 파라미터를 추가합니다.

associate-resource-share 명령을 사용하여 기존 리소스 공유에 파라미터를 추가합니다.

다음 예제에서는 새 리소스 공유를 만들어 조직 및 개별 계정의 소비자와 파라미터를 공유합니다.

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"

공유 파라미터 공유 중지

공유 파라미터의 공유를 중지하면 소비자 계정이 더 이상 파라미터에 액세스할 수 없습니다.

소유한 파라미터의 공유를 중지하려면 리소스 공유에서 제거해야 합니다. 이를 위해 Systems Manager 콘솔, AWS RAM 콘솔 또는 AWS CLI를 사용할 수 있습니다.

AWS RAM 콘솔을 사용하여 소유한 파라미터 공유를 중지하려면

AWS RAM 사용 설명서의 AWS RAM에서 리소스 공유 업데이트를 참조하세요.

AWS CLI를 사용하여 소유한 파라미터 공유를 중지하려면

disassociate-resource-share 명령을 사용합니다.

공유 파라미터 식별

소유자와 소비자는 AWS CLI를 사용하여 공유된 파라미터를 식별할 수 있습니다.

AWS CLI를 사용하여 공유 파라미터를 식별하려면

AWS CLI를 사용하여 공유 파라미터를 식별하려면 Systems Manager describe-parameters 명령과 AWS RAM list-resources명령 중에서 선택할 수 있습니다.

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

다음은 그 예제입니다.

aws ssm describe-parameters --shared

공유 파라미터 액세스

소비자는 AWS 명령줄 도구 및 AWS SDK를 사용하여 공유 파라미터에 액세스할 수 있습니다. 소비자 계정의 경우 해당 계정과 공유된 파라미터는 내 파라미터 페이지에 포함되지 않습니다.

CLI 예제: AWS CLI를 사용하여 공유 파라미터 세부 정보에 액세스

AWS CLI를 사용하여 공유 파라미터 세부 정보에 액세스하려면 get-parameter 또는 get-parameters 명령을 사용할 수 있습니다. 다른 계정에서 파라미터를 검색하려면 전체 파라미터 ARN을 --name으로 지정해야 합니다.

다음은 예입니다.

aws ssm get-parameter \ --name arn:aws:ssm:us-east-2:123456789012:parameter/MySharedParameter

공유 파라미터에 지원되는 통합 및 지원되지 않는 통합

현재 다음과 같은 통합 시나리오에서 공유 파라미터를 사용할 수 있습니다.

다음 시나리오 및 통합 서비스는 현재 공유 파라미터 사용을 지원하지 않습니다.

파라미터 공유를 위한 권한 세트

소비자 계정은 공유하는 파라미터에 대한 읽기 전용 액세스 권한을 받습니다. 소비자는 파라미터를 업데이트하거나 삭제할 수 없습니다. 소비자는 파라미터를 제3의 계정과 공유할 수 없습니다.

파라미터 공유를 위해 AWS Resource Access Manager에서 리소스 공유를 생성할 때 두 개의 AWS 관리형 권한 집합 중에서 선택하여 이 읽기 전용 액세스 권한을 부여할 수 있습니다.

AWSRAMDefaultPermissionSSMParameterReadOnly

허용된 작업: DescribeParameters, GetParameter, GetParameters

AWSRAMPermissionSSMParameterReadOnlyWithHistory

허용된 작업: DescribeParameters, GetParameter, GetParameters, GetParameterHistory

AWS RAM 사용 설명서의 Creating a resource share in AWS RAM에 나온 단계를 따를 때 리소스 유형으로 Parameter Store Advanced Parameters를 선택하고, 사용자가 파라미터 기록을 볼 수 있는지에 따라 해당 관리형 권한 중 하나를 선택합니다.

공유 파라미터의 최대 처리량

Systems Manager는 GetParameterGetParameters 작업에 대한 최대 처리량(초당 트랜잭션 수)을 제한합니다. 처리량은 개별 계정 수준에서 적용됩니다. 따라서 공유 파라미터를 사용하는 각 계정은 다른 계정의 영향을 받지 않으면서 최대 허용 처리량을 사용할 수 있습니다. 파라미터 최대 처리량에 대한 자세한 내용은 다음 항목을 참조하세요.

공유 파라미터 요금

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

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

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

참고

다음 표의 요금은 설명을 돕기 위한 것입니다. 현재 가격을 확인하려면 Parameter Store의 AWS Systems Manager 가격 책정을 참조하세요.

계정 호출 횟수 요금
계정 A(소유 계정) 호출 10,000회
  • 1개월 고급 파라미터 저장: 0.05 USD

  • MyAdvancedParameter에 대한 호출 10,000회: 0.05 USD

  • 총액: 0.10 USD

계정 B(소비 계정) 호출 20,000회
  • MyAdvancedParameter에 대한 호출 20,000회: 0.10 USD

  • 총액: 0.10 USD

계정 C(소비 계정) 호출 30,000회
  • MyAdvancedParameter에 대한 호출 30,000회: 0.15 USD

  • 총액: 0.15 USD

해지된 AWS 계정에 대한 크로스 계정 액세스

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