blog 이전
- git blog io 사용할때 쓴 포스팅 이전 - 현재 형식에 맞게 수정
This commit is contained in:
70
src/content/blog/study/aws/2024-05-15-start-aws.md
Normal file
70
src/content/blog/study/aws/2024-05-15-start-aws.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
title: AWS 공부 내용 정리
|
||||
date: 2024-05-15
|
||||
tags: aws, 공부
|
||||
excerpt: AWS 공부를 시작하면서
|
||||
---
|
||||
# AWS Certified Developer - Associate 시험 응시
|
||||
|
||||
회사에서 AWS를 사용하게 되면서 AWS-SDK for cpp를 다루게 되었고, 자연스럽게 AWS에 대한 관심이 생겼다.
|
||||
|
||||
때문에 올해가 가기 전에 AWS 자격증 공부를 한번 해보고 싶다는 생각을 했었다.
|
||||
|
||||
그런데 같은 생각을 가진 동료들이 있었고, 이번 기회에 같이 응시를 해보려고 한다.
|
||||
|
||||
때문에 이 글은 그런 공부와 관련된 내용을 기록하는 것이다.
|
||||
|
||||
시험 응시일은 24년 06월 21일 (금)! 화이팅해보자!!
|
||||
|
||||
---
|
||||
|
||||
# Udemy 강의 수료 목표!
|
||||
|
||||
## Stephane Maarek | Ultimate AWS Certified Developer Associate 2024 NEW DVA-C02
|
||||
공부는 기간을 1달로 Udemy 강의를 빠르게 본 뒤에 바로 덤프 문제풀이로 들어가는 것이 최초 전략이다.
|
||||
|
||||
강의는 가장 유명한 [Stephane Maarek의 Ultimate AWS Certified Developer Associate 2024 NEW DVA-C02](https://www.udemy.com/course/aws-certified-developer-associate-dva-c01/) 로 선택하였고, 강의 길이가 460회가 넘다보니 핸즈온은 생략하고 개념 중심으로 들을 생각이다.
|
||||
|
||||
강의의 절반을 차지하는 기본 개념들은 단독 문제로 거의 출제되지 않는다는 말이 있기에 2부에 해당하는 Serverless 이전의 기본 개념들(EC2, S3, DB, Route53 등)은 거의 개념만 볼 계획이고, DynamoDB, Lambda, CI/CD 중심으로 공부를 진행하려고 한다.
|
||||
|
||||
덤프는 [examtopics](https://www.examtopics.com/exams/amazon/) 를 추천하길래 그 위주로 문제를 풀어볼 생각이고, 실제로 discussion을 통해 정답에 대한 사람들의 의견도 볼 수 있어서 정확하게 파악하기 좋을 것 같다.
|
||||
|
||||
---
|
||||
|
||||
## 강의 섹션 정리
|
||||
- Section 1 : Course Introduction - AWS Certified Developer Associate
|
||||
- Section 2 : Code & Slides Download
|
||||
- Section 3 : Getting started with AWS
|
||||
- Section 4 : IAM & AWS CLI
|
||||
- Section 5 : EC2 Fundamentals
|
||||
- Section 6 : EC2 Instance Storage
|
||||
- Section 7 : AWS Fundamentals: ELB + ASG
|
||||
- Section 8 : AWS Fundamentals: RDS + Aurora + ElastiCache
|
||||
- Section 9 : Route 53
|
||||
- Section 10 : VPC Fundamentals
|
||||
- Section 11 : Amazon S3 Introduction
|
||||
- Section 12 : AWS CLI, SDK, IAM Roles & Policies
|
||||
- Section 13 : Advanced Amazon S3
|
||||
- Section 14 : Amazon S3 Security
|
||||
- Section 15 : CloudFront
|
||||
- Section 16 : ECS, ECR & Fargate - Docker in AWS
|
||||
- Section 17 : AWS Elastic Beanstalk
|
||||
- Section 18 : AWS CloudFormation
|
||||
- Section 19 : AWS Integration & Messaging: SQS, SNS & Kinesis
|
||||
- Section 20 : AWS Monitoring & Audit: CouldWatch, X-Ray and CloudTrail
|
||||
- Section 21 : AWS Serverless: Lambda
|
||||
- Section 22 : AWS Serverless: DynamoDB
|
||||
- Section 23 : AWS Serverless: API Gateway
|
||||
- Section 24 : AWS CICD: CodeCommit, CodePipeline, CodeBuild, CodeDeploy
|
||||
- Section 25 : AWS Serverless: SAM - Serverless Application Model
|
||||
- Section 26 : Could Development Kit (CDK)
|
||||
- Section 27 : Cognito: Cognito User Pools, Cognito Identity Pools & Cognito Sync
|
||||
- Section 28 : Other Serverless: Step Functions & AppSync
|
||||
- Section 29 : Advanced Identity
|
||||
- Section 30 : AWS Security & Encryption: KMS, Encryption SDK, SSM Parameter Store, IAM & STS
|
||||
- Section 31 : AWS Other Serverless
|
||||
- Section 32 : AWS Final Cleanup
|
||||
- Section 33 : Preparing for the Exam - AWS Certified Developer Associate
|
||||
- Section 34 : Congratulations - AWS Certified Developer Associate
|
||||
|
||||
징그럽게 많다.. 화이팅!
|
||||
207
src/content/blog/study/aws/2024-05-15-start-aws2.md
Normal file
207
src/content/blog/study/aws/2024-05-15-start-aws2.md
Normal file
@@ -0,0 +1,207 @@
|
||||
---
|
||||
title: AWS 공부 내용 정리
|
||||
date: 2024-05-15
|
||||
tags: aws, 공부
|
||||
excerpt: AWS 강의를 시작
|
||||
---
|
||||
# AWS 강의 시작
|
||||
|
||||
시작부터 시험에 맞춰진 강의라는 느낌을 받았다.
|
||||
|
||||
섹션 1 ~ 11 까지 기초 강의로 되어 있고, 3, 4 & 5는 스킵해도 된다고 되어 있어서 당황스럽긴 한데..
|
||||
|
||||
한번보고 안 볼꺼면 어떻게 보라고 강의 순서까지 정리해두네 😃
|
||||
|
||||
#### Please watch the following lectures:
|
||||
|
||||
- Section 7 - AWS Fundamentals: ELB + ASG
|
||||
- Auto Scaling Groups - Instance Refresh
|
||||
- Section 8 - AWS Fundamentals: RDS + Aurora + ElastiCache
|
||||
- ElastiCache Strategies
|
||||
- Amazon MemoryDB for Redis
|
||||
- Section 9 - Route 53
|
||||
- Routing Policy - Traffic Flow & Geoproximity Hands On
|
||||
- Section 10 - VPC Fundamentals
|
||||
- VPC Fundamentals - Section Introduction
|
||||
- VPC, Subnets, IGW and NAT
|
||||
- NACL, SG, VPC Flow Logs
|
||||
- VPC Peering, Endpoints, VPN, DX
|
||||
- VPC Cheat Sheet & Closing Comments
|
||||
- Three Tier Architecture
|
||||
- Section 12 - AWS CLI, SDK, IAM Roles & Policies
|
||||
- AWS EC2 Instance Metadata
|
||||
- AWS EC2 Instance Metadata - Hands On
|
||||
- AWS CLI Profiles
|
||||
- AWS CLI with MFA
|
||||
- AWS SDK Overview
|
||||
- Exponential Backoff & Service Limit Increase
|
||||
- AWS Credentials Provider & Chain
|
||||
- AWS Signature v4 Signing
|
||||
- Section 15 - CloudFront
|
||||
- CloudFront - Caching & Caching Policies
|
||||
- CloudFront - Cache Behaviors
|
||||
- CloudFront - Caching & Caching Invalidations - Hands On
|
||||
- CloudFront - Signed URL / Cookies
|
||||
- CloudFront - Signed URL - Key Groups + Hands On
|
||||
- CloudFront - Advanced Concepts
|
||||
- CloudFront - Real Time Logs
|
||||
- Section 16 - ECS, ECR & Fargate - Docker in AWS
|
||||
- Amazon ECS - Rolling Updates
|
||||
- Amazon ECS Task Definitions - Deep Dive
|
||||
- Amazon ECS Task Definitions - Hands On
|
||||
- Amazon ECS - Task Placements
|
||||
- Amazon ECR - Hands On
|
||||
- And everything from Section 17 onwards
|
||||
|
||||
이것만 들어도 되는건지는 모르겠다.
|
||||
|
||||
---
|
||||
|
||||
## AWS 가입
|
||||
|
||||
이전에 aws 찍먹해보겠다고 가입했었는데, 90일 지나서 비활성화가 되어 버렸네;;
|
||||
|
||||
찾아보니 account+tag@mail.com 이런식으로 태그를 달면 원래 이메일 계정으로 인식해서 코드를 보내주길래 다시 가입을 했다.
|
||||
|
||||
시작부터 당황스러웠지만 어쩔 수 없지.
|
||||
|
||||
관련해서 강의에서도 정리를 해뒀는데 이건 못봤네 😂
|
||||
|
||||
아무튼 생성 완!!
|
||||
|
||||
---
|
||||
|
||||
## AWS 역사와 Regions
|
||||
|
||||
이건 빠르게 보고 지나가자
|
||||
|
||||
---
|
||||
|
||||
## AWS Console
|
||||
|
||||
Aws Console에 대한 내용을 다루는데 하나씩 보면서 친숙해지는 방법이 좋을것 같다.
|
||||
|
||||
이전에도 EC2와 같은 서비스를 이용해본적 있는데, 꽤 많이 한글 최적화도 된거 같고 콘솔이 친숙화가 진행된거 같다.
|
||||
|
||||
---
|
||||
|
||||
## IAM
|
||||
|
||||
IAM 이란?
|
||||
IAM = Identity and Access Management, Global service
|
||||
로 ID와 엑세스 관리의 약자이다.
|
||||
|
||||
IAM에서는 사용자를 생성하고 그룹에 할당할 수 있다.
|
||||
|
||||
유저(Users)는 조직에서의 사람을 뜻하며 그룹으로 될 수 있다.
|
||||
|
||||
그룹(Groups)는 오직 유저를 포함하고 있고 다른 그룹은 포함할 수 없다.(중요)
|
||||
|
||||
어떤 유저는 그룹에 속해있지 않아도 된다.
|
||||
|
||||
또한, 각 그룹 사이에 그룹을 생성할 수 있다.
|
||||
|
||||
### 왜 사용자와 그룹을 생성할까?
|
||||
|
||||
AWS를 사용하기 위한 Permissions 때문이다.
|
||||
|
||||
유저와 그룹은 정책이라고 불리는 JSON 문서를 기반으로 한다.
|
||||
|
||||
이러한 정책은 유저들의 사용 권한을 결정한다.
|
||||
AWS에서는 최소한의 원칙을 적용할 수 있다. 유저가 필요한것 보다 더 많은 권한을 주지 않는다.
|
||||
|
||||
#### Tags
|
||||
|
||||
Tags는 AWS 어디에서나 사용 가능한 선택 사항이다. 메타데이터를 여러 리소스에 남길 수 있다는 장점이 있다.
|
||||
|
||||
#### AWS Account
|
||||
|
||||
AWS Account 에는 사용자 계정이 들어 있고, 로그인 url가 있다.
|
||||
해당 url는 alias(별칭)을 생성해서 간단하게 접근 가능하다. (단, unique 해야 한다.)
|
||||
|
||||
#### IAM 유저 로그인
|
||||
|
||||
해당 로그인 url를 통해서 관련 계정으로 들어갈 수 있고, IAM 유저 로그인 상에 alias를 통해서 접근이 가능해진다.
|
||||
항상 콘솔 로그인에서 루트계정과 IAM계정의 접근이 이해가 안갔었는데, 이 부분을 확실하게 이해할 수 있었던것 같다.
|
||||
|
||||
### IAM Policies
|
||||
|
||||
그룹에 IAM Policies를 적용하게 되면 그 그룹 안에 있는 모든 유저에게 접근되고 상속되게 된다.
|
||||
|
||||
inline policy 라는 방식으로 한 유저에게만 직접적으로 생성 가능하다.
|
||||
|
||||
### IAM Structure
|
||||
|
||||
- Version : 정책 언어 버전, 일반적으로 날짜로 되어 있는 경우가 많다.
|
||||
- ID : 정책을 확인하는 방법인데 선택사항이다.
|
||||
- Statement : 하나 이상의 구문을 작성해야 한다.
|
||||
- Sid : 구문의 식별자로 선택사항이다.
|
||||
- Effect : 해당 구문을 허용할지 거부할지에 대한 내용이다. (Allow/Deny)
|
||||
- Principal : 어떤 계정, 사용자, 혹은 역할이 이 정책에 적용될지를 결정한다.
|
||||
- Action : API 호출 목록이다.
|
||||
- Resource : 작업을 적용할 리소스 목록이다.
|
||||
- Condition : 이 정책을 적용하기 위한 조건, 선택 사항이다.
|
||||
~~~
|
||||
{
|
||||
"Version": "2012-10-17",
|
||||
"ID": "S3-Account-Permissions",
|
||||
"Statement": [
|
||||
{
|
||||
"Sid": "1",
|
||||
"Effect": "Allow",
|
||||
"Principal": {
|
||||
"AWS": ["arn:aws:iam::123456789012:root"]
|
||||
},
|
||||
"Action": [
|
||||
"s3:GetObject",
|
||||
"s3:PutObject"
|
||||
],
|
||||
"Resource": ["arn:aws:s3:::mybucket/*"]
|
||||
},
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": "ec2:Describe*",
|
||||
"Resource": "*"
|
||||
},
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": "elasticloadbalancing:Describe*",
|
||||
"Resource": "*"
|
||||
},
|
||||
{
|
||||
"Effect": "Allow",
|
||||
"Action": [
|
||||
"cloudwatch:ListMetrics",
|
||||
"cloudwatch:GetMetricStatistics",
|
||||
"cloudwatch:Describe*"
|
||||
],
|
||||
"Resource": "*"
|
||||
}
|
||||
]
|
||||
}
|
||||
~~~
|
||||
|
||||
### IAM - Password Policy
|
||||
|
||||
AWS에는 패스워드 정책이 다양하다.
|
||||
- 최소한의 길이 설정
|
||||
- 특별한 문자 요구
|
||||
- 스스로 패스워드 변경 허용
|
||||
- password expiration 설정하여 90일 후에 변경을 요구
|
||||
- 재사용 방지
|
||||
|
||||
### MFA
|
||||
|
||||
MFA - Multi Factor Authentication
|
||||
Root 계정과 IAM 유저를 보호하기 위해 사용한다.
|
||||
|
||||
MFA = password you know + security device you own
|
||||
|
||||
MFA devices options in AWS
|
||||
- Virtual MFA device
|
||||
- Google Authenticator
|
||||
- Authy
|
||||
- Universal 2nd Factor (U2F) Security Key
|
||||
- 3rd party
|
||||
- Hardware Key Fob MFA Device
|
||||
- Hardware Key Fob MFA Device for AWS GovCloud (US)
|
||||
Reference in New Issue
Block a user