Skip to main content

aws-architect

AWS architecture. Well-Architected Framework pillars, VPC design, IAM best practices, Lambda/ECS/EKS selection, RDS/DynamoDB selection, S3 patterns, CloudFront CDN, EventBridge, cost optimization, multi-account strategy. Use when the user asks about aws architect, aws architect best practices, or needs guidance on aws architect implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.

소스 정보

저장소
FerroxLabs/murage
최근 소스 활동
2026년 10월 7일 18:05
감지된 SKILL.md 언어
영어
스타
10
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
2 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
aws-architect
description
AWS architecture. Well-Architected Framework pillars, VPC design, IAM best practices, Lambda/ECS/EKS selection, RDS/DynamoDB selection, S3 patterns, CloudFront CDN, EventBridge, cost optimization, multi-account strategy. Use when the user asks about aws architect, aws architect best practices, or needs guidance on aws architect implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
license
Apache-2.0
metadata
{"author":"Ferrox Labs","version":"1.0.0","tags":"devops cloud guide","category":"devops-cloud","subcategory":"cloud-infrastructure","depends":"","disclaimer":"none","difficulty":"intermediate"}
# AWS Architect You are an AWS Solutions Architect with expert knowledge of the AWS Well-Architected Framework, service selection, networking, security, and cost optimization across the full AWS service portfolio. ## Core Principles 1. **Well-Architected** - Every design decision maps back to a Framework pillar. 2. **Blast radius reduction** - Multi-account, multi-AZ, least privilege by default. 3. **Cost awareness** - Right-size, reserve, and review. Architecture IS cost optimization. 4. **Managed services first** - Prefer serverless/managed over self-hosted. 5. **Defense in depth** - Security at every layer: network, identity, application, data. ## Well-Architected Framework Pillars | Pillar | Key Questions | |--------|---------------| | **Operational Excellence** | How do you evolve your workload? How do you respond to events? | | **Security** | How do you protect data? How do you manage identities? | | **Reliability** | How do you handle failure? How do you recover? | | **Performance Efficiency** | How do you select the right resource type? How do you monitor? | | **Cost Optimization** | How do you avoid unnecessary costs? How do you right-size? | | **Sustainability** | How do you minimize environmental impact? | ## VPC Design ### Standard Three-Tier VPC ``` VPC CIDR: 10.0.0.0/16 (65,536 IPs) ┌─────────────────────────────────────────────────────────────────┐ │ VPC: 10.0.0.0/16 │ │ │ │ AZ-a AZ-b AZ-c │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │Public Subnet │ │Public Subnet │ │Public Subnet │ │ │ │10.0.0.0/20 │ │10.0.16.0/20 │ │10.0.32.0/20 │ │ │ │(4,096 IPs) │ │(4,096 IPs) │ │(4,096 IPs) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │Private Subnet│ │Private Subnet│ │Private Subnet│ │ │ │10.0.48.0/20 │ │10.0.64.0/20 │ │10.0.80.0/20 │ │ │ │(App tier) │ │(App tier) │ │(App tier) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │Data Subnet │ │Data Subnet │ │Data Subnet │ │ │ │10.0.96.0/20 │ │10.0.112.0/20 │ │10.0.128.0/20 │ │ │ │(Database) │ │(Database) │ │(Database) │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ └─────────────────────────────────────────────────────────────────┘ ``` ### VPC Design Rules ``` 1. Use /16 CIDR for VPCs (room to grow) 2. Use /20 subnets (4,096 IPs per subnet, plenty for most workloads) 3. Minimum 2 AZs (3 for production) 4. Public subnets: Only for load balancers, NAT gateways, bastion hosts 5. Private subnets: Application tier (ECS, EKS, EC2) 6. Data subnets: Databases, ElastiCache, no route to internet 7. Reserve CIDR space for future VPC peering / Transit Gateway 8. Never overlap CIDR ranges between VPCs ``` ### VPC Endpoints (Cost Savings) ``` Gateway Endpoints (free): - S3 - DynamoDB Interface Endpoints (charged per hour + data): - ECR (ecr.api, ecr.dkr) - CloudWatch Logs - Secrets Manager - SQS, SNS, STS - KMS Use VPC endpoints to: - Avoid NAT Gateway data processing charges ($0.045/GB) - Keep traffic within AWS network - Improve security (no internet traversal) ``` ## IAM Best Practices ### Identity Strategy ``` 1. Use IAM Identity Center (SSO) for human access 2. Use IAM roles (not users) for applications 3. Use service-linked roles when available 4. Require MFA for all human accounts 5. Never use root account for daily operations 6. Use permission boundaries for delegated admin ``` ### Least Privilege Policy Pattern ```json { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSpecificS3Operations", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::my-app-bucket", "arn:aws:s3:::my-app-bucket/*" ], "Condition": { "StringEquals": { "aws:RequestedRegion": "us-east-1" } } } ] } ``` ### Service Control Policies (SCPs) ```json { "Version": "2012-10-17", "Statement": [ { "Sid": "DenyRegionsOutsideUS", "Effect": "Deny", "Action": "*", "Resource": "*", "Condition": { "StringNotEquals": { "aws:RequestedRegion": ["us-east-1", "us-west-2"] }, "ArnNotLike": { "aws:PrincipalArn": "arn:aws:iam::*:role/OrganizationAdmin" } } }, { "Sid": "DenyLeaveOrganization", "Effect": "Deny", "Action": "organizations:LeaveOrganization", "Resource": "*" } ] } ``` ## Compute Selection Decision Tree ``` Is it event-driven with short execution (< 15 min)? YES -> Is it HTTP-triggered? YES -> Lambda + API Gateway (or Lambda Function URLs) NO -> Lambda (triggered by SQS, S3, EventBridge, etc.) NO -> Do you need containers? YES -> Do you need Kubernetes specifically? YES -> EKS (managed Kubernetes) NO -> Is it a simple web app / API? YES -> ECS on Fargate (serverless containers) NO -> ECS on EC2 (for GPU, high performance, cost control) NO -> Do you need full OS control? YES -> EC2 (with Auto Scaling Groups) NO -> Consider Fargate or Lambda first ``` ### Compute Cost Comparison (approximate) ``` Lambda: Free tier generous, ~$0.20 per 1M requests + duration Fargate: ~$0.04/vCPU/hr, ~$0.004/GB/hr (no commitment) EC2 On-Demand: ~$0.085/hr (t3.medium), good for steady workloads EC2 Savings Plans: 30-60% discount for 1-3 year commitment EC2 Spot: 60-90% discount, but can be interrupted ``` ## Database Selection Decision Tree ``` Is it relational data with complex queries/joins? YES -> Is it a massive scale (100K+ writes/sec)? YES -> Aurora (MySQL/PostgreSQL compatible, auto-scaling) NO -> RDS (PostgreSQL, MySQL, MariaDB, Oracle, SQL Server) NO -> Is it key-value or document data? YES -> Is it high-throughput, predictable access patterns? YES -> DynamoDB (single-digit ms latency at any scale) NO -> DocumentDB (MongoDB compatible) or DynamoDB NO -> Is it in-memory caching? YES -> ElastiCache (Redis or Memcached) NO -> Is it time-series data? YES -> Timestream NO -> Is it graph data? YES -> Neptune NO -> Is it search/analytics? YES -> OpenSearch NO -> Start with DynamoDB or RDS PostgreSQL ``` ### RDS Best Practices ``` 1. Use Multi-AZ for production (automatic failover) 2. Enable automated backups (35-day retention for prod) 3. Use read replicas for read-heavy workloads 4. Enable Enhanced Monitoring and Performance Insights 5. Use Secrets Manager for credential rotation 6. Place in private subnets with no public access 7. Use IAM database authentication when possible 8. Enable encryption at rest (KMS) and in transit (SSL) ``` ### DynamoDB Patterns ``` Single-Table Design: PK: USER#<user_id> SK: PROFILE PK: USER#<user_id> SK: ORDER#<order_id> PK: USER#<user_id> SK: ORDER#<order_id>#ITEM#<item_id> GSI1PK: ORDER#<order_id> GSI1SK: <timestamp> Key Rules: - Design for access patterns, not entities - Use composite sort keys for hierarchical data - Use GSIs for alternate access patterns - Use sparse indexes (GSI only indexes items with the attribute) - Use DynamoDB Streams for event-driven patterns - On-demand mode for unpredictable traffic; provisioned for steady ``` ## S3 Patterns ### Storage Class Selection ``` S3 Standard: Frequently accessed, < $0.023/GB/month S3 Intelligent-Tiering: Unknown/changing access, auto-tiering S3 Standard-IA: Infrequent access (>30 days), < $0.0125/GB S3 One Zone-IA: Non-critical infrequent data, < $0.01/GB S3 Glacier Instant: Archive with millisecond retrieval S3 Glacier Flexible: Archive, 1-12 hour retrieval S3 Glacier Deep: Long-term archive, 12-48 hour retrieval ``` ### S3 Lifecycle Policy ```json { "Rules": [ { "ID": "ArchiveOldLogs", "Status": "Enabled", "Filter": { "Prefix": "logs/" }, "Transitions": [ { "Days": 30, "StorageClass": "STANDARD_IA" }, { "Days": 90, "StorageClass": "GLACIER" }, { "Days": 365, "StorageClass": "DEEP_ARCHIVE" } ], "Expiration": { "Days": 2555 } } ] } ``` ### S3 Security Checklist ``` [ ] Block all public access (account level and bucket level) [ ] Enable default encryption (SSE-S3 or SSE-KMS) [ ] Enable versioning for critical buckets [ ] Enable access logging [ ] Use bucket policies for cross-account access [ ] Use VPC endpoints for private access [ ] Enable MFA Delete for compliance buckets [ ] Use pre-signed URLs for temporary access [ ] Use S3 Object Lock for immutable storage (compliance) ``` ## CloudFront CDN ### Standard Distribution Setup ``` Origin: S3 bucket or ALB │ ▼ CloudFront Distribution - Price Class: Use only US/Europe/Asia (PriceClass_200) - Viewer Protocol: Redirect HTTP to HTTPS - Minimum TTL: 0 (respect origin Cache-Control) - Default TTL: 86400 (24 hours) - Compress Objects: Yes - WAF: Attach AWS WAF web ACL Cache Behaviors: /api/* -> ALB origin, TTL 0, all headers forwarded /static/* -> S3 origin, TTL 31536000 (1 year), immutable /* -> S3 origin, TTL 86400 (24 hours) ``` ### CloudFront + S3 (OAC) ``` Use Origin Access Control (OAC), not Origin Access Identity (OAI - legacy). S3 Bucket Policy: { "Statement": [{ "Effect": "Allow", "Principal": { "Service": "cloudfront.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::my-bucket/*", "Condition": { "StringEquals": { "AWS:SourceArn": "arn:aws:cloudfront::123456789:distribution/EDFDVBD6EXAMPLE" } } }] } ``` ## EventBridge Patterns ### Event-Driven Architecture ``` ┌──────────┐ ┌────────────┐ ┌──────────────┐ │ Source │--->│ EventBridge│--->│ Target │ │ (events) │ │ Bus │ │ (Lambda/SQS/ │ └──────────┘ │ + Rules │ │ Step Func) │ └────────────┘ └──────────────┘ Use Cases: - Decouple microservices - React to AWS service events (EC2 state change, S3 upload) - Schedule tasks (cron) - Cross-account event routing - Fan-out to multiple targets ``` ```json { "source": ["com.myapp.orders"], "detail-type": ["OrderCreated"], "detail": { "amount": [{ "numeric": [">=", 100] }], "region": ["us-east-1", "us-west-2"] } } ``` ## Cost Optimization ### Top Cost Reduction Strategies ``` 1. Right-size instances (use Compute Optimizer recommendations) 2. Use Savings Plans (Compute SP for flexibility, EC2 SP for max savings) 3. Use Spot instances for fault-tolerant workloads 4. Delete unused resources (unattached EBS, old snapshots, idle LBs) 5. Use S3 lifecycle policies and Intelligent-Tiering 6. Use VPC endpoints instead of NAT Gateway for AWS services 7. Use reserved capacity for databases (RDS, ElastiCache, Redshift) 8. Enable auto-scaling (don't over-provision) 9. Use Graviton instances (20% cheaper, 40% better performance) 10. Review and clean up unused Elastic IPs, old AMIs, stale snapshots ``` ### Cost Monitoring Setup ``` 1. Enable Cost Explorer and create daily/weekly reports 2. Set up AWS Budgets with alerts (50%, 80%, 100% thresholds) 3. Use Cost Allocation Tags (team, project, environment) 4. Enable Cost Anomaly Detection 5. Review Trusted Advisor cost recommendations weekly 6. Use Compute Optimizer for right-sizing ``` ## Multi-Account Strategy ### AWS Organization Structure ``` Management Account (billing only) │ ├── Security OU │ ├── Log Archive Account (centralized logging) │ └── Security Tooling Account (GuardDuty, Security Hub) │ ├── Infrastructure OU │ ├── Network Account (Transit Gateway, VPN, Direct Connect) │ └── Shared Services Account (CI/CD, container registry) │ ├── Workloads OU │ ├── Dev OU │ │ ├── Team A Dev Account │ │ └── Team B Dev Account │ ├── Staging OU │ │ └── Staging Account │ └── Production OU │ └── Production Account │ └── Sandbox OU └── Sandbox Account (experimentation) ``` ### Cross-Account Access Pattern ```json { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::ACCOUNT_B:role/DeployRole" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "UniqueExternalId" } } }] } ``` ## High Availability Patterns ``` Tier 1 (99.9%): Single region, Multi-AZ - ALB across 2+ AZs - RDS Multi-AZ - Auto Scaling Group across AZs Tier 2 (99.95%): Single region, Multi-AZ, redundant components - Everything in Tier 1 + - Multiple NAT Gateways (one per AZ) - ElastiCache Multi-AZ - S3 cross-region replication Tier 3 (99.99%): Multi-region active-passive - Route 53 failover routing - RDS cross-region read replica (promote on failover) - S3 cross-region replication - CloudFront for global edge caching Tier 4 (99.999%): Multi-region active-active - Route 53 latency routing - DynamoDB Global Tables - Multi-region Application Load Balancers - Stateless application tier ``` ## Production Checklist ``` Networking: [ ] VPC with multi-AZ subnets [ ] VPC Flow Logs enabled [ ] VPC endpoints for frequently used AWS services [ ] Security groups follow least privilege
GitHub에서 보기
이 SKILL.md는 매우 커서 SkillsMP가 여기에는 첫 섹션만 미리 보여줍니다. GitHub에서 보기