基于 SOC 职业分类
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ffsshhttiikk/opencode-agents-skills --skill multi-cloud命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | multi-cloud |
| description | Multi-cloud architecture and management |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"architect, devops-engineer","category":"devops"} |
┌──────────────────┐
│ Internet │
└────────┬─────────┘
│
┌──────────────┼──────────────┐
│ │ │
┌──────▼──────┐ ┌─────▼─────┐ ┌──────▼──────┐
│ AWS │ │ Azure │ │ GCP │
│ (Primary) │ │(Secondary)│ │ (Backup) │
└──────┬──────┘ └─────┬─────┘ └──────┬──────┘
│ │ │
└──────────────┼──────────────┘
│
┌────────▼─────────┐
│ Cross-Cloud │
│ Load Balancer │
└──────────────────┘
# AWS to GCP via Cloud Interconnect
resource "aws_dx_connection" "aws_to_gcp" {
name = "aws-gcp-interconnect"
bandwidth = "1Gbps"
location = "EqDC2"
provider = aws.aws_primary
}
# Azure to AWS via VPN
resource "azurerm_virtual_network_gateway" "azure_to_aws" {
name = "azure-vpn-gateway"
location = "eastus"
resource_group_name = "rg-main"
type = "Vpn"
vpn_type = "RouteBased"
ip_configuration {
public_ip_address_id = azurerm_public_ip.vpn.id
subnet_id = azurerm_subnet.gateway.id
}
}
# Federation V2
apiVersion: core.kubefed.io/v1beta1
kind: KubeFedConfig
metadata:
name: kubefed
spec:
scope: Namespaced
featureGates:
- name: PushReconciler
configuration: Enabled
- name: SchedulerPreferences
configuration: Enabled
---
# Federated Deployment
apiVersion: types.kubefed.io/v1beta1
kind: FederatedDeployment
metadata:
name: myapp
spec:
template:
spec:
replicas: 3
selector:
matchLabels:
app: myapp
placement:
clusters:
- name: aws-cluster
- name: azure-cluster
| Category | Tools |
|---|---|
| IaC | Terraform, Pulumi |
| Containers | Kubernetes, Docker |
| Orchestration | Nomad, Kubernetes |
| Monitoring | Prometheus, Grafana |
| Service Mesh | Istio, Linkerd |
| Serverless | Knative, OpenFaaS |
# AWS IAM Roles Anywhere
- role:
arn: arn:aws:iam::123456789012:role/CrossCloudRole
credential_source:
environment:
name: AWS_ACCESS_KEY_ID
# Azure AD with AWS
resource "azuread_application" "multi_cloud" {
display_name = "MultiCloudApp"
}
resource "azuread_service_principal" "multi_cloud" {
application_id = azuread_application.multi_cloud.application_id
}
RTO (Recovery Time Objective): 1 hour
RPO (Recovery Point Objective): 15 minutes
Active-Passive:
Primary: AWS (eu-west-1)
Secondary: Azure (eastus)
Replication: Async database replication
Failover: DNS switch
Active-Active:
Primary: AWS (us-east-1)
Secondary: GCP (us-central1)
Sync: Multi-region database
Traffic: Weighted DNS
# Multi-cloud cost analysis
class CloudCostAnalyzer:
def __init__(self):
self.aws_client = boto3.client('ce')
self.azure_client = azure.mgmt.costmanagement.QueryClient()
def get_total_cost(self):
aws_costs = self.aws_client.get_cost_and_usage(
TimePeriod={'Start': '2024-01-01', 'End': '2024-01-31'},
Granularity='MONTHLY',
Metrics=['UnblendedCost']
)
azure_costs = self.azure_client.query(
scope=f"/subscriptions/{self.azure_sub_id}",
parameters={
'type': 'ActualCost',
'timeframe': 'MonthToDate',
}
)
return self.aggregate_costs(aws_costs, azure_costs)