이 문서에서는 마이그레이션 센터 탐색 클라이언트 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를 실행하세요.
시작하기 전에
인벤토리 검색을 시작하기 전에 다음 단계를 완료했는지 확인합니다.
mcdc
CLI 다운로드 및 실행 요구사항을 검토합니다.mcdc
CLI를 다운로드할 위치를 선택하고mcdc
CLI를 다운로드하는 단계를 완료합니다.- 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의 액세스 키를 만들려면 다음 단계를 따르세요.
- AWS API와 상호작용할 전용 IAM 사용자를 만듭니다.
- 이전 섹션에서 만든 IAM 정책을 새 사용자에게 연결합니다.
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 데이터베이스를 검색하려면 다음 단계를 따르세요.
명령줄 터미널에서
mcdc
CLI를 다운로드한 디렉터리로 변경합니다.검색 실행:
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.
- AWS_SERVICE_NAME: AWS 서비스 이름 (
수집된 데이터를 검토하려면 다음 명령어를 실행합니다.
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
다음 단계
- 게스트 검색 실행 방법 알아보기
- 수집된 데이터를 Migration Center로 내보내는 방법 알아보기