CloudWatch RUM에 서비스 연결 역할 사용 - Amazon CloudWatch

CloudWatch RUM에 서비스 연결 역할 사용

CloudWatch RUM은 AWS Identity and Access Management(IAM) 서비스 연결 역할을 사용합니다. 서비스 연결 역할은 RUM에 직접 연결된 고유한 유형의 IAM 역할입니다. 서비스 연결 역할은 RUM에서 사전 정의하며, 다른 AWS 서비스를 자동으로 호출하기 위해 필요한 모든 권한을 포함합니다.

RUM에서 서비스 연결 역할 권한을 정의하므로 달리 정의되지 않은 한 RUM만 해당 역할을 수임할 수 있습니다. 정의된 권한에는 신뢰 정책과 권한 정책이 포함되며 이 권한 정책은 다른 IAM 엔터티에 연결할 수 없습니다.

먼저 역할의 관련 리소스를 삭제해야만 역할을 삭제할 수 있습니다. 이렇게 제한하면 리소스에 대한 액세스 권한을 실수로 삭제할 수 없으므로 RUM 리소스가 보호됩니다.

서비스 연결 역할을 지원하는 기타 서비스에 대한 자세한 내용은 IAM으로 작업하는 AWS 서비스를 참조하고 서비스 연결 역할(Service-linked roles) 열에 예(Yes)가 있는 서비스를 찾으십시오. 해당 서비스에 대한 서비스 연결 역할 설명서를 보려면 링크를 선택합니다.

RUM에 대한 서비스 연결 역할 권한

RUM은 AWSServiceRoleForCloudWatchRUM이라는 서비스 연결 역할을 사용합니다. X-Ray 추적을 활성화한 앱 모니터에 대해 이 역할을 사용하여 RUM이 AWS X-Ray 추적 데이터를 사용자 계정으로 전송할 수 있습니다.

AWSServiceRoleForCloudWatchRUM 서비스 연결 역할은 해당 역할을 맡는 X-Ray 서비스를 신뢰합니다. X-Ray는 추적 데이터를 계정으로 보냅니다.

AWSServiceRoleForCloudWatchRUM 서비스 연결 역할에는 AmazonCloudWatchRUMServiceRolePolicy에 연결된 IAM 정책이 있습니다. 이 정책은 CloudWatch RUM에 모니터링 데이터를 다른 관련 AWS 서비스에 게시할 수 있는 권한을 부여합니다. 여기에는 RUM이 다음 작업을 완료할 수 있도록 허용하는 권한이 포함됩니다.

  • xray:PutTraceSegments

  • cloudwatch:PutMetricData

AmazonCloudWatchRUMServiceRolePolicy의 전체 내용은 다음과 같습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "xray:PutTraceSegments" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "cloudwatch:PutMetricData", "Resource": "*", "Condition": { "StringLike": { "cloudwatch:namespace": [ "RUM/CustomMetrics/*", "AWS/RUM" ] } } } ] }

RUM에 대한 서비스 연결 역할 생성

CloudWatch RUM에 대한 서비스 연결 역할은 수동으로 생성할 필요가 없습니다. X-Ray 추적이 활성화된 앱 모니터를 처음 생성하거나 X-Ray 추적을 사용하도록 앱 모니터를 처음 업데이트하면 RUM이 AWSServiceRoleForCloudWatchRUM을 생성합니다.

자세한 내용은 IAM 사용 설명서서비스 연결 역할 생성 섹션을 참조하세요.

RUM에 대한 서비스 연결 역할 편집

CloudWatch RUM은 AWSServiceRoleForCloudWatchRUM 역할 편집을 허용하지 않습니다. 다양한 개체가 역할을 참조할 수 있으므로 이러한 역할을 생성한 후에는 이름을 변경할 수 없습니다. 그러나 IAM을 사용하여 이러한 역할의 설명을 편집할 수 있습니다.

서비스 연결 역할 설명 편집(IAM 콘솔)

IAM 콘솔을 사용하여 서비스 연결 역할의 설명을 편집할 수 있습니다.

서비스 연결 역할의 설명을 편집하려면(콘솔 사용)
  1. IAM 콘솔의 탐색 창에서 역할을 선택합니다.

  2. 변경할 역할 이름을 선택합니다.

  3. 역할 설명의 맨 오른쪽에서 편집을 선택합니다.

  4. 상자에 새 설명을 입력하고 저장을 선택합니다.

서비스 연결 역할 설명 편집(AWS CLI)

AWS Command Line Interface에서 IAM 명령을 사용하여 서비스 연결 역할의 설명을 편집할 수 있습니다.

서비스 연결 역할의 설명을 변경하려면(AWS CLI)
  1. (옵션) 역할의 현재 설명을 보려면 다음 명령 중 하나를 사용합니다.

    $ aws iam get-role --role-name role-name

    AWS CLI 명령에서 역할을 참조하려면 ARN이 아니라 역할 이름을 사용해야 합니다. 예를 들어, 어떤 역할의 ARN이 arn:aws:iam::123456789012:role/myrole인 경우 참조할 역할은 myrole입니다.

  2. 서비스 연결 역할의 설명을 업데이트하려면 다음 명령을 사용합니다.

    $ aws iam update-role-description --role-name role-name --description description

서비스 연결 역할 설명 편집(IAM API)

IAM API를 사용하여 서비스 연결 역할의 설명을 편집할 수 있습니다.

서비스 연결 역할의 설명을 변경하려면(API 사용)
  1. (선택 사항) 역할의 현재 설명을 보려면 다음 명령을 사용합니다.

    GetRole

  2. 역할 설명을 업데이트하려면 다음 명령을 사용합니다.

    UpdateRoleDescription

RUM에 대한 서비스 연결 역할 삭제

활성화된 X-Ray를 사용하는 앱 모니터가 더 이상 없는 경우 AWSServiceRoleForCloudWatchRUM 역할을 삭제하는 것이 좋습니다.

따라서 적극적으로 모니터링하거나 유지하지 않는 미사용 엔터티가 없도록 합니다. 단, 삭제 전에 서비스 연결 역할을 정리해야 합니다.

서비스 연결 역할 정리

IAM을 사용하여 서비스 연결 역할을 삭제하기 전에 먼저 역할에 활성 세션이 없는지 확인하고 역할에서 사용되는 리소스를 모두 제거해야 합니다.

IAM 콘솔에서 서비스 연결 역할에 활성 세션이 있는지 확인하려면
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다. AWSServiceRoleForCloudWatchRUM 역할의 이름(확인란 아님)을 선택합니다.

  3. 선택된 역할의 요약 페이지에서 Access Advisor(액세스 관리자)를 선택하고 서비스 연결 역할의 최근 활동을 검토합니다.

    참고

    RUM이 AWSServiceRoleForCloudWatchRUM 역할을 사용하고 있는지 확실하지 않은 경우 역할을 삭제할 수 있습니다. 서비스에서 역할을 사용하는 경우에는 삭제가 안 되어 역할이 사용 중인 리전을 볼 수 있습니다. 역할이 사용 중인 경우에는 세션이 종료될 때까지 기다렸다가 역할을 삭제해야 합니다. 서비스 연결 역할에 대한 세션은 취소할 수 없습니다.

서비스 연결 역할 삭제(IAM 콘솔)

IAM 콘솔을 사용하여 서비스 연결 역할을 삭제할 수 있습니다.

서비스 연결 역할을 삭제하는 방법(콘솔)
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다. 그런 다음 삭제할 역할의 이름이나 행이 아닌 이름 옆에 있는 확인란을 선택합니다.

  3. 역할 작업에 대해 역할 삭제를 선택합니다.

  4. 확인 대화 상자가 나타나면 서비스 마지막 액세스 데이터를 검토합니다. 이 데이터는 선택한 각 역할이 AWS 서비스를 마지막으로 액세스한 일시를 보여 줍니다. 이를 통해 역할이 현재 활동 중인지를 확인할 수 있습니다. 계속하려면 예, 삭제를 선택합니다.

  5. IAM 콘솔 알림을 보고 서비스 연결 역할 삭제 진행 상황을 모니터링합니다. IAM 서비스 연결 역할 삭제는 비동기이므로 삭제할 역할을 제출한 후에 삭제 태스크가 성공하거나 실패할 수 있습니다. 작업에 실패할 경우 알림의 세부 정보 보기 또는 View Resources(리소스 보기)를 선택하면 삭제 실패 이유를 확인할 수 있습니다. 역할에서 사용 중인 리소스가 서비스에 있기 때문에 삭제에 실패하는 경우, 실패 원인에 리소스 목록이 포함됩니다.

서비스 연결 역할 삭제(AWS CLI)

AWS Command Line Interface에서 IAM 명령을 사용하여 서비스 연결 역할을 삭제할 수 있습니다.

서비스 연결 역할을 삭제하려면(AWS CLI)
  1. 서비스 연결 역할이 사용되지 않거나 연결된 리소스가 없는 경우에는 서비스 연결 역할을 삭제할 수 없으므로 삭제 요청을 제출해야 합니다. 이러한 조건이 충족되지 않으면 요청이 거부될 수 있습니다. 삭제 태스크 상태를 확인하려면 응답의 deletion-task-id(을)를 캡처해야 합니다. 다음 명령을 입력하여 서비스 연결 역할 삭제 요청을 제출합니다.

    $ aws iam delete-service-linked-role --role-name service-linked-role-name
  2. 다음 명령을 입력하여 삭제 작업의 상태를 확인합니다.

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    삭제 태스크는 NOT_STARTED, IN_PROGRESS, SUCCEEDED 또는 FAILED 상태일 수 있습니다. 삭제에 실패할 경우 문제를 해결할 수 있도록 실패 이유가 호출에 반환됩니다.

서비스 연결 역할 삭제(IAM API)

IAM API를 사용하여 서비스 연결 역할을 삭제할 수 있습니다.

서비스 연결 역할(API)을 삭제하는 방법
  1. 서비스 연결 역할 삭제 요청을 제출하려면 DeleteServiceLinkedRole을 호출합니다. 요청에서 삭제할 역할 이름을 지정합니다.

    서비스 연결 역할이 사용되지 않거나 연결된 리소스가 없는 경우에는 서비스 연결 역할을 삭제할 수 없으므로 삭제 요청을 제출해야 합니다. 이러한 조건이 충족되지 않으면 요청이 거부될 수 있습니다. 삭제 태스크 상태를 확인하려면 응답의 DeletionTaskId(을)를 캡처해야 합니다.

  2. 삭제 상태를 확인하려면 GetServiceLinkedRoleDeletionStatus를 호출합니다. 요청에 DeletionTaskId(을)를 지정합니다.

    삭제 태스크는 NOT_STARTED, IN_PROGRESS, SUCCEEDED 또는 FAILED 상태일 수 있습니다. 삭제에 실패할 경우 문제를 해결할 수 있도록 실패 이유가 호출에 반환됩니다.