AWS에서 EC2 인스턴스 및 데이터베이스 탐색

이 문서에서는 마이그레이션 센터 탐색 클라이언트 CLI를 사용하여 Amazon Web Services (AWS) 계정에서 인벤토리 검색을 실행하는 방법을 설명합니다.

mcdc CLI를 사용하면 AWS의 Amazon Elastic Compute Cloud (EC2) 인스턴스 및 Amazon 관계형 데이터베이스 서비스 (RDS) 데이터베이스에 관한 정보를 수집할 수 있습니다. 그러면 mcdc CLI가 수집된 정보를 평가를 위해 Migration Center로 전송합니다.

인벤토리 검색 중에 수집된 정보

mcdc CLI는 EC2 인스턴스에서 다음 정보를 수집합니다.

  • 인스턴스 유형, ID, 이름, 리전
  • CPU, 메모리, 스토리지 크기를 포함한 머신 크기입니다.
  • 운영체제 이름, 버전, 아키텍처입니다.
  • 전원 상태 (켜짐 또는 꺼짐)
  • 네트워크 인터페이스와 연결된 IP 및 MAC 주소입니다.
  • 인터페이스 유형, 볼륨 유형, 라벨, 크기를 포함한 디스크 정보입니다.
  • 하이퍼스레딩 지원
  • 각 EC2 인스턴스의 성능 데이터:
    • 초당 입출력 작업 수 (IOPS)
    • CPU 사용률
    • 네트워크 인그레스 및 이그레스

mcdc CLI는 RDS 데이터베이스에서 다음 정보를 수집합니다.

  • 플랫폼
  • 데이터베이스 엔진
  • 이름
  • 생성된 ID
  • 버전
  • 버전
  • 할당된 디스크 바이트
  • 물리적 코어 수
  • 메모리 바이트
  • 각 데이터베이스의 성능 데이터:
    • 메모리 사용량
    • 디스크 IOPS
    • 네트워크 인그레스 및 이그레스
    • CPU 사용률

mcdc CLI는 데이터베이스 메모리 사용량을 제외한 지난 30일 동안의 측정항목을 수집합니다. 데이터베이스 메모리 사용량의 경우 AWS는 기본적으로 최대 7일의 데이터만 저장하므로 mcdc CLI는 지난 7일 동안의 데이터만 수집합니다.

지원되는 데이터베이스

다음 데이터베이스가 지원됩니다.

  • Microsoft SQL Server
  • MySQL
  • PostgreSQL

제한사항

AWS 계정에서 인벤토리 검색을 실행할 때 mcdc CLI에는 다음과 같은 제한사항이 있습니다.

  • EC2 인스턴스의 다음 정보는 수집되지 않습니다.
  • Linux 머신에서 mcdc CLI를 실행하여 AWS Windows EC2 인스턴스에서 데이터를 수집할 수는 없습니다. Windows EC2 인스턴스에서 정보를 수집하려면 Windows 머신에서 mcdc CLI를 실행하세요.

시작하기 전에

인벤토리 검색을 시작하기 전에 다음 단계를 완료했는지 확인합니다.

  1. mcdc CLI 다운로드 및 실행 요구사항을 검토합니다.
  2. mcdc CLI를 다운로드할 위치를 선택하고 mcdc CLI를 다운로드하는 단계를 완료합니다.
  3. AWS 계정에 액세스할 수 있는지 확인합니다.

mcdc CLI를 다운로드할 위치 선택

Linux 및 Windows 머신 모두에 mcdc CLI를 다운로드할 수 있습니다. 사용 가능한 모든 수집 방법을 지원하므로 Windows EC2 인스턴스를 사용하여 mcdc CLI를 다운로드하고 실행하는 것이 좋습니다.

다음과 같이 대상 애셋에 액세스할 수 있는 위치에 mcdc CLI를 다운로드할 수 있습니다.

  • AWS CloudShell
  • Linux EC2 인스턴스
  • Windows EC2 인스턴스
  • mcdc CLI를 설치하고 AWS 계정에 원격으로 액세스할 수 있는 컴퓨터

mcdc CLI 다운로드 안내는 mcdc CLI 다운로드를 참고하세요.

AWS IAM 정책 만들기

mcdc CLI가 EC2 및 RDS 인벤토리 데이터를 읽을 수 있도록 다음 권한으로 AWS IAM 정책을 만듭니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeRegions",
        "ec2:DescribeInstances",
        "ec2:DescribeVolumes",
        "ec2:DescribeInstanceTypes",
        "rds:DescribeDBInstances",
        "rds:DescribeDBEngineVersions",
        "ssm:DescribeInstanceInformation",
        "cloudwatch:GetMetricData"
      ],
      "Resource": "*"
    }
  ]
}

AWS에 인증

mcdc CLI가 AWS 환경에 액세스하도록 하려면 다음 방법 중 하나를 사용하여 계정을 인증하세요.

기존 AWS 사용자 인증 정보 사용

기존 AWS 사용자 인증 정보를 사용하려면 AWS Cloud Shell에서 직접 mcdc CLI 명령어를 실행하세요. AWS Cloud Shell에서 mcdc CLI를 실행하는 경우 액세스 키 없이 기존 사용자 인증 정보를 사용할 수 있습니다. 이 경우 mcdc CLI는 사용자 인증 정보에 의해 부여된 대로 AWS 환경에 액세스하여 VM 인스턴스를 검색할 수 있습니다.

mcdc CLI의 액세스 키 만들기

mcdc CLI의 액세스 키를 만들려면 다음 단계를 따르세요.

  1. AWS API와 상호작용할 전용 IAM 사용자를 만듭니다.
  2. 이전 섹션에서 만든 IAM 정책을 새 사용자에게 연결합니다.
  3. AWS 콘솔에서 이전 단계에서 만든 IAM 사용자로 이동하여 사용자  > 보안 사용자 인증 정보  > 액세스 키 만들기  > 기타  > 다음  > 액세스 키 만들기를 클릭합니다.

    자세한 내용은 액세스 키 만들기를 참고하세요.

액세스 키 ID와 액세스 키를 저장합니다. AWS 인벤토리를 검사하려면 이 정보가 필요합니다.

선택사항: 게스트 운영체제 데이터를 수집할 액세스 권한 설정

게스트 운영체제 데이터는 가격 책정 보고서, 라이선스 보고서, 애셋 세부정보 내보내기를 보강합니다. 이 데이터는 Google Kubernetes Engine, GKE Autopilot, Cloud Run으로의 컨테이너화 여정의 적합성을 평가하는 데도 도움이 됩니다. 운영체제 데이터를 수집하지 않으려면 이 섹션을 건너뛰면 됩니다.

게스트 운영체제 데이터를 수집하려면 mcdc CLI를 실행하는 워크스테이션이 타겟 EC2 인스턴스에 연결되어야 합니다. 대상 EC2 인스턴스에서 다음 포트가 열려 있는지 확인합니다.

  • Linux 머신의 포트 22 (SSH)
  • Windows 머신의 포트 135 (WMI)

EC2 인스턴스 및 RDS 데이터베이스 검색

EC2 인스턴스와 RDS 데이터베이스를 검색하려면 다음 단계를 따르세요.

  1. 명령줄 터미널에서 mcdc CLI를 다운로드한 디렉터리로 변경합니다.

  2. 검색 실행:

    AWS CloudShell

    AWS 계정에서 EC2 인스턴스와 RDS 데이터베이스를 검색하려면 다음 명령어를 실행합니다.

    Linux

    ./mcdc discover aws --host-config 
    [--services AWS_SERVICE_NAME]
    [--region AWS_REGION]
    [--tag AWS_TAG]

    Windows

    mcdc.exe discover aws --host-config 
    [--services AWS_SERVICE_NAME]
    [--region AWS_REGION]
    [--tag AWS_TAG]

    다음을 바꿉니다.

    • AWS_SERVICE_NAME: AWS 서비스 이름 (rds 또는 ec2). 이 플래그는 선택사항입니다. 이 플래그를 제공하지 않으면 EC2 인스턴스와 RDS 데이터베이스가 모두 검색됩니다.
    • AWS_REGION: EC2 인스턴스와 RDS 데이터베이스가 있는 AWS 리전입니다. 이 플래그는 선택사항입니다. 이 플래그를 제공하지 않으면 사용 설정된 모든 AWS 리전의 애셋이 검색됩니다.
    • AWS_TAG: 특정 태그 또는 태그-값 조합으로 리소스를 필터링하는 AWS 태그입니다(key=value 또는 key 형식). 태그를 여러 개 제공하면 mcdc CLI는 모든 태그가 포함된 리소스만 수집합니다.

    AWS 액세스 키

    AWS 액세스 키 ID와 액세스 키를 사용하여 EC2 인스턴스와 RDS 데이터베이스를 검색하려면 다음 명령어를 실행하세요.

    Linux

    ./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_ACCESS_KEY
    [--services AWS_SERVICE_NAME]
    [--region AWS_REGION]
    [--tag AWS_TAG]

    Windows

    mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID 
    --secret-access-key AWS_ACCESS_KEY
    [--services AWS_SERVICE_NAME]
    [--region AWS_REGION]
    [--tag AWS_TAG]

    다음을 바꿉니다.

    • AWS_ACCESS_KEY_ID: mcdc CLI용 액세스 키 만들기 섹션에서 만든 액세스 키 ID
    • AWS_ACCESS_KEY: mcdc CLI용 액세스 키 만들기 섹션에서 만든 액세스 키입니다.
    • AWS_SERVICE_NAME: AWS 서비스 이름 (rds 또는 ec2)입니다. 이 플래그는 선택사항입니다. 이 플래그를 제공하지 않으면 EC2 인스턴스와 RDS 데이터베이스가 모두 검색됩니다.
    • AWS_REGION: EC2 인스턴스와 RDS 데이터베이스가 있는 AWS 리전입니다. 이 플래그는 선택사항입니다. 이 플래그를 제공하지 않으면 사용 설정된 모든 AWS 리전의 애셋이 검색됩니다.
    • AWS_TAG: 특정 태그 또는 태그-값 조합으로 리소스를 필터링하는 AWS 태그입니다(key=value 또는 key 형식). 태그를 여러 개 제공하면 mcdc CLI는 모든 태그가 포함된 리소스만 수집합니다.

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

      [+] Collecting EC2...
      Collecting region eu-west-1
      Collected 73 EC2 instances
      [+] Collecting RDS...
      [+] Collecting region eu-west-1
      [✓] Collected 1 DB instances
      [✓] Collected total of 1 DB instances
      [✓] Collection completed.
    
  3. 수집된 데이터를 검토하려면 다음 명령어를 실행합니다.

    Linux

    ./mcdc discover ls

    Windows

    mcdc.exe discover ls

    선택적으로 --asset-types 매개변수를 사용하여 VM 또는 데이터베이스만 표시합니다. 예를 들어 VM 인스턴스만 표시하려면 discover ls --asset-types=vm를 실행하고 데이터베이스만 표시하려면 discover ls --asset-types=db를 실행합니다.

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

        VM Assets
        PLATFORM VM ID       NAME              COLLECTED DATA   OS                          IP ADDRESSES
        i-011d6234b5769fe2a  abc-rhel9.0-arm   AWSVM            Red Hat Enterprise Linux    192.0.2.1
        i-08f7e5e469508460f  def-rhel9.0-arm   AWSVM            Red Hat Enterprise Linux    192.0.2.2
        i-09e28bb6eggg94db8  ghi-ol9.3         AWSVM            Linux/UNIX                  192.0.2.3
    
        Database Assets
        GENERATED ID                                         PROVIDER        ENGINE
        arn:aws:rds:eu-west-1:12345678912:db:abc-sqlserver   RDS             SQL Server
    

다음 단계