利用可定制的IaC工作流自动化多云迁移和基础设施部署,适用于云战略规划、基础设施等需求。
概览 : 云雾是一种生产级技能,用于自动化复杂的云迁移和基础设施部署,跨越AWS,Azure,GCP和混合环境.是一项面向实际任务的技能,主要用于IUDMigrate an Production-class exploration.;IFRAs 协调了Infras.。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
CloudMigrate 是一款面向生产环境的技能,用于自动化跨 AWS、Azure、GCP 及混合环境的复杂云迁移与基础设施部署。它协调基础设施即代码(IaC)生成、多步骤部署工作流、服务发现、数据迁移规划及环境配置,彻底消除易出错且拖慢投产进度的手动流程。
CloudMigrate 的核心价值:
典型使用场景:
立即尝试以下提示词,直观体验 CloudMigrate 的能力:
为一个包含 50 台服务器的本地数据中心制定迁移到 AWS 的方案。 该环境包括: - 10 台运行遗留应用(后端为 SQL Server)的 Windows 服务器 - 20 台运行 Apache/PHP 的 Linux Web 服务器 - 15 台数据库服务器(MySQL、PostgreSQL) - 网络:10.0.0.0/8,含 5 个子网 请生成: 1. 网络架构图(以代码形式输出) 2. VPC、子网、安全组的 Terraform 配置 3. AWS Database Migration Service(DMS)配置 4. 成本估算(三年总拥有成本 TCO 对比) 5. 风险评估及应对措施
为一个生产级 SaaS 应用生成 Terraform 代码,要求包含: - 开发、预发布与生产三套环境 - 应用负载均衡器(ALB)路由至自动伸缩组(ASG) - RDS PostgreSQL(含只读副本) - ElastiCache Redis 集群(用于会话管理) - 启用版本控制与加密的 S3 存储桶 - CloudFront CDN 配置 - 基于 CloudWatch 与 SNS 的监控告警体系 同时包含: - 环境变量文件(.tfvars) - 使用 DynamoDB 实现的 Terraform 状态锁 - 最小权限原则下的 IAM 角色与策略 - 自动化备份与灾难恢复机制
生成 Azure 混合云部署所需的基础设施即代码(IaC): - 将本地 Hyper-V 虚拟机迁移至 Azure - 配置 Azure ExpressRoute 连接 - Azure SQL Database 故障转移组(含只读副本) - App Service 配置部署槽(staging slots),支持蓝绿部署 - Azure DevOps 流水线实现自动化测试 - Application Insights 监控体系 请提供: 1. Bicep 模板(Azure 原生 IaC) 2. 网络配置与安全策略 3. Azure Migrate 评估报告及配套脚本 4. 包含验证步骤的切换(cutover)时间表 5. 回滚操作流程
为微服务架构平台构建完整的 Kubernetes 基础设施: - AWS 上的 EKS 集群(多可用区部署) - 容器镜像仓库(ECR) - 5 个微服务的 Helm Chart - 持久化存储(EBS 卷) - 支持 TLS 的 Ingress 控制器 - Istio 服务网格(用于流量治理) - Prometheus + Grafana 监控栈 - RBAC 权限控制与网络策略(Network Policies) 同时包含部署脚本及基于 Flux 的 GitOps 工作流。
功能说明:将自然语言描述的需求自动转换为可用于生产的 Terraform、CloudFormation、Bicep 或 Ansible 代码。
使用示例:
生成一个安全的多可用区 RDS PostgreSQL 集群 Terraform 模块,要求包含: - 自动备份(保留期 30 天) - 静态加密(KMS)与传输中加密(TLS) - IAM 数据库身份认证 - 启用 Performance Insights - 针对 PostgreSQL 14 的参数组调优 - 跨 3 个可用区的子网组
支持的 IaC 框架:
功能说明:评估源环境并生成针对目标云平台的定制化迁移策略。
输出内容包括:
功能说明:构建安全、可验证的分步式自动化部署工作流。
功能特性:
功能说明:生成支持零停机的数据迁移脚本与操作流程。
能力覆盖:
功能说明:将安全最佳实践深度嵌入生成的基础设施中。
涵盖内容:
功能说明:推荐成本节约策略并量化预期收益。
输出内容:
# AWS export AWS_ACCESS_KEY_ID="your-access-key" export AWS_SECRET_ACCESS_KEY="your-secret-key" export AWS_REGION="us-east-1" # Azure export AZURE_SUBSCRIPTION_ID="your-subscription-id" export AZURE_CLIENT_ID="your-client-id" export AZURE_CLIENT_SECRET="your-client-secret" export AZURE_TENANT_ID="your-tenant-id" # GCP export GCP_PROJECT_ID="your-project-id" export GCP_SERVICE_ACCOUNT_JSON="/path/to/service-account.json" # CloudMigrate 特定配置 export CLOUDMIGRATE_STATE_BUCKET="your-terraform-state-bucket" export CLOUDMIGRATE_SLACK_WEBHOOK="https://hooks.slack.com/services/YOUR/WEBHOOK" export CLOUDMIGRATE_GITHUB_TOKEN="your-github-pat-token" export CLOUDMIGRATE_VAULT_ADDR="https://vault.example.com"
安装必要二进制工具:
# macOS(Homebrew) brew install terraform ansible awscli azure-cli google-cloud-sdk docker # Linux(Debian/Ubuntu) sudo apt-get install -y terraform ansible awscli azure-cli docker.io # Windows(Chocolatey) choco install terraform ansible awscli azure-cli docker-desktop
云平台身份认证:
# AWS aws configure # Azure az login # GCP gcloud auth application-default login
初始化 Terraform 状态后端:
cloudmigrate init-backend --provider aws --bucket my-terraform-state --region us-east-1
配置 Slack 集成(可选):
cloudmigrate config slack --webhook-url "https://hooks.slack.com/services/YOUR/WEBHOOK" --channel "#infrastructure"
# cloudmigrate-config.yaml
migration:
strategy: "lift-and-shift" # 或 "refactor"、"replatform"、"repurchase"
parallelization:
max_concurrent_deployments: 5
max_concurrent_migrations: 3
validation:
pre_deployment_checks: true
post_deployment_tests: true
health_check_retries: 5
cloud_targets:
aws:
regions: ["us-east-1", "us-west-2", "eu-west-1"]
instance_types: ["t3.medium", "m5.large", "c5.xlarge"]
azure:
regions: ["eastus", "westeurope"]
vm_sizes: ["Standard_B2s", "Standard_D2s_v3"]
gcp:
regions: ["us-central1", "europe-west1"]
machine_types: ["e2-medium", "n2-standard-2"]
security:
encryption_at_rest: true
encryption_in_transit: true
enable_mfa: true
compliance_framework: "pci-dss" # 或 "hipaa"、"gdpr"、"sox"
cost_optimization:
reserved_instances: true
spot_instances: false
auto_shutdown_dev: true
budget_alerts: true
# main.tf — CloudMigrate 自动生成
terraform {
required_version = ">= 1.0"
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
backend "s3" {
bucket = "my-terraform-state"
key = "production/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-locks"
encrypt = true
}
}
provider "aws" {
region = var.aws_region
default_tags {
tags = {
Environment = var.environment
ManagedBy = "CloudMigrate"
Project = var.project_name
}
}
}
# 含私有/公有子网的 VPC
resource "aws_vpc" "main" {
cidr_block = var.vpc_cidr
enable_dns_hostnames = true
enable_dns_support = true
tags = {
Name = "${var.project_name}-vpc"
}
}
# 遵循最小权限原则的安全组
resource "aws_security_group" "app" {
name = "${var.project_name}-app-sg"
description = "Security group for application tier"
vpc_id = aws_vpc.main.id
ingress {
from_port = 443
to_port = 443
protocol = "tcp"
security_groups = [aws_security_group.alb.id]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Name = "${var.project_name}-app-sg"
}
}
# 启用加密的 RDS PostgreSQL 实例
resource "aws_db_instance" "postgres" {
allocated_storage = var.db_storage_gb
engine = "postgres"
engine_version = "14.7"
instance_class = var.db_instance_class
db_name = var.db_name
username = var.db_username
password = random_password.db.result
parameter_group_name = aws_db_parameter_group.postgres.name
skip_final_snapshot = false
final_snapshot_identifier = "${var.project_name}-final-snapshot-${formatdate("YYYY-MM-DD-hhmm", timestamp())}"
# 安全配置
storage_encrypted = true
kms_key_id = aws_kms_key.db.arn
publicly_accessible = false
db_subnet_group_name = aws_db_subnet_group.main.name
vpc_security_group_ids = [aws_security_group.database.id]
# 高可用性
multi_az = true
backup_retention_period = 30
backup_window = "03:00-04:00"
maintenance_window = "sun:04:00-sun:05:00"
# 性能配置
performance_insights_enabled = true
performance_insights_retention_period = 7
enabled_cloudwatch_logs_exports = ["postgresql"]
tags = {
Name = "${var.project_name}-postgres"
}
depends_on = [aws_security_group.database]
}
# 自动伸缩组(ASG)
resource "aws_autoscaling_group" "app" {
name = "${var.project_name}-asg"
vpc_zone_identifier = aws_subnet.private[*].id
target_group_arns = [aws_lb_target_group.app.arn]
health_check_type = "ELB"
health_check_grace_period = 300
launch_template {
id = aws_launch_template.app.id
version = "$Latest"
}
min_size = var.asg_min_size
max_size = var.asg_max_size
desired_capacity = var.asg_desired_capacity
tag {
key = "Name"
value = "${var.project_name}-asg-instance"
propagate_at_launch = true
}
tag {
key = "Environment"
value = var.environment
propagate_at_launch = true
}
}
{
"assessment_id": "mig-2024-001",
"timestamp": "2024-01-15T10:30:00Z",
"source_environment": {
"type": "on-premises",
"location": "data-center-01",
"total_servers": 47,
"total_storage_gb": 5120,
"total_vms": {
"windows": 10,
"linux": 37
}
},
"target_environment": {
"provider": "aws",
"regions": ["us-east-1", "us-west-2"],
"estimated_monthly_cost": 18500
},
"migration_strategy": "lift-and-shift",
"timeline": {
"assessment_phase": "2 weeks",
"planning_phase": "4 weeks",
"migration_phase": "12 weeks",
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习
最新文章