고급 파라미터를 공유하면 다중 계정 환경에서 구성 데이터 관리가 간소화됩니다. 파라미터를 중앙에서 저장 및 관리하고 이를 참조해야 하는 다른 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
공유 파라미터에 지원되는 통합 및 지원되지 않는 통합
현재 다음과 같은 통합 시나리오에서 공유 파라미터를 사용할 수 있습니다.
-
AWS CloudFormation 템플릿 파라미터
-
Amazon Machine Image(AMI)에서 인스턴스를 생성하기 위한 EC2 RunInstances 명령의
ImageID
값 -
Systems Manager의 도구인 Automation용 런북에서 파라미터 값 검색
다음 시나리오 및 통합 서비스는 현재 공유 파라미터 사용을 지원하지 않습니다.
파라미터 공유를 위한 권한 세트
소비자 계정은 공유하는 파라미터에 대한 읽기 전용 액세스 권한을 받습니다. 소비자는 파라미터를 업데이트하거나 삭제할 수 없습니다. 소비자는 파라미터를 제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
를 선택하고, 사용자가 파라미터 기록을 볼 수 있는지에 따라 해당 관리형 권한 중 하나를 선택합니다.
참고
프로그래밍 방식으로 공유 파라미터를 검색하는 경우(예: AWS Lambda 사용) AWS Resource Access Manager API 작업을 직접 호출하는 모든 IAM 역할에 ssm:GetResourcePolicies
및 ssm:PutResourcePolicy
권한을 추가해야 할 수 있습니다.
공유 파라미터의 최대 처리량
Systems Manager는 GetParameter 및 GetParameters 작업에 대한 최대 처리량(초당 트랜잭션 수)을 제한합니다. 처리량은 개별 계정 수준에서 적용됩니다. 따라서 공유 파라미터를 사용하는 각 계정은 다른 계정의 영향을 받지 않으면서 최대 허용 처리량을 사용할 수 있습니다. 파라미터 최대 처리량에 대한 자세한 내용은 다음 항목을 참조하세요.
공유 파라미터 요금
계정 간 공유는 고급 파라미터 티어에서만 사용할 수 있습니다. 고급 파라미터의 경우 각 고급 파라미터의 스토리지 및 API 사용량에 대해 현재 가격으로 요금이 부과됩니다. 고급 파라미터 저장은 소유 계정에 요금이 부과됩니다. 공유된 고급 파라미터에 대해 API를 호출하는 모든 소비 계정에 파라미터 사용 요금이 청구됩니다.
예를 들어 계정 A가 고급 파라미터 MyAdvancedParameter
를 생성한 경우 해당 계정에 파라미터 저장 요금이 매월 0.05 USD 청구됩니다.
그다음 계정 A가 계정 B 및 계정 C와 MyAdvancedParameter
를 공유합니다. 한 달 동안 세 계정이 MyAdvancedParameter
를 호출합니다. 다음 표는 각 호출 횟수에 따라 발생하는 요금을 보여줍니다.
참고
다음 표의 요금은 설명을 돕기 위한 것입니다. 현재 가격을 확인하려면 Parameter Store의 AWS Systems Manager 가격 책정
Account | 호출 횟수 | 요금 |
---|---|---|
계정 A(소유 계정) | 호출 10,000회 |
|
계정 B(소비 계정) | 호출 20,000회 |
|
계정 C(소비 계정) | 호출 30,000회 |
|
해지된 AWS 계정에 대한 크로스 계정 액세스
공유 파라미터를 소유한 AWS 계정이 해지되면 모든 소비 계정은 공유 파라미터에 대한 액세스 권한을 잃게 됩니다. 계정이 해지된 후 90일 이내에 소유 계정을 다시 열면 소비 계정은 이전에 공유한 파라미터에 다시 액세스할 수 있습니다. 해지 후 기간 동안 계정 다시 열기에 대한 자세한 내용은 AWS Account Management 참조 안내서의 AWS 계정 해지 후 액세스를 참조하세요.