AWS & GCP κ³μ μ€μ
AWS & GCP κ³μ μ€μ ¶
1. AWS κ³μ μμ±¶
1.1 κ³μ μμ± μ μ°¨¶
- AWS κ°μ νμ΄μ§ μ μ
-
https://aws.amazon.com/ μμ "Create an AWS Account" ν΄λ¦
-
κ³μ μ 보 μ λ ₯
- μ΄λ©μΌ μ£Όμ (Root κ³μ μ©)
- AWS κ³μ μ΄λ¦
-
λΉλ°λ²νΈ
-
μ°λ½μ² μ 보
- κ³μ μ ν: κ°μΈ(Personal) λλ λΉμ¦λμ€(Business)
-
μ΄λ¦, μ£Όμ, μ νλ²νΈ
-
κ²°μ μ 보
- μ μ©μΉ΄λ λ±λ‘ (λ¬΄λ£ ν°μ΄ μ¬μ© μμλ νμ)
-
$1 μΈμ¦ κ²°μ ν νλΆλ¨
-
λ³ΈμΈ νμΈ
-
SMS λλ μμ± ν΅νλ‘ PIN νμΈ
-
μ§μ νλ μ ν
- Basic Support (무λ£) μ ν κΆμ₯
1.2 Root κ³μ 보μ¶
Root κ³μ μ λͺ¨λ κΆνμ κ°μ§λ―λ‘ λ°λμ 보μ κ°νκ° νμν©λλ€.
β οΈ Root κ³μ 보μ 체ν¬λ¦¬μ€νΈ
β‘ κ°λ ₯ν λΉλ°λ²νΈ μ€μ (16μ μ΄μ, νΉμλ¬Έμ ν¬ν¨)
β‘ MFA(λ€μ€ μΈμ¦) νμ±ν
β‘ μ‘μΈμ€ ν€ μμ± κΈμ§
β‘ μΌμ μ
무μ Root κ³μ μ¬μ© κΈμ§
β‘ IAM μ¬μ©μ μμ±νμ¬ μ¬μ©
1.3 MFA μ€μ (AWS)¶
Consoleμμ MFA νμ±ν:
- AWS Console β μ°μΈ‘ μλ¨ κ³μ λͺ β "Security credentials"
- "Multi-factor authentication (MFA)" μΉμ
- "Activate MFA" ν΄λ¦
- MFA λλ°μ΄μ€ μ ν μ ν:
- Virtual MFA device: Google Authenticator, Authy μ± μ¬μ©
- Hardware TOTP token: 물리μ ν ν°
- Security key: FIDO 보μ ν€
Virtual MFA μ€μ :
1. μ± μ€μΉ: Google Authenticator λλ Authy
2. μ±μμ QR μ½λ μ€μΊ
3. μ°μλ λ κ°μ MFA μ½λ μ
λ ₯
4. "Assign MFA" ν΄λ¦
2. GCP κ³μ μμ±¶
2.1 κ³μ μμ± μ μ°¨¶
- GCP Console μ μ
-
https://console.cloud.google.com/
-
Google κ³μ λ‘κ·ΈμΈ
-
κΈ°μ‘΄ Google κ³μ μ¬μ© λλ μλ‘ μμ±
-
GCP μ΄μ©μ½κ΄ λμ
- κ΅κ° μ ν
-
μλΉμ€ μ½κ΄ λμ
-
κ²°μ κ³μ μ€μ (λ¬΄λ£ μ²΄νμ©)
- μ μ©μΉ΄λ μ 보 μ λ ₯
-
$300 λ¬΄λ£ ν¬λ λ§ νμ±ν (90μΌ)
-
첫 λ²μ§Έ νλ‘μ νΈ μμ±
- νλ‘μ νΈλͺ μ§μ
- μ‘°μ§ μ ν (κ°μΈμ "μ‘°μ§ μμ")
2.2 GCP 보μ μ€μ ¶
Google κ³μ 보μ κ°ν:
β οΈ GCP κ³μ 보μ 체ν¬λ¦¬μ€νΈ
β‘ Google κ³μ μ 2λ¨κ³ μΈμ¦ νμ±ν
β‘ λΉλ°λ²νΈ 보μ κ°ν
①볡ꡬ μ΄λ©μΌ/μ νλ²νΈ μ€μ
β‘ μ‘°μ§ μ μ±
κ²ν (λΉμ¦λμ€)
β‘ μλΉμ€ κ³μ μ¬μ© κΆμ₯
2.3 2λ¨κ³ μΈμ¦ μ€μ (GCP)¶
- Google κ³μ μ€μ β "보μ"
- "2λ¨κ³ μΈμ¦" νμ±ν
- μΈμ¦ λ°©λ² μ ν:
- Google λ©μμ§
- μΈμ¦ μ± (Google Authenticator)
- 보μ ν€
- λ°±μ μ½λ
3. μ½μ νμ¶
3.1 AWS Management Console¶
μ£Όμ UI ꡬμ±:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [AWS λ‘κ³ ] μλΉμ€ κ²μμ°½ 리μ βΌ κ³μ βΌ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β [μλΉμ€ λ©λ΄] β
β βββ Compute (EC2, Lambda, ECS...) β
β βββ Storage (S3, EBS, EFS...) β
β βββ Database (RDS, DynamoDB...) β
β βββ Networking (VPC, Route 53...) β
β βββ Security (IAM, KMS...) β
β βββ Management (CloudWatch, CloudFormation...) β
β β
β [μ΅κ·Ό λ°©λ¬Έ μλΉμ€] β
β [μ¦κ²¨μ°ΎκΈ° μλΉμ€] β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
μ μ©ν κΈ°λ₯: - μλΉμ€ κ²μ: μλ¨ κ²μμ°½μ μλΉμ€λͺ μ λ ₯ - 리μ μ ν: μ°μΈ‘ μλ¨μμ μμ ν 리μ μ ν - CloudShell: λΈλΌμ°μ λ΄ ν°λ―Έλ (AWS CLI μ¬μ μ€μΉ) - Resource Groups: 리μμ€ κ·Έλ£Ήν λ° νκ·Έ κ΄λ¦¬
3.2 GCP Console¶
μ£Όμ UI ꡬμ±:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [GCP λ‘κ³ ] [νλ‘μ νΈ μ ν βΌ] κ²μμ°½ [κ³μ μμ΄μ½]β
ββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ€
β [λ€λΉκ²μ΄μ
]β β
β β β [λμ보λ] β
β ββ μ»΄ν¨ν
β βββ νλ‘μ νΈ μ 보 β
β ββ μ€ν λ¦¬μ§ β βββ 리μμ€ μμ½ β
β ββ λ€νΈμνΉ β βββ API νλ β
β ββ λ°μ΄ν°λ² μ΄μ€β βββ λΉλ§ μμ½ β
β ββ 보μ β β
β ββ λꡬ β β
β ββ λΉλ§ β β
β β β
ββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
μ μ©ν κΈ°λ₯: - νλ‘μ νΈ μ ν: μ’μΈ‘ μλ¨μμ νλ‘μ νΈ μ ν - Cloud Shell: μ°μΈ‘ μλ¨ ν°λ―Έλ μμ΄μ½ (gcloud μ¬μ μ€μΉ) - ν κ³ μ : μμ£Ό μ¬μ©νλ μλΉμ€λ₯Ό λ©λ΄μ κ³ μ - API λ° μλΉμ€: API νμ±ν κ΄λ¦¬
4. 첫 λ²μ§Έ νλ‘μ νΈ/리μμ€ κ·Έλ£Ή¶
4.1 AWS: νκ·Έλ₯Ό ν΅ν 리μμ€ κ΄λ¦¬¶
AWSλ νλ‘μ νΈ κ°λ λμ νκ·Έλ‘ λ¦¬μμ€λ₯Ό κ΄λ¦¬ν©λλ€.
# 리μμ€ μμ± μ νκ·Έ μ§μ μμ
aws ec2 run-instances \
--image-id ami-12345678 \
--instance-type t2.micro \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Project,Value=MyApp},{Key=Environment,Value=dev}]'
νκ·Έ λͺ¨λ² μ¬λ‘:
| νκ·Έ ν€ | μμ κ° | μ©λ |
|---|---|---|
| Project | MyApp | νλ‘μ νΈλ³ λΉμ© μΆμ |
| Environment | dev, staging, prod | νκ²½ κ΅¬λΆ |
| Owner | john@example.com | λ΄λΉμ μλ³ |
| CostCenter | IT-001 | λΉμ© μΌν° ν λΉ |
4.2 GCP: νλ‘μ νΈ μμ±¶
GCPλ νλ‘μ νΈ λ¨μλ‘ λ¦¬μμ€μ λΉλ§μ 격리ν©λλ€.
νλ‘μ νΈ μμ±: 1. Console μλ¨ β νλ‘μ νΈ μ ν λλ‘λ€μ΄ 2. "μ νλ‘μ νΈ" ν΄λ¦ 3. νλ‘μ νΈ μ΄λ¦ μ λ ₯ (κ³ μ ν ID μλ μμ±) 4. λΉλ§ κ³μ μ°κ²° 5. "λ§λ€κΈ°" ν΄λ¦
# gcloudλ‘ νλ‘μ νΈ μμ±
gcloud projects create my-project-id \
--name="My Project" \
--labels=env=dev
# νλ‘μ νΈ μ ν
gcloud config set project my-project-id
νλ‘μ νΈ κ΅¬μ‘° κΆμ₯:
Organization (μ ν)
βββ Folder: Development
β βββ Project: dev-frontend
β βββ Project: dev-backend
βββ Folder: Production
β βββ Project: prod-frontend
β βββ Project: prod-backend
βββ Folder: Shared
βββ Project: shared-services
5. λΉμ© μλ¦Ό μ€μ ¶
5.1 AWS μμ° μλ¦Ό¶
AWS Budgets μ€μ :
- AWS Console β "Billing and Cost Management" β "Budgets"
- "Create budget" ν΄λ¦
- μμ° μ ν μ ν: "Cost budget"
- μμ° μ€μ :
- μ΄λ¦: "Monthly Budget"
- κΈμ‘: μνλ νλ (μ: $50)
-
κΈ°κ°: Monthly
-
μλ¦Ό 쑰건:
- μ€μ λΉμ©μ΄ μμ°μ 80% λλ¬ μ μλ¦Ό
-
μμΈ‘ λΉμ©μ΄ 100% μ΄κ³Ό μ μλ¦Ό
-
μλ¦Ό μμ :
- μ΄λ©μΌ μ£Όμ μ λ ₯
- SNS ν ν½ μ°κ²° (μ ν)
# AWS CLIλ‘ μμ° μμ±
aws budgets create-budget \
--account-id 123456789012 \
--budget '{
"BudgetName": "Monthly-50USD",
"BudgetLimit": {"Amount": "50", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST"
}' \
--notifications-with-subscribers '[{
"Notification": {
"NotificationType": "ACTUAL",
"ComparisonOperator": "GREATER_THAN",
"Threshold": 80
},
"Subscribers": [{
"SubscriptionType": "EMAIL",
"Address": "your@email.com"
}]
}]'
5.2 GCP μμ° μλ¦Ό¶
GCP Billing μμ° μ€μ :
- Console β "κ²°μ " β "μμ° λ° μλ¦Ό"
- "μμ° λ§λ€κΈ°" ν΄λ¦
- μμ° μ€μ :
- μ΄λ¦: "Monthly Budget"
- νλ‘μ νΈ: μ 체 λλ νΉμ νλ‘μ νΈ
-
κΈμ‘: μ§μ κΈμ‘ (μ: $50)
-
μλ¦Ό μκ³κ°:
-
50%, 90%, 100% μλ¦Ό μ€μ
-
μλ¦Ό μ±λ:
- μ΄λ©μΌ μμ μ
- Cloud Monitoring (μ ν)
- Pub/Sub ν ν½ (μλνμ©)
# gcloudλ‘ μμ° μμ±
gcloud billing budgets create \
--billing-account=BILLING_ACCOUNT_ID \
--display-name="Monthly Budget" \
--budget-amount=50USD \
--threshold-rule=percent=0.5 \
--threshold-rule=percent=0.9 \
--threshold-rule=percent=1.0
6. λ¬΄λ£ ν°μ΄ νμ©¶
6.1 AWS λ¬΄λ£ ν°μ΄¶
| μ ν | μλΉμ€ | λ¬΄λ£ νλ |
|---|---|---|
| 12κ°μ λ¬΄λ£ | EC2 | t2.micro 750μκ°/μ |
| S3 | 5GB μ€ν λ¦¬μ§ | |
| RDS | db.t2.micro 750μκ°/μ | |
| CloudFront | 50GB λ°μ΄ν° μ μ‘ | |
| νμ λ¬΄λ£ | Lambda | 100λ§ μμ²/μ |
| DynamoDB | 25GB μ€ν 리μ§, 25 WCU/RCU | |
| SNS | 100λ§ μμ²/μ | |
| CloudWatch | κΈ°λ³Έ λͺ¨λν°λ§ |
λ¬΄λ£ ν°μ΄ λͺ¨λν°λ§: - Console β "Billing" β "Free Tier" νμμ μ¬μ©λ νμΈ
6.2 GCP λ¬΄λ£ ν°μ΄¶
| μ ν | μλΉμ€ | λ¬΄λ£ νλ |
|---|---|---|
| $300 ν¬λ λ§ | λͺ¨λ μλΉμ€ | 90μΌκ° (μ κ· κ³μ ) |
| Always Free | Compute Engine | e2-micro 1κ° (νΉμ 리μ ) |
| Cloud Storage | 5GB (US 리μ ) | |
| Cloud Functions | 200λ§ νΈμΆ/μ | |
| BigQuery | 1TB 쿼리/μ, 10GB μ€ν λ¦¬μ§ | |
| Cloud Run | 200λ§ μμ²/μ | |
| Firestore | 1GB μ€ν 리μ§, 50K μ½κΈ°/μΌ |
Always Free 리μ μ ν: - Compute Engine e2-micro: us-west1, us-central1, us-east1λ§ ν΄λΉ
7. μ΄κΈ° 보μ μ€μ μμ½¶
7.1 AWS μ΄κΈ° 보μ 체ν¬λ¦¬μ€νΈ¶
β‘ Root κ³μ MFA νμ±ν
β‘ Root μ‘μΈμ€ ν€ μμ νμΈ
β‘ IAM μ¬μ©μ μμ± λ° MFA νμ±ν
β‘ IAM λΉλ°λ²νΈ μ μ±
κ°ν
β‘ CloudTrail νμ±ν (κ°μ¬ λ‘κ·Έ)
β‘ μμ° μλ¦Ό μ€μ
β‘ S3 νΌλΈλ¦ μ‘μΈμ€ μ°¨λ¨ μ€μ νμΈ
7.2 GCP μ΄κΈ° 보μ 체ν¬λ¦¬μ€νΈ¶
β‘ Google κ³μ 2λ¨κ³ μΈμ¦ νμ±ν
β‘ μ‘°μ§ μ μ±
κ²ν (ν΄λΉ μ)
β‘ μλΉμ€ κ³μ μμ± (μ ν리μΌμ΄μ
μ©)
β‘ μ΅μ κΆν IAM μν λΆμ¬
β‘ Cloud Audit Logs νμ±ν
β‘ μμ° μλ¦Ό μ€μ
β‘ VPC λ°©νλ²½ κ·μΉ κ²ν
8. λ€μ λ¨κ³¶
- 03_Regions_Availability_Zones.md - 리μ κ³Ό κ°μ© μμ μ΄ν΄
- 13_Identity_Access_Management.md - IAM μμΈ μ€μ