

# 웹 애플리케이션용 CloudWatch RUM 앱 모니터 생성
<a name="CloudWatch-RUM-get-started-create-app-monitor"></a>

애플리케이션에서 CloudWatch RUM을 사용하려면 *앱 모니터*를 생성합니다. 앱 모니터가 생성되면 RUM은 사용자가 애플리케이션에 붙여넣을 수 있도록 코드 조각을 생성합니다. 코드 조각은 RUM 클라이언트 코드를 가져옵니다. RUM 클라이언트는 애플리케이션의 사용자 세션에서 데이터를 캡처한 후 이를 RUM으로 전송합니다.

## 웹 플랫폼용 앱 모니터를 생성하려면
<a name="web-platform-app-monitor"></a>

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **Application Signals**, **RUM**을 선택합니다.

1. **앱 모니터 추가(Add app monitor)**를 선택합니다.

1. **앱 모니터 이름(App monitor name)**에서 CloudWatch RUM 콘솔 내에서 이 앱 모니터를 식별하는 데 사용할 이름을 입력합니다.

1. **웹**을 플랫폼으로 선택합니다.

1. **애플리케이션 도메인 목록**에서 애플리케이션에 관리 권한이 있는 등록된 도메인 이름을 입력합니다. 와일드카드 문자 `*`를 사용하여 모든 하위 도메인 또는 최상위 도메인(예: \$1.amazon.com, amazon.\$1, \$1.amazon.\$1)을 허용할 수도 있습니다.

1. **RUM 데이터 수집 구성(Configure RUM data collection)**에서 앱 모니터에서 다음을 각각 수집할지 여부를 지정합니다.
   + **성능 원격 측정(Performance telemetry)**: 페이지 로드 및 리소스 로드 시간에 대한 정보를 수집합니다.
   + **JavaScript 오류**: 애플리케이션에서 발생하는 처리되지 않은 JavaScript 오류에 대한 정보를 수집합니다.

     **JavaScript 오류 스택 트레이스 축소 해제**를 선택하여 축소되지 않은 JavaScript 오류를 디버깅할 수 있습니다. 이 기능을 사용하려면 소스 맵 파일을 Amazon S3 버킷 또는 폴더에 업로드하고 Amazon S3 URI를 제공합니다. 활성화되면 RUM은 이러한 소스 맵을 사용하고 축소되지 않은 스택 트레이스를 추가하여 JavaScript 오류 이벤트를 보강합니다. 활성화한 후에 이 기능은 새 JavaScript 오류 이벤트만 처리하며 이전에 수집된 데이터에서는 사용할 수 없습니다. 자세한 내용은 [JavaScript 오류 스택 트레이스의 축소 해제 활성화](CloudWatch-RUM-JavaScriptStackTraceSourceMaps.md) 섹션을 참조하세요.
   + **HTTP 오류**: 애플리케이션에서 발생하는 HTTP 오류에 대한 정보를 수집합니다.

   이러한 옵션을 선택하면 애플리케이션에 대한 자세한 정보가 제공되지만, 더 많은 CloudWatch RUM 이벤트가 생성되므로 더 많은 요금이 발생합니다.

   이 중 하나를 선택하지 않아도 앱 모니터가 세션 시작 이벤트 및 페이지 ID를 수집하여 운영 체제 유형 및 버전, 브라우저 유형 및 버전, 디바이스 유형 및 위치별 분류를 포함하여 애플리케이션을 사용하는 사용자 수를 확인할 수 있습니다.

1. 샘플링된 사용자 세션에서 사용자 ID 및 세션 ID를 수집할 수 있도록 하려면 **CloudWatch RUM 웹 클라이언트가 쿠키를 설정할 수 있도록 이 옵션 선택(Check this option to allow the CloudWatch RUM Web Client to set cookies)**을 선택합니다. 사용자 ID는 RUM에 의해 임의로 생성됩니다. 자세한 정보는 [CloudWatch RUM 웹 클라이언트 쿠키(또는 유사한 기술)](CloudWatch-RUM-privacy.md#CloudWatch-RUM-cookies)을 참조하세요.

1. **세션 샘플(Session samples)**에서 RUM 데이터를 수집하는 데 사용할 사용자 세션 비율을 입력합니다. 기본값은 100%입니다. 이 수를 줄이면 데이터가 줄어들지만, 요금도 줄어듭니다. RUM 요금에 대한 자세한 내용은 [RUM 요금](CloudWatch-RUM.md#RUMpricing)을 참조하세요.

1. CloudWatch RUM에 대해 수집하는 최종 사용자 데이터는 30일 동안 보존된 다음 자동으로 삭제됩니다. CloudWatch Logs에 RUM 이벤트 복사본을 보관하고 이러한 복사본을 보존하는 기간을 구성하려면 **데이터 스토리지(Data storage)**에서 **애플리케이션 원격 측정 데이터를 CloudWatch Logs 계정에 저장하려면 이 옵션을 선택(Check this option to store your application telemetry data in your CloudWatch Logs account)**을 선택합니다. 기본적으로 CloudWatch Logs 로그 그룹은 데이터를 30일 동안 보존합니다. CloudWatch Logs 콘솔에서 보존 기간을 조정할 수 있습니다.

1. (선택 사항) 앱 모니터에 리소스 기반 정책을 추가하여 앱 모니터에 `PutRumEvents` 요청을 보낼 수 있는 사용자를 제어하도록 선택합니다. **퍼블릭 정책 생성**을 선택하면 누구나 `PutRumEvents` 요청을 앱 모니터로 보낼 수 있는 리소스 정책이 앱 모니터에 연결됩니다. 이 방법에 대한 자세한 내용은 [CloudWatch RUM에서 리소스 기반 정책 사용](CloudWatch-RUM-resource-policies.md) 단원을 참조하세요.

1. 이전 단계에서 리소스 기반 정책을 연결한 경우에는 AWS 자격 증명으로 CloudWatch RUM에 대한 요청에 서명할 필요가 없으며, 권한 부여 설정을 건너뛸 수 있습니다. 그렇지 않으면 **권한 부여**에서 신규 또는 기존 Amazon Cognito ID 풀을 사용할지 여부를 지정하거나 다른 ID 제공업체(idP)를 사용합니다. 새 자격 증명 풀을 만드는 것은 다른 설정 단계가 필요하지 않은 가장 간단한 옵션입니다. 자세한 내용은 [웹 애플리케이션에서 데이터를 AWS로 전송하도록 권한 부여](CloudWatch-RUM-get-started-authorization.md) 섹션을 참조하세요.

   새 Amazon Cognito 자격 증명 풀을 생성하려면 관리 권한이 필요합니다. 자세한 내용은 [CloudWatch RUM을 사용하는 IAM 정책](CloudWatch-RUM-permissions.md) 섹션을 참조하세요.

1. (선택 사항) 기본적으로 애플리케이션에 RUM 코드 조각을 추가하면 웹 클라이언트는 애플리케이션의 모든 페이지에 있는 HTML 코드에 JavaScript 태그를 삽입하여 사용량을 모니터링합니다. 이를 변경하려면 **페이지 구성(Configure pages)**을 선택한 다음 **이 페이지만 포함(Include only these pages)** 또는 **이 페이지 제외(Exclude these pages)** 중 하나를 선택합니다. 그런 다음, 포함하거나 제외할 페이지를 지정합니다. 포함하거나 제외할 페이지를 지정하려면 전체 URL을 입력합니다. 추가 페이지를 지정하려면 **URL 추가(Add URL)**를 선택합니다.

1. 앱 모니터에서 샘플링한 사용자 세션의 AWS X-Ray 추적을 사용하려면 **Active tracing**(활성 추적)을 선택하고 **Trace my service with AWS X-Ray**(으로 내 서비스 추적)을 선택합니다.

   이 옵션을 선택하면 `XMLHttpRequest` 및 `fetch` 요청이 앱 모니터에서 샘플링하는 사용자 세션 중에 수행됩니다. 그런 다음, RUM 대시보드, X-Ray 트레이스 맵 및 트레이스 세부 정보 페이지에서 이러한 사용자 세션의 트레이스와 세그먼트를 볼 수 있습니다. 이러한 사용자 세션은 애플리케이션에 대해 활성화된 후 [Application Signals](CloudWatch-Application-Monitoring-Sections.md)의 클라이언트 페이지로도 표시됩니다.

   CloudWatch RUM 웹 클라이언트에 대한 추가 구성을 변경함으로써 HTTP 요청에 X-Ray 추적 헤더를 추가하여 AWS 관리형 서비스 다운스트림으로 사용자 세션의 엔드 투 엔드 추적을 활성화할 수 있습니다. 자세한 내용은 [X-Ray 종단 간 추적 활성화](CloudWatch-RUM-modify-snippet.md#CloudWatch-RUM-xraytraceheader) 섹션을 참조하세요.

1. (선택 사항) 앱 모니터에 태그를 추가하려면 **태그(Tags)**에서 **새 태그 추가(Add new tag)**를 선택합니다.

   그런 다음, **키(Key)**에서 태그 이름을 입력합니다. **값(Value)**에 태그의 선택적 값을 추가할 수 있습니다.

   다른 태그를 추가하려면 **새 태그 추가(Add new tag)**를 다시 선택합니다.

   자세한 내용은 [AWS 리소스에 태깅](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html)을 참조하세요.

1. **앱 모니터 추가(Add app monitor)**를 선택합니다.

1. **샘플 코드(Sample code)** 섹션에서 애플리케이션에 추가하는 데 사용할 코드 조각을 복사할 수 있습니다. **JavaScript** 또는 **TypeScript**를 선택하고 NPM을 사용하여 CloudWatch RUM 웹 클라이언트를 JavaScript 모듈로 설치하는 것이 좋습니다.

   또는 콘텐츠 전송 네트워크(CDN)를 사용하는 **HTML**을 선택하여 CloudWatch RUM 웹 클라이언트를 설치합니다. CDN 사용 시의 단점은 웹 클라이언트가 광고 차단기에 의해 차단되는 경우가 많다는 것입니다.

1. **복사(Copy)** 또는 **다운로드(Download)**를 선택한 다음 **완료(Done)**를 선택합니다.