cloud-architect by jeffallan/claude-skills
npx skills add https://github.com/jeffallan/claude-skills --skill cloud-architect设计完成后: 确认每个组件都有冗余策略,且拓扑中不存在单点故障。
迁移切换前: 验证 VPC 对等连接或连通性是否完全建立:
# AWS: 确认对等连接状态为 Active 后再继续
aws ec2 describe-vpc-peering-connections \
--filters "Name=status-code,Values=active"
# Azure: 确认 VNet 对等连接状态
az network vnet peering list \
--resource-group myRG --vnet-name myVNet \
--query "[].{Name:name,State:peeringState}"
迁移完成后: 验证应用程序健康状态和路由:
# AWS: 检查 ALB 中的目标组健康状况
aws elbv2 describe-target-health \
--target-group-arn arn:aws:elasticloadbalancing:...
确认达到 RTO/RPO 目标;记录实际恢复时间。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
根据上下文加载详细指导:
| 主题 | 参考 | 加载时机 |
|---|---|---|
| AWS 服务 | references/aws.md | EC2、S3、Lambda、RDS、完善架构框架 |
| Azure 服务 | references/azure.md | 虚拟机、存储、函数、SQL、云采用框架 |
| GCP 服务 | references/gcp.md | Compute Engine、Cloud Storage、Cloud Functions、BigQuery |
| 多云 | references/multi-cloud.md | 抽象层、可移植性、缓解供应商锁定 |
| 成本优化 | references/cost.md | 预留实例、竞价实例、合理调整规模、FinOps 实践 |
使用针对特定资源和操作范围的权限策略,而非宽泛的策略:
# AWS: 为应用程序创建限定范围的角色
aws iam create-role \
--role-name AppRole \
--assume-role-policy-document file://trust-policy.json
aws iam put-role-policy \
--role-name AppRole \
--policy-name AppInlinePolicy \
--policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::my-app-bucket/*"
}]
}'
# Terraform 等效代码
resource "aws_iam_role" "app_role" {
name = "AppRole"
assume_role_policy = data.aws_iam_policy_document.trust.json
}
resource "aws_iam_role_policy" "app_policy" {
role = aws_iam_role.app_role.id
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:PutObject"]
Resource = "${aws_s3_bucket.app.arn}/*"
}]
})
}
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
tags = { Name = "main", CostCenter = var.cost_center }
}
resource "aws_subnet" "private" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = cidrsubnet("10.0.0.0/16", 8, count.index)
availability_zone = data.aws_availability_zones.available.names[count.index]
}
resource "aws_subnet" "public" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = cidrsubnet("10.0.0.0/16", 8, count.index + 10)
availability_zone = data.aws_availability_zones.available.names[count.index]
map_public_ip_on_launch = true
}
resource "aws_autoscaling_group" "app" {
desired_capacity = 2
min_size = 1
max_size = 10
vpc_zone_identifier = aws_subnet.private[*].id
launch_template {
id = aws_launch_template.app.id
version = "$Latest"
}
tag {
key = "CostCenter"
value = var.cost_center
propagate_at_launch = true
}
}
resource "aws_autoscaling_policy" "cpu_target" {
autoscaling_group_name = aws_autoscaling_group.app.name
policy_type = "TargetTrackingScaling"
target_tracking_configuration {
predefined_metric_specification {
predefined_metric_type = "ASGAverageCPUUtilization"
}
target_value = 60.0
}
}
# AWS: 识别过去 30 天的主要成本驱动因素
aws ce get-cost-and-usage \
--time-period Start=$(date -d '30 days ago' +%Y-%m-%d),End=$(date +%Y-%m-%d) \
--granularity MONTHLY \
--metrics "UnblendedCost" \
--group-by Type=DIMENSION,Key=SERVICE \
--query 'ResultsByTime[0].Groups[*].{Service:Keys[0],Cost:Metrics.UnblendedCost.Amount}' \
--output table
# Azure: 按资源组审查支出
az consumption usage list \
--start-date $(date -d '30 days ago' +%Y-%m-%d) \
--end-date $(date +%Y-%m-%d) \
--query "[].{ResourceGroup:resourceGroup,Cost:pretaxCost,Currency:currency}" \
--output table
设计云架构时,请提供:
每周安装次数
935
仓库
GitHub 星标数
7.2K
首次出现时间
2026年1月20日
安全审计
安装于
opencode782
gemini-cli756
codex739
claude-code723
github-copilot705
cursor668
After Design: Confirm every component has a redundancy strategy and no single points of failure exist in the topology.
Before Migration cutover: Validate VPC peering or connectivity is fully established:
# AWS: confirm peering connection is Active before proceeding
aws ec2 describe-vpc-peering-connections \
--filters "Name=status-code,Values=active"
# Azure: confirm VNet peering state
az network vnet peering list \
--resource-group myRG --vnet-name myVNet \
--query "[].{Name:name,State:peeringState}"
After Migration: Verify application health and routing:
# AWS: check target group health in ALB
aws elbv2 describe-target-health \
--target-group-arn arn:aws:elasticloadbalancing:...
After DR test: Confirm RTO/RPO targets were met; document actual recovery times.
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| AWS Services | references/aws.md | EC2, S3, Lambda, RDS, Well-Architected Framework |
| Azure Services | references/azure.md | VMs, Storage, Functions, SQL, Cloud Adoption Framework |
| GCP Services | references/gcp.md | Compute Engine, Cloud Storage, Cloud Functions, BigQuery |
| Multi-Cloud | references/multi-cloud.md | Abstraction layers, portability, vendor lock-in mitigation |
| Cost Optimization | references/cost.md |
Rather than broad policies, scope permissions to specific resources and actions:
# AWS: create a scoped role for an application
aws iam create-role \
--role-name AppRole \
--assume-role-policy-document file://trust-policy.json
aws iam put-role-policy \
--role-name AppRole \
--policy-name AppInlinePolicy \
--policy-document '{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::my-app-bucket/*"
}]
}'
# Terraform equivalent
resource "aws_iam_role" "app_role" {
name = "AppRole"
assume_role_policy = data.aws_iam_policy_document.trust.json
}
resource "aws_iam_role_policy" "app_policy" {
role = aws_iam_role.app_role.id
policy = jsonencode({
Version = "2012-10-17"
Statement = [{
Effect = "Allow"
Action = ["s3:GetObject", "s3:PutObject"]
Resource = "${aws_s3_bucket.app.arn}/*"
}]
})
}
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_hostnames = true
tags = { Name = "main", CostCenter = var.cost_center }
}
resource "aws_subnet" "private" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = cidrsubnet("10.0.0.0/16", 8, count.index)
availability_zone = data.aws_availability_zones.available.names[count.index]
}
resource "aws_subnet" "public" {
count = 2
vpc_id = aws_vpc.main.id
cidr_block = cidrsubnet("10.0.0.0/16", 8, count.index + 10)
availability_zone = data.aws_availability_zones.available.names[count.index]
map_public_ip_on_launch = true
}
resource "aws_autoscaling_group" "app" {
desired_capacity = 2
min_size = 1
max_size = 10
vpc_zone_identifier = aws_subnet.private[*].id
launch_template {
id = aws_launch_template.app.id
version = "$Latest"
}
tag {
key = "CostCenter"
value = var.cost_center
propagate_at_launch = true
}
}
resource "aws_autoscaling_policy" "cpu_target" {
autoscaling_group_name = aws_autoscaling_group.app.name
policy_type = "TargetTrackingScaling"
target_tracking_configuration {
predefined_metric_specification {
predefined_metric_type = "ASGAverageCPUUtilization"
}
target_value = 60.0
}
}
# AWS: identify top cost drivers for the last 30 days
aws ce get-cost-and-usage \
--time-period Start=$(date -d '30 days ago' +%Y-%m-%d),End=$(date +%Y-%m-%d) \
--granularity MONTHLY \
--metrics "UnblendedCost" \
--group-by Type=DIMENSION,Key=SERVICE \
--query 'ResultsByTime[0].Groups[*].{Service:Keys[0],Cost:Metrics.UnblendedCost.Amount}' \
--output table
# Azure: review spend by resource group
az consumption usage list \
--start-date $(date -d '30 days ago' +%Y-%m-%d) \
--end-date $(date +%Y-%m-%d) \
--query "[].{ResourceGroup:resourceGroup,Cost:pretaxCost,Currency:currency}" \
--output table
When designing cloud architecture, provide:
Weekly Installs
935
Repository
GitHub Stars
7.2K
First Seen
Jan 20, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode782
gemini-cli756
codex739
claude-code723
github-copilot705
cursor668
Azure 升级评估与自动化工具 - 轻松迁移 Functions 计划、托管层级和 SKU
59,200 周安装
Grimoire CLI 使用指南:区块链法术编写、验证与执行全流程
940 周安装
Grimoire Uniswap 技能:查询 Uniswap 元数据与生成代币/资金池快照的 CLI 工具
940 周安装
Grimoire Aave 技能:查询 Aave V3 元数据和储备快照的 CLI 工具
941 周安装
Railway CLI 部署指南:使用 railway up 命令快速部署代码到 Railway 平台
942 周安装
n8n Python 代码节点使用指南:在自动化工作流中编写 Python 脚本
943 周安装
Flutter Platform Views 实现指南:Android/iOS/macOS原生视图与Web嵌入教程
943 周安装
| Reserved instances, spot, right-sizing, FinOps practices |