探索 AWS 上的 EC2 執行個體和資料庫

本文件說明如何使用 Migration Center 用戶資產評估器 CLI 在 Amazon Web Services (AWS) 帳戶上執行資產探索作業。

mcdc CLI 可讓您收集 AWS 上 Amazon Elastic Compute Cloud (EC2) 執行個體和 Amazon Relational Database Service (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 的位置

您可以將 mcdc CLI 下載到 Linux 和 Windows 電腦。我們建議您使用 Windows EC2 執行個體下載及執行 mcdc CLI,因為它支援所有可用的收集方法

您可以將 mcdc CLI 下載至可存取目標資產的位置,例如:

  • AWS CloudShell
  • Linux EC2 執行個體
  • Windows EC2 執行個體
  • 已安裝 mcdc CLI 且可遠端存取 AWS 帳戶的任何電腦。

如需下載 mcdc CLI 的指示,請參閱「下載 mcdc CLI」。

建立 AWS 身分與存取權管理政策

如要讓 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 CloudShell 執行 mcdc 命令列指令。如果您透過 AWS Cloud Shell 執行 mcdc CLI,可以使用現有的憑證,而不需要存取金鑰。在這種情況下,mcdc CLI 可根據憑證授權存取 AWS 環境,以便探索 VM 執行個體。

mcdc CLI 建立存取金鑰

如要為 mcdc CLI 建立存取金鑰,請按照下列步驟操作:

  1. 建立專用的 IAM 使用者,用於與 AWS API 互動。
  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]

    Windows

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

    更改下列內容:

    • AWS_SERVICE_NAME:AWS 服務名稱 (rdsec2)。此標記為選用。如果您未提供此標記,系統會同時偵測到 EC2 執行個體和 RDS 資料庫。
    • AWS_REGION:EC2 執行個體和 RDS 資料庫所在的 AWS 區域。這個旗標是選用的。如果您未提供這個標記,系統會找出所有已啟用 AWS 區域的資產。

    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]

    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]

    更改下列內容:

    • AWS_ACCESS_KEY_ID:您在「mcdc CLI 建立存取金鑰」一節中建立的存取金鑰 ID。
    • AWS_ACCESS_KEY:您在「mcdc CLI 建立存取金鑰」一節中建立的存取金鑰。
    • AWS_SERVICE_NAME:AWS 服務名稱 (rdsec2)。這個標記為選用。如果您未提供此標記,系統會同時偵測到 EC2 執行個體和 RDS 資料庫。
    • AWS_REGION:EC2 執行個體和 RDS 資料庫所在的 AWS 區域。這個旗標是選用的。如果您未提供這個標記,系統會找出所有已啟用 AWS 區域的資產。

    輸出內容應如下所示:

      [+] 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
    

後續步驟