AWS 빠른 시작

이 빠른 시작에서는 EC2 인스턴스에서 시스템 측정항목을 수집하는 방법과 Cloud Monitoring에서 이러한 측정항목을 보는 방법을 보여줍니다. 이 빠른 시작에서는 다음 작업을 모두 수행합니다.

  1. EC2 인스턴스에 Monitoring 및 Logging 에이전트를 설치합니다.
  2. 에이전트가 수집한 데이터를 Monitoring으로 전송하도록 Amazon Web Services(AWS) 계정을 구성합니다.
  3. 해당 데이터를 보고 표시합니다.

이 페이지에서 연결됨이라는 용어는 Monitoring 및 Logging 에이전트에서 수집한 데이터를 Cloud Monitoring으로 전송하도록 AWS 계정을 구성한다는 의미입니다.

시작하기 전에

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

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

단계 개요

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

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

  1. 새 Google Cloud 프로젝트를 만듭니다.

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

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

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

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

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

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

작업공간 구성

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

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

Google Cloud 프로젝트 만들기

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

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

    새 프로젝트 만들기

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

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

계정 ID 및 외부 ID 가져오기

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

  1. 모니터링으로 이동

    Monitoring으로 이동

    Google Cloud 프로젝트의 Monitoring에 처음 액세스하면 작업공간이 생성되고 프로젝트와 연결됩니다. 멀티 프로젝트 작업공간이 없으면 이 프로세스가 자동으로 수행됩니다. 이 경우 작업공간 만들기와 기존 작업공간에 프로젝트 추가 중에서 선택하라는 대화상자가 표시됩니다. 작업공간을 만드는 옵션을 선택합니다.

  2. 설정을 클릭하고 요약 탭을 선택합니다.

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

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

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

AWS 역할 만들기

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

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

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

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

  4. 정책 이름 드롭다운 목록에서 ReadOnlyAccess를 선택합니다.

  5. 다음: 태그를 클릭합니다.

  6. (선택사항) 키-값 쌍으로 태그를 연결하여 역할에 메타데이터를 추가합니다.

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

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

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

AWS 계정 연결

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

  1. Cloud Console에서 Monitoring으로 이동합니다.

    모니터링으로 이동

  2. 설정을 클릭하고 요약 탭을 선택합니다.

    다음 스크린샷의 창은 단일 Google Cloud 프로젝트(작업공간의 호스팅 프로젝트)를 모니터링하고 있음을 보여줍니다. AWS 계정을 아직 모니터링하고 있지 않습니다.

    모니터링 계정을 모니터링합니다.

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

  4. 프로젝트 선택을 클릭하고 Google Cloud 프로젝트를 만들거나 AWS 커넥터 프로젝트로 사용할 기존 프로젝트를 선택합니다.

    Google Cloud 프로젝트는 AWS 계정 하나에 대한 커넥터 프로젝트일 수 있습니다.

    커넥터 프로젝트를 다른 용도로 사용하지 말고, 작업공간이 AWS 계정에 연결되어있는 동안 커넥터 프로젝트를 삭제하지 마세요.

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

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

      AWS 모니터링 계정을 모니터링합니다.

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

AWS 커넥터 프로젝트

이제 작업공간 설정의 모니터링 계정 페이지에 AWS 커넥터 프로젝트의 ID가 포함됩니다.

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

여기에서

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

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

문제해결

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

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

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

AWS 애플리케이션 승인

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

  • AWS VM 인스턴스에서 Monitoring 또는 Logging 에이전트 실행
  • AWS 애플리케이션의 Google Cloud 서비스 사용

Google Cloud 서비스에 액세스하기 위해 AWS에서 실행되는 애플리케이션을 승인하려면 적합한 Google Cloud IAM 역할이 있는 Google Cloud 서비스 계정에 액세스 권한을 부여합니다.

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

서비스 계정 만들기

서비스 계정을 만들려면 다음 단계를 따르세요.

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

    서비스 계정으로 이동

  2. AWS 계정의 AWS 커넥터 프로젝트를 선택합니다.

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

    • 서비스 계정 이름 필드에 Monitoring agent authorization을 입력하고 만들기를 클릭합니다.

      서비스 계정 만들기

    • 서비스 계정 권한 대화상자에서 다음 역할을 선택하고 계속을 클릭합니다.

      • 모니터링 > 모니터링 측정항목 작성자
      • 로깅 > 로그 작성자

      서비스 계정 만들기

    • 키 만들기 대화상자에서 키 만들기를 클릭하고 JSON을 선택합니다.

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

    여기에서

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

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

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

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

서비스 계정을 추가하려면 다음 단계를 따르세요.

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

    KEY="/path/to/key.pem"
    scp -i "$KEY" "$CREDS" AWS_USERNAME@AWS_HOSTNAME:temp.json
    
  2. EC2 인스턴스에서 사용자 인증 정보를 /etc/google/auth/application_default_credentials.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가 Google Cloud의 사용을 승인받은 에이전트 및 다른 애플리케이션에 표시되는지 확인합니다. 환경 변수 이름은 표준 Google Cloud 클라이언트 라이브러리를 통해 파악됩니다.

에이전트 설치

  1. (선택사항) EC2 인스턴스에 Cloud Monitoring 에이전트를 설치합니다. Cloud Monitoring은 Monitoring 에이전트 없이도 CPU 사용률 및 업타임 정보 등의 몇몇 인스턴스 측정항목에 액세스할 수 있지만 Monitoring 에이전트는 광범위한 시스템 리소스 및 애플리케이션 서비스에 대한 측정항목을 제공합니다.

    Cloud Monitoring 에이전트를 설치하려면 Cloud Monitoring 에이전트 설치를 참조하고 사용 중인 운영체제에 따라 안내를 선택하세요. 이 안내에는 에이전트가 실행 중인지 확인하는 방법과 문제해결 가이드의 링크가 포함되어 있습니다.

  2. (선택사항) EC2 인스턴스에서 Cloud Logging으로 로그를 스트리밍하는 Cloud Logging 에이전트를 설치합니다. Cloud Logging 에이전트 설치를 참조하고 사용 중인 운영체제에 따라 안내를 선택하세요. 이 안내에는 에이전트가 실행 중인지 확인하는 방법과 문제해결 가이드의 링크가 포함되어 있습니다.

AWS로 Monitoring 서비스 사용

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

가동시간 확인 및 알림 정책 만들기

업타임 체크를 만들려면 다음을 수행합니다.

  1. Cloud Console에서 Monitoring을 선택합니다.

    모니터링으로 이동

    Google Cloud 프로젝트의 Monitoring에 처음 액세스하면 작업공간이 생성되고 프로젝트와 연결됩니다. 멀티 프로젝트 작업공간이 없으면 이 프로세스가 자동으로 수행됩니다. 이 경우 작업공간 만들기와 기존 작업공간에 프로젝트 추가 중에서 선택하라는 대화상자가 표시됩니다. 작업공간을 만드는 옵션을 선택합니다.

  2. 업타임 체크를 클릭합니다.

  3. 업타임 체크 만들기를 클릭합니다.

    업타임 체크 만들기 대화 상자.

  4. 제목에 My Uptime Check를 입력하고 다음을 클릭합니다.

  5. Target:

    1. 프로토콜에 HTTP가 선택되어 있는지 확인합니다.
    2. 리소스 유형에 사용 가능한 리소스를 선택합니다.
    3. 필요에 따라 추가 필드를 작성합니다.
    4. 다음을 클릭합니다.
  6. 응답 확인: 이 필드는 기본값으로 유지하고 다음을 클릭합니다.

  7. 경고 및 알림:

    • 전환 라벨이 알림 사용 설정됨으로 되어 있는지 확인합니다.
    • 이름 및 기간 필드는 기본값으로 둡니다.
    • 알림 채널을 알림 정책에 추가하려면 알림 채널 라벨이 지정된 텍스트 상자에서 메뉴 를 클릭합니다. 추가할 채널을 선택하고 확인을 클릭합니다. 알림은 각 채널 유형별로 알파벳순으로 그룹화됩니다.

      체크박스 목록에 항목을 추가하려면 알림 채널 관리를 클릭하고 안내를 따릅니다. 이 대화상자로 돌아오면 새로고침 을 클릭합니다.

  8. 업타임 체크 구성을 확인하려면 테스트를 클릭합니다. '연결 오류 - 거부됨' 메시지가 표시된다면 Apache HTTP 서버를 설치하지 않았거나 HTTP가 아닌 HTTPS 체크 유형을 지정했을 수 있습니다. 그 밖의 오류는 업타임 체크 검증을 참조하세요.

  9. 만들기를 클릭합니다. 만들기 작업이 성공하면 배너에 체크 및 알림 생성됨이 표시됩니다. 업타임 체크 창에는 새 체크가 나열되고 업타임 체크의 대시보드에 대한 링크가 포함됩니다. 알림 창에는 새 알림 정책이 나열되고 정책 대시보드 링크가 포함됩니다. 필요한 데이터가 없으면 만들기 작업이 실패하고 데이터가 필요한 필드 목록이 대화상자 버튼 옆에 표시됩니다.

대시보드 및 차트 만들기

Monitoring에서 수집한 측정항목을 표시하려면 다음 단계를 완료하세요.

  1. 모니터링으로 이동합니다.

    Monitoring으로 이동

  2. 대시보드를 선택한 다음 대시보드 만들기를 선택합니다.

  3. 대시보드의 이름으로 Quickstart dashboard를 입력하고 확인을 클릭합니다.

  4. 차트 추가를 클릭합니다.

  5. 측정항목 탭이 선택되었는지 확인합니다.

    기본 설정으로 차트 추가 대화상자를 표시합니다.

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

  7. 저장을 클릭합니다.

로그 보기

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

  1. Cloud Console에서 Logging으로 이동한 다음 AWS 커넥터 프로젝트를 선택합니다.
  2. AWS 커넥터 프로젝트의 로그 뷰어에는 AWS 로그가 포함되어 있습니다. 로그 뷰어 포커스를 변경하여 원하는 로그를 확인하려면 다음과 같이 진행하세요.

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

      AWS 로그 뷰어

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

정리

이 빠른 시작에서 사용한 리소스의 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 따르세요.

  1. Monitoring 차트 및 알림을 삭제합니다. 모니터링으로 이동합니다.

    1. 알림에서 알림 정책을 삭제합니다.
    2. 알림에서 업타임 체크를 삭제합니다.
    3. 대시보드에서 차트를 삭제합니다.
  2. 설정을 클릭하고 요약 탭을 선택합니다.

  3. AWS 계정이라는 제목의 섹션에서 이 빠른 시작에 사용한 AWS 계정을 확인하고 더보기 를 클릭한 다음 작업공간에서 삭제를 선택합니다.

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

  5. Google Cloud Console에서 AWS 커넥터 프로젝트와 Google Cloud 프로젝트 aws-quickstart(이 빠른 시작을 위해 만든 경우)를 삭제합니다. 프로젝트를 삭제하려면 프로젝트를 선택하고 IAM 및 관리자로 이동하여 설정을 선택한 다음 종료를 클릭합니다.

다음 단계

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

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

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

  • DevOps 관련 리소스를 읽고 연구 프로그램 살펴보기