AWS 빠른 시작

이 빠른 시작에서는 Stackdriver Monitoring을 AWS(Amazon Web Services) 계정에 연결하는 방법을 보여줍니다. 또한 EC2 인스턴스에 Monitoring 및 Logging 에이전트를 설치하는 방법을 설명합니다.

시작하기 전에

현재 작업공간에서 모니터링하지 않는 AWS 계정이 있어야 합니다. AWS 계정은 2개 이상의 작업공간에서 모니터링할 수 없습니다.

작업공간에서 AWS 계정을 분리하려면 작업공간에서 프로젝트 삭제로 이동합니다.

단계 개요

AWS 계정을 작업공간에 추가하려면 작업공간의 호스트 프로젝트로 사용할 Google Cloud Platform(GCP) 프로젝트를 만들어야 합니다. 작업공간이 생성되면 AWS 계정을 작업공간에 추가합니다.

다음 단계는 AWS 계정을 Monitoring에 연결합니다.

  1. 새 GCP 프로젝트를 생성합니다.

  2. 새 작업공간을 생성(권장)하거나 AWS 계정을 연결(기존 작업공간을 사용하려는 경우)합니다.

  3. 신뢰할 수 있는 계정 ID와 외부 ID를 확인합니다.

  4. 계정 ID 및 외부 ID를 사용해 AWS 역할을 만듭니다.

  5. AWS 역할을 사용해 작업공간과 AWS 계정을 연결하여 새로운 AWS 커넥터 프로젝트를 만듭니다.

  6. AWS 커넥터 프로젝트에서 서비스 계정을 만들어 GCP 액세스를 승인합니다.

다음 섹션에서 이전 단계를 각각 자세히 설명하고 있습니다.

작업공간 구성

이 빠른 시작을 위해 새 작업공간을 생성하는 것이 좋습니다. 기존 작업공간을 사용하려면 AWS 계정 연결로 건너뛰세요.

어떤 경우든 간에 AWS 계정에 필요한 계정 ID외부 ID를 가져와야 합니다. 자세한 내용은 계정 ID 및 외부 ID 가져오기를 참조하세요.

GCP 프로젝트 만들기

GCP 프로젝트를 만들려면 다음 안내를 따르세요.

  1. GCP Console에서 새 프로젝트로 이동합니다.

    새 프로젝트 만들기

  2. 프로젝트 이름 필드에 Quickstart를 입력합니다.

  3. 만들기를 클릭합니다.

작업공간 만들기

기존 GCP 프로젝트의 작업공간을 만들려면 다음을 수행하세요.

  1. GCP Console로 이동합니다.

    GCP Console로 이동

  2. 메뉴 바에서 Google Cloud Platform 옆에 있는 드롭다운 목록을 클릭하고 GCP 프로젝트를 선택합니다.

  3. 모니터링을 클릭하세요.

  4. 작업공간에 프로젝트 추가 대화상자가 표시되면 새 작업공간에서 GCP 프로젝트를 선택한 후 추가를 클릭하여 새 작업공간을 만듭니다. 다음 이미지에서 GCP 프로젝트 이름은 Quickstart입니다.

    작업공간 선택

    작업공간에 프로젝트 추가 대화상자는 사용 가능한 기존 작업공간이 적어도 1개 이상 있는 경우에만 표시됩니다. 기존 작업공간 아래에 나열된 작업공간들은 사용자가 만든 작업공간 또는 사용자가 편집할 권한이 있는 GCP 프로젝트용 작업공간에 해당됩니다. 이 대화상자를 사용하면 선택에 따라 새 작업공간을 만들거나 기존 작업공간에 프로젝트를 추가할 수 있습니다.

그런 다음, Monitoring에서는 새 작업공간을 만들고 GCP 프로젝트를 작업공간에 추가합니다. 작업공간을 생성하는 동안 Monitoring은 다음 단계로 진행됩니다.

  1. 작업공간 만들기
  2. Stackdriver API 사용 설정
  3. 새 작업공간에 대한 데이터를 계속 수집하는 중입니다.

이 단계를 완료하는 데 몇 분이 걸릴 수 있습니다. 이 프로세스가 완료되면 Stackdriver Monitoring 콘솔에 모니터링 개요 창이 표시되며 환영 메시지가 표시됩니다.

작업공간 선택

계정 ID 및 외부 ID 가져오기

AWS에서 요구하는 신뢰할 수 있는 계정 ID 및 외부 ID를 확인하려면 다음을 수행하세요.

  1. Stackdriver Monitoring 콘솔로 이동합니다.

    Stackdriver Monitoring 콘솔로 이동

  2. 제목 표시줄의 Stackdriver 로고 옆에 작업공간 이름이 표시됩니다. Quickstart가 아닌 경우, 드롭다운 목록을 클릭하고 Quickstart를 선택합니다.

  3. 작업공간 메뉴의 맨 아래에서 작업공간 설정을 클릭합니다.

  4. 설정에서 모니터링 계정을 클릭합니다.

  5. AWS 계정 추가를 클릭합니다.

  6. 계정 ID외부 ID를 기록합니다. AWS 역할을 만들려면 이 데이터가 필요합니다.

  7. 취소를 클릭합니다. AWS 역할을 만든 후에 AWS 계정을 추가합니다.

AWS 역할 만들기

Stackdriver를 승인하는 데 필요한 AWS 역할을 만들려면 작업공간의 계정 ID외부 ID가 있어야 합니다. ID가 없는 경우, 계정 ID 및 외부 ID 가져오기의 지침을 따릅니다.

AWS 역할을 만들려면 다음을 수행하세요.

  1. AWS IAM 콘솔에 로그인해 왼쪽 메뉴에서 역할을 클릭합니다.
  2. 새 역할 만들기를 클릭하고 다음을 수행합니다.

    • 역할 유형으로 다른 AWS 계정을 선택합니다.
    • Stackdriver가 제공한 계정 ID를 계정 ID 필드에 입력합니다.
    • 외부 ID 필요 체크박스를 선택합니다.
    • Stackdriver에서 제공한 외부 ID를 외부 ID 필드에 입력합니다.
    • MFA 필요는 선택하지 마세요.
    • 다음: 권한을 클릭합니다.
  3. 정책 이름 드롭다운 목록에서 ReadOnlyAccess를 선택합니다.

    ReadOnlyAccess 정책

  4. 다음: 검토를 클릭하고 다음 정보를 입력하거나 확인합니다.

    • 역할 이름 필드에 GoogleStackdriver 같은 이름을 입력합니다.
    • 역할 설명 필드에 원하는 사항을 모두 입력합니다.
    • 신뢰할 수 있는 엔터티 필드에서 해당 항목이 이전에 입력한 계정 ID인지 확인합니다.
    • 정책 필드에서 값이 ReadOnlyAccess인지 확인합니다.
  5. AWS IAM 페이지에서 역할 만들기를 클릭합니다.

  6. 요약 페이지에서 역할 ARN 문자열을 복사하여 이 문자열을 Stackdriver에 제공할 수 있습니다. 요약이 표시되지 않으면 AWS 역할 목록에서 역할 이름(예: GoogleStackdriver)을 클릭합니다.

AWS 계정 연결

AWS 계정을 기존 작업공간에 추가하려면 다음을 수행합니다.

  1. Stackdriver Monitoring 콘솔로 이동합니다.

    Stackdriver Monitoring 콘솔로 이동

  2. 페이지 상단의 작업공간 메뉴에서 사용자의 작업공간을 선택합니다. 이 빠른 시작을 통해 새 작업공간을 만들었다면 해당 작업공간을 선택합니다.

  3. 작업공간 메뉴의 맨 아래에서 작업공간 설정을 클릭합니다.

  4. 설정에서 모니터링 계정을 클릭합니다. 다음 스크린샷의 창은 현재 단일 GCP 프로젝트(작업공간의 호스팅 프로젝트)를 모니터링하고 있음을 보여줍니다. AWS 계정을 아직 모니터링하고 있지 않습니다.

    Stackdriver 모니터링 계정

  5. AWS 계정 추가를 클릭합니다. 작업 공간을 생성했을 때부터 사용한 계정 ID외부 ID를 입력합니다.

  6. 다음 정보를 양식에 입력합니다.

    • AWS 역할 만들기에 확인한 역할 ARN을 역할 ARN 필드에 입력하거나 AWS 계정 추가 페이지의 지침에 따라 해당 역할을 생성합니다.
    • AWS 계정에 대한 간단한 설명을 계정 설명 필드에 입력합니다. 첫 1~2단어가 새 프로젝트 ID를 만드는 데 사용됩니다.

      Stackdriver 모니터링 계정

  7. AWS 계정 추가를 클릭합니다. 잠시 후 연결이 확인됩니다.

AWS 커넥터 프로젝트

AWS 계정에 연결할 때 Monitoring에서 자동으로 AWS 커넥터 프로젝트를 만듭니다. 이제 작업공간 설정의 모니터링 계정 페이지에 이 프로젝트의 ID가 포함됩니다.

AWS 계정 설명 [YOUR_AWS_ACCOUNT_NUMBER]
연결 대상: [CONNECTOR_PROJECT_ID]

각 항목의 의미는 다음과 같습니다.

  • [YOUR_AWS_ACCOUNT_NUMBER]는 AWS 계정의 계정 번호를 나타냅니다.
  • [CONNECTOR_PROJECT_ID]는 AWS 계정에서 로그 및 측정항목을 수신하고 GCP에 액세스해야 하는 에이전트 및 기타 AWS 애플리케이션에 대한 승인을 설정하는 커넥터 프로젝트를 나타냅니다.

    항상 커넥터 프로젝트의 ID는 aws-로 시작하며 프로젝트의 이름은 AWS Link로 시작합니다.

이제 작업 공간 설정 페이지를 닫을 수 있습니다.

다음 단계: AWS 애플리케이션 승인

문제해결

AWS 계정을 이미 모니터링 중이라는 메시지가 나타나면 다음과 같이 수행합니다.

  • 다른 작업공간이 AWS 계정을 모니터링하는 경우, 여기에서 AWS 계정을 삭제해야 합니다. AWS 계정은 2개 이상의 작업공간에서 모니터링할 수 없습니다. 작업공간에서 AWS 계정을 분리하려면 작업공간에서 프로젝트 삭제로 이동합니다.

  • 이 메시지는 AWS 역할을 만들 때 현재 작업공간에서 올바른 계정 ID외부 ID 를 사용하지 않은 경우에도 나타날 수 있습니다. 외부 ID는 작업공간마다 다릅니다.

AWS 애플리케이션 승인

다음과 같은 경우에는 아래의 단계가 반드시 필요합니다.

  • AWS VM 인스턴스에서 Stackdriver 에이전트를 실행합니다.
  • AWS 애플리케이션에서 GCP 서비스를 사용합니다.

AWS에서 실행 중인 애플리케이션에서 GCP 서비스에 액세스할 수 있게 승인하려면 적합한 GCP IAM 역할을 가진 GCP 서비스 계정에 액세스할 수 있는 권한을 애플리케이션에 부여해야 합니다.

단일 서비스 계정으로 동일 AWS 계정의 여러 AWS VM 인스턴스 및 애플리케이션을 승인할 수 있습니다. 아니면 여러 개의 서비스 계정을 만들어도 됩니다.

서비스 계정 만들기

서비스 계정은 Stackdriver Monitoring 콘솔이 아닌 GCP Console에서 관리합니다.

  1. 서비스 계정을 만들려면 커넥터 프로젝트의 IAM 및 관리자 > 서비스 계정 페이지로 이동합니다.

    서비스 계정 페이지로 이동

  2. AWS 계정에 대한 AWS 커넥터 프로젝트(이름: AWS Link...)를 선택합니다.

  3. 커넥터 프로젝트에 서비스 계정이 없을 것입니다. 따라서 서비스 계정을 만들라는 메시지가 나타납니다. 서비스 계정 만들기를 클릭하고 다음 정보를 입력합니다.

    • 서비스 계정 이름 필드에 Stackdriver agent authorization을 입력합니다.
    • 역할 필드에 다음의 2가지 값을 모두 추가합니다.

      • 모니터링 > 모니터링 측정항목 작성자
      • 로깅 > 로그 작성자
    • 새 비공개 키 제공 체크박스를 선택합니다.

    • 키 유형에서 JSON을 클릭합니다.

    • G Suite 도메인 전체 위임 사용 체크박스의 선택을 취소합니다.

      서비스 계정 만들기

  4. 만들기를 클릭합니다. 서비스 계정의 비공개 키 파일은 Downloads/[PROJECT_NAME]-[KEY_ID].json이라는 이름으로 워크스테이션에 다운로드됩니다.

    각 항목의 의미는 다음과 같습니다.

    • [PROJECT_NAME]은 GCP 프로젝트 이름을 나타냅니다.
    • [KEY_ID]는 생성된 비공개 키를 나타냅니다.

    다음 지침을 좀 더 간단하게 쉽게 만들려면 사용자 인증 정보의 위치를 워크스테이션의 CREDS 변수에 저장합니다.

    CREDS="Downloads/[PROJECT_NAME]-[KEY_ID].json"
    

VM 인스턴스에 서비스 계정 추가

워크스테이션의 Stackdriver 비공개 키 사용자 인증 정보 파일을 AWS EC2 인스턴스의 원하는 위치에 복사합니다. GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 정의해 경로 이름을 유지해야 합니다.

  1. 워크스테이션에서 사용자 인증 정보 파일을 AWS EC2 인스턴스에 복사하여 이름이 temp.json인 파일에 저장합니다. scp 명령어에서 AWS scp 키 쌍 파일인 key.pem 경로를 지정하고 AWS 사용자 인증 정보를 제공합니다.

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. EC2 인스턴스에서 $HOME/temp.json을 최종 위치로 이동시킵니다. 다음 이름과 위치는 임의로 사용된 것입니다.

    GOOGLE_APPLICATION_CREDENTIALS="/etc/google/auth/application_default_credentials.json"
    sudo mkdir -p $(dirname $GOOGLE_APPLICATION_CREDENTIALS)
    sudo mv "$HOME/temp.json" "$GOOGLE_APPLICATION_CREDENTIALS"
    
  3. (선택 사항): 서비스 계정의 비공개 키 사용자 인증 정보에 대한 액세스를 제한합니다.

    sudo chown root:root "$GOOGLE_APPLICATION_CREDENTIALS"
    sudo chmod 0400 "$GOOGLE_APPLICATION_CREDENTIALS"
    
  4. 환경 변수 GOOGLE_APPLICATION_CREDENTIALS가 GCP 사용을 승인받아야 할 에이전트 및 다른 애플리케이션에 표시되는지 확인합니다. 환경 변수 이름은 표준 GCP 클라이언트 라이브러리를 통해 파악됩니다.

에이전트 설치

  1. (선택사항) EC2 인스턴스에서 다음 명령어를 실행해 Stackdriver Monitoring 및 Logging 에이전트를 설치합니다.

    curl -sSO https://dl.google.com/cloudagents/install-monitoring-agent.sh
    sudo bash install-monitoring-agent.sh
    
    curl -sSO https://dl.google.com/cloudagents/install-logging-agent.sh
    sudo bash install-logging-agent.sh --structured
    

    --structured 플래그를 사용하면 Logging 에이전트가 Stackdriver Logging으로 구조화된 데이터를 보낼 수 있습니다. 자세한 내용은 구조화된 로깅 작업을 참조하세요.

  2. 에이전트가 실행 중인지 확인합니다.

    ps ax | grep fluentd
    ps ax | grep collectd
    

    예상 출력은 다음과 비슷하게 표시됩니다.

    [PROCESS_ID] ?    Sl   0:00 /opt/google-fluentd/embedded/bin/ruby /usr/sbin/google-fluentd ...
    [PROCESS_ID] ?    Ssl  0:00 /opt/stackdriver/collectd/sbin/stackdriver-collectd ...
    

AWS로 Stackdriver 서비스 사용

이 섹션에서는 AWS 계정으로 Stackdriver 서비스를 사용하는 방법을 보여줍니다.

업타임 체크 만들기

업타임 체크는 전 세계 어디서나 웹 서버에 액세스할 수 있는지 확인합니다. 알림 정책에서 업타임 체크에 실패할 경우 알림을 받을 사용자를 관리합니다.

업타임 체크를 사용하여 알림 정책을 다음과 같은 단계에 따라 만듭니다.

  1. Stackdriver Monitoring 콘솔로 돌아갑니다.

    모니터링으로 이동

  2. 업타임 체크 생성 초대가 표시되면 클릭합니다. 이 초대가 표시되지 않으면 업타임 체크 > 업타임 체크 개요로 이동한 후 업타임 체크 추가 또는 업타임 체크 만들기를 클릭합니다.

  3. 새 업타임 체크 창에서 다음 필드를 채웁니다.

    • 제목 필드에 My Uptime Check를 입력합니다.
    • 체크 유형 드롭다운 목록에서 HTTP를 선택합니다.
    • 리소스 유형 드롭다운 목록에서 사용 가능한 리소스를 선택합니다.
    • 리소스 유형에 따라 다른 필드가 추가로 제공될 수도 있습니다.

      업타임 체크 만들기

  4. 업타임 체크가 작동하는지 검증하려면 테스트를 클릭합니다. Connection error - refused 메시지가 표시된다면 Apache HTTP 서버를 설치하지 않았거나 HTTP가 아닌 HTTPS 체크 유형을 지정했을 수도 있습니다. 그 밖의 오류는 업타임 체크 검증을 참조하세요.

  5. 저장을 클릭합니다.

알림 정책 만들기

  1. 업타임 체크 생성됨 창에서 알림 정책 만들기를 클릭합니다.

    업타임 체크 생성됨

  2. 제목이 없는 조건 필드에서 알림 정책 조건에 대한 제목을 입력합니다. 조건 창의 다른 모든 필드는 생성된 업타임 체크에서 자동으로 채워집니다.

    조건 만들기

  3. 저장을 클릭합니다.

  4. 알림 채널 유형 드롭다운 목록에서 이메일을 선택합니다.

    새 알림 정책 만들기

  5. 이메일 주소를 입력한 다음 알림 채널 추가를 클릭합니다.

  6. 정책 이름 지정 창에서 My Uptime Check Policy를 입력합니다.

  7. 저장을 클릭합니다. 정책 요약이 표시됩니다.

대시보드 및 차트 만들기

Monitoring에서 수집한 측정항목을 자체 차트 및 대시보드에 표시하려면 다음 단계에 따라 진행하세요.

  1. Stackdriver Monitoring 콘솔에서 대시보드 > 대시보드 만들기로 이동합니다.

    대시보드 만들기 페이지로 이동

  2. 오른쪽 상단에서 차트 추가를 클릭합니다.

  3. 측정항목 탭을 클릭합니다.

    빈 차트 추가

  4. 리소스 유형 및 측정항목 찾기 제목 아래에서 텍스트 상자를 클릭하고 AWS 측정항목을 선택합니다.

  5. 저장을 클릭합니다.

  6. 새 대시보드에서 Untitled DashboardAWS Quickstart dashboard로 변경합니다.

로그 보기

Monitoring 및 Logging은 긴밀하게 통합되어 있습니다.

  1. Stackdriver Monitoring 콘솔의 왼쪽 메뉴에서 Logging > AWS Link로 이동합니다.
  2. AWS 커넥터 프로젝트의 로그 뷰어에는 AWS 로그가 포함되어 있습니다. 로그 뷰어 포커스를 변경하여 원하는 로그를 확인하려면 다음과 같이 진행하세요.

    • Google 프로젝트 > 모든 project_id로 이동: AWS 커넥터 프로젝트 설정에서 적어도 1개 이상의 감사 로그가 표시되어야 합니다.

      AWS 로그 뷰어

    • 지원되는 AWS VM 인스턴스에 Stackdriver Monitoring 에이전트를 설치한 경우, 다른 로그 옵션이 표시될 수도 있습니다.

삭제

이 빠른 시작에서 사용한 리소스 비용이 GCP 계정에 청구되지 않도록 다음을 수행합니다.

  1. Stackdriver 차트 및 알림을 삭제합니다. Stackdriver Monitoring 콘솔에서 다음을 수행합니다.

    1. 알림 > 정책 개요에서 알림 정책을 삭제합니다.
    2. 알림 > 업타임 체크에서 업타임 체크를 삭제합니다.
    3. 대시보드 > AWS 빠른 시작 예에서 차트를 삭제합니다.
  2. Stackdriver Monitoring 콘솔에서 작업공간 aws-quickstart작업공간 설정 페이지로 이동합니다. 모니터링 계정 섹션에서 AWS 계정을 삭제합니다.

  3. Amazon 계정에서 빠른 시작용으로 만든 AWS IAM 역할을 삭제합니다.

  4. Google Cloud Platform Console에서 AWS 커넥터 프로젝트 및 GCP 프로젝트 aws-quickstart(본 빠른 시작에서 만든 경우)를 삭제합니다. 프로젝트를 삭제하려면 프로젝트를 선택하고 IAM 및 관리 > 설정으로 이동한 후, 페이지 상단에서 프로젝트 삭제를 클릭합니다.

다음 단계

  • 모든 기본 측정항목의 목록을 보려면 지원되는 측정항목으로 이동합니다. Amazon AWS에서 사용할 수 있는 500개 이상의 측정항목이 있습니다. 자체 Monitoring 측정항목을 만들려면 커스텀 측정항목으로 이동합니다.

  • Monitoring API를 사용하려면 API 참조로 이동합니다.

  • 로깅에 대한 자세한 내용과 모니터링과의 관계에 관한 내용은 Logging을 참조하세요.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Stackdriver Monitoring
도움이 필요하시나요? 지원 페이지를 방문하세요.