במסמך הזה מוסבר איך להריץ גילוי מלאי בחשבון Amazon Web Services (AWS) באמצעות ה-CLI של לקוח הגילוי של Migration Center.
אפשר להשתמש ב-mcdc CLI כדי לאסוף מידע על הנכסים הבאים בחשבון AWS:
- Amazon Elastic Compute Cloud (EC2)
- Amazon Relational Database Service (RDS)
- Microsoft SQL Server
- MySQL
- PostgreSQL
- Amazon CloudFront (תצוגה מקדימה)
- Amazon DynamoDB (תצוגה מקדימה)
- Amazon Elastic Container Service (ECS) (תצוגה מקדימה)
- Amazon Elastic File System (EFS) (תצוגה מקדימה)
- Amazon Elastic Kubernetes Service (EKS) (תצוגה מקדימה)
- Amazon Redshift (תצוגה מקדימה)
- Amazon Route53 (תצוגה מקדימה)
- Amazon Simple Storage Service (S3) (תצוגה מקדימה)
- ענן וירטואלי פרטי (VPC) של Amazon (תצוגה מקדימה)
- Amazon API Gateway (תצוגה מקדימה)
- מאזן עומסים של אפליקציות (ALB) (תצוגה מקדימה)
- AWS AppSync (Preview)
- AWS Lambda (תצוגה מקדימה)
- AWS Batch (Preview)
- Amazon Elastic Container Registry (ECR) (תצוגה מקדימה)
- Amazon EC2 Auto Scaling (טרום השקה)
- Amazon Elastic Block Store (EBS) (תצוגה מקדימה)
- Amazon VPC Internet Gateway (תצוגה מקדימה)
- Amazon VPC NAT Gateway (תצוגה מקדימה)
- כתובת IP גמישה (EIP) (גרסת Preview)
- Elastic Load Balancing (ELB) (תצוגה מקדימה)
- Elastic Network Interface (ENI) (תצוגה מקדימה)
- Simple Notification Service (SNS) (תצוגה מקדימה)
לאחר מכן, כלי ה-CLI mcdc שולח את המידע שנאסף ל-Migration Center, שבו אפשר להשלים את ההערכה.
מגבלות
כשמריצים גילוי מלאי בחשבון AWS, יש ל-CLI של mcdc את המגבלות הבאות:
- בדוח על העלות הכוללת של הבעלות נכללים רק נכסים מסוג EC2 ו-RDS. כדי לייצא ולנתח את כל סוגי הנכסים מחוץ ל-Migration Center, צריך לייצא את המלאי.
- המידע הבא לגבי מופעי EC2 לא נאסף:
- לא נאסף שימוש בזיכרון. כדי לאסוף את המידע הזה, צריך לוודא שהסוכן של Amazon CloudWatch מותקן ומוגדר במופעי EC2.
- לפנות מקום בכונן. כדי לאסוף את המידע הזה, מריצים גילוי אורחים.
- אי אפשר להריץ את
mcdcCLI במכונות Linux כדי לאסוף נתונים ממכונות AWS Windows EC2. כדי לאסוף מידע ממופעי Windows EC2, מריצים אתmcdcCLI במחשב Windows.
נתונים שנאספים במהלך גילוי המלאי
mcdc CLI אוסף את הנתונים הבאים משירותי AWS הנתמכים:
| סוג הנכס | נתונים שנאספו |
|---|---|
| Amazon EC2 |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon RDS |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon S3 |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon EKS |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon ECS |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Elastic Load Balancing (ELB) |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Lambda |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon CloudFront |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon EFS |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Redshift |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon VPC |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon DynamoDB |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon NAT Gateway |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Route53 |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon ECR |
לוחצים כדי להציג את הנתונים שנאספו.
|
| כתובת IP גמישה (EIP) |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Elastic Network Interface (ENI) |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Elastic Block Store (EBS) |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon EC2 Auto Scaling |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Batch |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon AppSync |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Simple Notification Service (SNS) |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon API Gateway |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Internet Gateway |
לוחצים כדי להציג את הנתונים שנאספו.
|
| Amazon Application Load Balancer (ALB) |
לוחצים כדי להציג את הנתונים שנאספו.
|
ה-CLI של mcdc אוסף מדדים לגבי 30 הימים האחרונים, למעט נתוני השימוש בזיכרון של מסד הנתונים. ב-AWS, כברירת מחדל, נשמרים נתונים של עד 7 ימים בלבד לגבי השימוש בזיכרון של מסד הנתונים, ולכן ממשק mcdc CLI אוסף נתונים רק מ-7 הימים האחרונים.
לפני שמתחילים
לפני שמתחילים את תהליך גילוי המלאי, צריך לבצע את השלבים הבאים:
- בודקים את הדרישות להורדה ולהרצה של
mcdcCLI. - בוחרים איפה להוריד את
mcdcCLI ומשלימים את השלבים להורדתmcdcCLI. - מוודאים שיש לכם גישה לחשבון AWS.
בחירת המיקום להורדה של mcdc CLI
אפשר להוריד את mcdc CLI למחשבי Linux ולמחשבי Windows. מומלץ להשתמש במופע Windows EC2 כדי להוריד ולהריץ את mcdc CLI, כי הוא תומך בכל שיטות האיסוף הזמינות.
אפשר להוריד את mcdc CLI למיקום עם גישה לנכסי היעד, כמו:
- AWS CloudShell
- מכונת EC2 עם Linux
- מכונת EC2 של Windows
- כל מחשב שבו התקנתם את
mcdcCLI ויש לכם גישה מרחוק לחשבון AWS.
הוראות להורדת mcdc CLI מופיעות במאמר הורדת mcdc CLI.
יצירת מדיניות AWS IAM
כדי לתת הרשאה ל-CLI של mcdc לקרוא את נתוני מלאי הנכסים של AWS, צריך ליצור מדיניות AWS IAM עם ההרשאות הבאות:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"apigateway:GetRestApis",
"apigateway:GetTags",
"appsync:ListGraphqlApis",
"appsync:ListTagsForResource",
"autoscaling:DescribeAutoScalingGroups",
"batch:DescribeComputeEnvironments",
"cloudfront:ListDistributions",
"cloudfront:ListTagsForResource",
"cloudwatch:DescribeAlarms",
"cloudwatch:GetMetricData",
"cloudwatch:ListTagsForResource",
"dynamodb:DescribeContinuousBackups",
"dynamodb:DescribeTable",
"dynamodb:ListTables",
"dynamodb:ListTagsOfResource",
"ec2:DescribeAddresses",
"ec2:DescribeInstances",
"ec2:DescribeInstanceTypes",
"ec2:DescribeInternetGateways",
"ec2:DescribeNatGateways",
"ec2:DescribeNetworkAcls",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeRegions",
"ec2:DescribeSubnets",
"ec2:DescribeVolumes",
"ec2:DescribeVpcs",
"ecr:DescribeRepositories",
"ecr:GetEncryptionConfiguration",
"ecr:ListTagsForResource",
"ecs:DescribeClusters",
"ecs:DescribeContainerInstances",
"ecs:DescribeServices",
"ecs:DescribeTasks",
"ecs:ListClusters",
"ecs:ListContainerInstances",
"ecs:ListServices",
"ecs:ListTasks",
"efs:DescribeAccessPoints",
"efs:DescribeBackupPolicy",
"efs:DescribeFileSystems",
"efs:DescribeLifecycleConfiguration",
"efs:DescribeMountTargets",
"efs:DescribeReplicationConfigurations",
"efs:ListTagsForResource",
"eks:DescribeCluster",
"eks:DescribeFargateProfile",
"eks:DescribeNodegroup",
"eks:ListClusters",
"eks:ListFargateProfiles",
"eks:ListNodegroups",
"elasticloadbalancing:DescribeInstanceHealth",
"elasticloadbalancing:DescribeListeners",
"elasticloadbalancing:DescribeLoadBalancers",
"elasticloadbalancing:DescribeRules",
"elasticloadbalancing:DescribeTags",
"elasticloadbalancing:DescribeTargetGroups",
"elasticloadbalancing:DescribeTargetHealth",
"lambda:GetFunctionConcurrency",
"lambda:ListEventSourceMappings",
"lambda:ListFunctions",
"lambda:ListTags",
"pi:GetResourceMetrics",
"rds:DescribeDBEngineVersions",
"rds:DescribeDBInstances",
"redshift:DescribeClusters",
"redshift-serverless:GetNamespace",
"redshift-serverless:ListSnapshotCopyConfigurations",
"redshift-serverless:ListTagsForResource",
"redshift-serverless:ListWorkgroups",
"route53:GetHostedZone",
"route53:ListHostedZones",
"route53:ListResourceRecordSets",
"route53:ListTagsForResource",
"s3:GetBucketLocation",
"s3:GetBucketTagging",
"s3:GetBucketVersioning",
"s3:GetLifecycleConfiguration",
"s3:ListAllMyBuckets",
"sns:GetTopicAttributes",
"sns:ListTagsForResource",
"sns:ListTopics",
"ssm:DescribeInstanceInformation"
],
"Resource": "*"
}
]
}
אימות ל-AWS
כדי לתת ל-mcdc CLI הרשאה לגשת לסביבת AWS, צריך לאמת את החשבון באחת מהשיטות הבאות:
שימוש בפרטי הכניסה הקיימים של AWS
כדי להשתמש בפרטי הכניסה הקיימים שלכם ב-AWS, מריצים את פקודות ה-CLI של mcdc ישירות מ-AWS Cloud Shell.
אם מריצים את ה-CLI של mcdc מ-AWS Cloud Shell, אפשר להשתמש בפרטי הכניסה הקיימים בלי מפתח גישה. במקרה כזה, CLI של mcdc יכול לגשת לסביבת AWS כדי לגלות נכסי AWS, כי הגישה ניתנת על ידי פרטי הכניסה שלכם.
יצירת מפתח גישה ל-CLI של mcdc
כדי ליצור מפתח גישה ל-CLI של mcdc:
- יוצרים משתמש IAM ייעודי כדי לקיים אינטראקציה עם AWS API.
- מצרפים את מדיניות IAM שיצרתם בקטע הקודם למשתמש החדש.
במסוף AWS, עוברים למשתמש IAM שיצרתם בשלב הקודם ולוחצים על User (משתמש) > Security Credentials (אמצעי אבטחה) > Create access key (יצירת מפתח גישה) > Other (אחר) > Next (הבא) > Create access key (יצירת מפתח גישה).
מידע נוסף זמין במאמר יצירת מפתח גישה.
מאחסנים את מזהה מפתח הגישה ואת מפתח הגישה. המידע הזה נחוץ כדי לסרוק את המלאי ב-AWS.
אופציונלי: הגדרת גישה לאיסוף נתונים ממערכת הפעלה אורחת
נתוני מערכת ההפעלה של האורח משפרים את דוחות התמחור, דוחות הרישיונות וייצוא פרטי הנכסים. הנתונים האלה גם עוזרים להעריך את ההתאמה להעברות של קונטיינרים אל Google Kubernetes Engine, GKE Autopilot ו-Cloud Run. אם אתם לא רוצים לאסוף נתונים על מערכת ההפעלה, אתם יכולים לדלג על הקטע הזה.
כדי לאסוף נתונים ממערכת ההפעלה של האורח, תחנת העבודה שבה מריצים את mcdc CLI
צריכה להתחבר למופעי EC2 של היעד. חשוב לוודא שהיציאות הבאות פתוחות במופעי EC2 של היעד:
- יציאה 22 (SSH) למחשבי Linux
- יציאה 135 (WMI) למחשבי Windows
איתור נכסים בחשבון AWS
כדי לגלות נכסים בחשבון AWS:
במסוף של שורת הפקודה, עוברים לספרייה שבה הורדתם את ה-CLI של
mcdc.מריצים את הגילוי:
AWS CloudShell
כדי לגלות נכסים בחשבון AWS, מריצים את הפקודה הבאה:
Linux
./mcdc discover aws --host-config \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]Windows
mcdc.exe discover aws --host-config \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]מחליפים את מה שכתוב בשדות הבאים:
- AWS_SERVICE_NAMES: סוגי הנכסים שרוצים לגלות.
צריך להזין רשימה מופרדת בפסיקים. הערכים הנתמכים הם
alb,apigateway,appsync,autoscaling,batch,cloudfront,db(RDS),dynamodb,ebs,ecr,ecs,efs,eip,eks,elb,eni,internetgateway,lambda,natgateway,redshift,route53,s3,sns,vm(EC2) ו-vpc. אם לא תספקו את הדגל הזה, המערכת תגלה את כל סוגי הנכסים הנתמכים. - AWS_REGION: האזור ב-AWS שבו נמצאות מכונות EC2 ומסדי נתונים של RDS. הדגל הזה הוא אופציונלי. אם לא תספקו את הדגל הזה, המערכת תגלה נכסים מכל האזורים המופעלים ב-AWS.
מפתח גישה של AWS
כדי לגלות נכסים בחשבון AWS באמצעות מזהה מפתח הגישה ומפתח הגישה של AWS, מריצים את הפקודה הבאה:
Linux
./mcdc discover aws --access-key-id AWS_ACCESS_KEY_ID \
--secret-access-key AWS_ACCESS_KEY \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]Windows
mcdc.exe discover aws --access-key-id AWS_ACCESS_KEY_ID \
--secret-access-key AWS_ACCESS_KEY \
[--services AWS_SERVICE_NAMES] \
[--region AWS_REGION]מחליפים את מה שכתוב בשדות הבאים:
- AWS_ACCESS_KEY_ID: מזהה מפתח הגישה שנוצר בקטע יצירת מפתח גישה ל-CLI של
mcdc. - AWS_ACCESS_KEY: מפתח הגישה שיצרתם בקטע יצירת מפתח גישה ל-CLI של
mcdc. - AWS_SERVICE_NAMES: סוגי הנכסים שרוצים לגלות.
צריך להזין רשימה מופרדת בפסיקים. הערכים הנתמכים הם
alb,apigateway,appsync,autoscaling,batch,cloudfront,db(RDS),dynamodb,ebs,ecr,ecs,efs,eip,eks,elb,eni,internetgateway,lambda,natgateway,redshift,route53,s3,sns,vm(EC2) ו-vpc. אם לא תספקו את הדגל הזה, המערכת תגלה את כל סוגי הנכסים הנתמכים. - AWS_REGION: האזור ב-AWS שבו נמצאים הנכסים שלכם ב-AWS. הדגל הזה הוא אופציונלי. אם לא מציינים את הדגל הזה, המערכת מאתרת נכסים מכל האזורים המופעלים ב-AWS.
הפלט אמור להיראות כך:
[+] Collecting for AWS Account: 123456789012 [+] Collecting RDS in region eu-north-1 [✓] Collected 0 DB instances [!] No DB instances found [+] Collecting ECS in region eu-north-1 [+] Successfully collected data for 2 ECS clusters in region eu-north-1 [+] Collecting S3... [+] Successfully collected data for 74 S3 buckets [✓] Collection completed.- AWS_SERVICE_NAMES: סוגי הנכסים שרוצים לגלות.
צריך להזין רשימה מופרדת בפסיקים. הערכים הנתמכים הם
אופציונלי: כדי לבדוק את הנתונים שנאספו, מריצים את הפקודה הבאה:
Linux
./mcdc discover ls
Windows
mcdc.exe discover ls
הפלט אמור להיראות כך:
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 AWS CloudFront Distribution: 2 assets were collected. AWS ECS Cluster: 3 assets were collected. AWS EFS: 5 assets were collected. AWS Elastic Load Balancer: 7 assets were collected. AWS Lambda: 9 assets were collected. AWS Redshift: 2 assets were collected. AWS S3 Bucket: 77 assets were collected. AWS VPC: 84 assets were collected.אפשר להשתמש בדגל
--asset-typesכדי להציג נכסים מסוג מסוים. לדוגמה, כדי להציג רק מופעי EC2, מריצים את הפקודה הבאה:Linux
./mcdc discover ls --asset-types=vm
Windows
mcdc.exe discover ls --asset-types=vm
כשמשתמשים בדגל
--asset-types, יש תמיכה רק בסוגי הנכסים הבאים:-
db: Relational Database Service (RDS) -
vm: Elastic Compute Cloud (EC2)
-
אחרי שתגלו את הנכסים, תוכלו לייצא את הנתונים שנאספו אל Migration Center כדי לראות את הנכסים.
המאמרים הבאים
- איך מייצאים נתונים שנאספו אל Migration Center
- איך מייצאים נתוני מלאי וביצועים
- איך יוצרים דוחות על עלות כוללת של בעלות