풀스택 웹서비스 구축을 위한 AWS 공부 주제

날아올라돼지야·2024년 10월 19일
0

클라우드 마스터

목록 보기
11/17

컨테이너 기반 아키텍처서버리스 아키텍처를 혼합한 쇼핑몰 웹서비스를 구축하려면 AWS의 다양한 기술을 익혀야 합니다. 이를 위해 필요한 AWS 기술들을 기본 개념부터 고급 아키텍처 관리까지 단계별로 정리해보겠습니다. 이 순서는 학습 난이도와 실습 연계 가능성을 고려한 것입니다.

1. 기초 개념 학습

1-1. AWS 기본 개념 및 관리

  • AWS 콘솔과 AWS CLI: AWS 리소스를 관리하기 위한 기본 도구.
    • CLI 사용법AWS 계정 관리 방법 학습.
  • IAM (Identity and Access Management): 사용자 및 권한 관리.
    • 사용자 및 역할 정의, 권한 부여, 정책 설정 등.

1-2. 네트워크 및 보안

  • VPC (Virtual Private Cloud): 네트워크 구성의 기초. 서브넷, 라우팅 테이블, 인터넷 게이트웨이, NAT 게이트웨이 등 학습.
  • Security Groups와 Network ACLs: 인스턴스 및 네트워크 보안 설정.
  • Route 53: DNS 설정 및 도메인 관리.

2. 컴퓨팅 리소스

2-1. Amazon EC2

  • EC2 인스턴스 생성 및 관리: 기본적인 서버 설정과 EC2 인스턴스 관리 방법.
  • EBS (Elastic Block Store): EC2 인스턴스의 블록 스토리지 관리.
  • EC2 Auto Scaling: 오토스케일링 그룹을 사용해 서버 수를 자동으로 조절하는 방법.

2-2. Elastic Load Balancing (ELB)

  • Application Load Balancer (ALB): 트래픽 부하를 여러 EC2 인스턴스 또는 컨테이너로 분산.
  • ALB 타겟 그룹 설정 및 헬스체크.

3. 컨테이너 관리 및 오케스트레이션

3-1. Docker 및 컨테이너 기초

  • Docker 기본 개념: 컨테이너 이미지 생성 및 실행 방법 학습.
  • Dockerfile 작성: 애플리케이션 컨테이너화 방법.

3-2. Amazon ECS (Elastic Container Service)

  • ECS 클러스터 구성: EC2 기반과 Fargate 기반 클러스터 설정.
  • 컨테이너 태스크 및 서비스: 여러 컨테이너를 ECS에 배포하고 자동 확장하는 방법 학습.

3-3. Amazon ECR (Elastic Container Registry)

  • ECR 활용: Docker 이미지를 저장하고 ECS 또는 EKS로 배포.

3-4. Amazon EKS (Elastic Kubernetes Service)

  • Kubernetes 기초: 컨테이너를 관리하는 Kubernetes의 기본 개념 학습.
  • EKS 클러스터 관리: Kubernetes 클러스터를 통해 애플리케이션 확장 및 관리.

4. 서버리스 아키텍처

4-1. AWS Lambda

  • Lambda 함수: 이벤트 기반으로 실행되는 서버리스 함수 생성 및 실행 방법.
  • Lambda 트리거 설정: API Gateway, S3, DynamoDB 등과 Lambda를 연동하는 방법.

4-2. API Gateway

  • API Gateway 기초: API 엔드포인트 생성, 경로 설정, Lambda 함수 연결 방법.
  • 경로별 Lambda 연결API 호출 흐름 이해.

5. 데이터베이스 및 스토리지

5-1. 데이터베이스

  • Amazon RDS (Relational Database Service): MySQL, PostgreSQL 등 관계형 데이터베이스 관리 및 연결.
  • Amazon DynamoDB: 서버리스 NoSQL 데이터베이스 설정 및 사용법.

5-2. 스토리지 서비스

  • Amazon S3 (Simple Storage Service): 파일 저장소로서의 S3 학습.
  • S3 버킷 정책 설정, 파일 업로드 및 다운로드.

5-3. 캐시 및 인메모리 데이터 저장소

  • Amazon ElastiCache: Redis 또는 Memcached를 사용해 캐시 관리.
  • 읽기 성능 향상을 위한 캐시 활용.

6. 메시징 서비스

6-1. Amazon SQS (Simple Queue Service)

  • SQS 큐 설정: 메시지 큐를 사용해 비동기 작업 처리.
  • Lambda와 SQS 통합: 이벤트 트리거 방식으로 메시지를 처리하는 방법.

6-2. Amazon SNS (Simple Notification Service)

  • SNS 주제 설정: 이메일, 문자, 푸시 알림 발송.

7. 모니터링 및 로깅

7-1. Amazon CloudWatch

  • CloudWatch 로그 및 메트릭: EC2, Lambda, ECS/EKS의 성능 모니터링.
  • 경고 및 알람 설정: 성능 문제나 오류 발생 시 알림 설정.

7-2. AWS X-Ray

  • X-Ray를 사용한 분산 추적: 분산 시스템에서의 성능 분석과 문제 해결.

8. 인프라 자동화 및 코드 관리

8-1. AWS CloudFormation

  • CloudFormation 템플릿 작성: 인프라를 코드로 정의하고 자동으로 배포하는 방법.
  • 스택 관리: 인프라 변경 사항을 자동으로 관리.

8-2. AWS CDK (Cloud Development Kit)

  • CDK 기초: 코드로 인프라를 정의하고 배포하는 방법.
  • 프로그래밍 언어를 사용한 인프라 자동화.

9. 네트워크 및 엣지 서비스

9-1. AWS Route 53

  • DNS 관리: 도메인 이름 설정 및 트래픽 라우팅.
  • 지리적 라우팅 및 장애 조치 설정.

9-2. Amazon CloudFront

  • CDN 설정: 콘텐츠를 엣지 로케이션에 캐싱하여 전 세계에 빠르게 배포.
  • CloudFront와 S3 통합: 정적 웹사이트 또는 리소스 캐싱.

10. 고급 관리 및 보안

10-1. Amazon Cognito

  • 사용자 인증: 사용자 인증, 회원가입/로그인 기능 제공.
  • OAuth2.0 및 JWT 토큰 기반 인증.

10-2. AWS Secrets Manager

  • 비밀 정보 관리: API 키, DB 자격 증명 등의 안전한 관리.
  • Lambda나 ECS에서 비밀 정보 호출.

학습 순서

  1. AWS 기본 개념 및 관리 (IAM, VPC, Security Groups)
  2. 컴퓨팅 리소스 관리 (EC2, EBS, Auto Scaling, ELB)
  3. 컨테이너 및 오케스트레이션 (Docker, ECS/EKS, ECR)
  4. 서버리스 아키텍처 (Lambda, API Gateway)
  5. 데이터베이스 및 스토리지 (RDS, DynamoDB, S3)
  6. 메시징 서비스 (SQS, SNS)
  7. 모니터링 및 로깅 (CloudWatch, X-Ray)
  8. 인프라 자동화 (CloudFormation, CDK)
  9. 네트워크 및 엣지 서비스 (Route 53, CloudFront)
  10. 고급 보안 및 관리 (Cognito, Secrets Manager)

결론

이 순서로 학습하면 AWS에서 쇼핑몰 웹서비스와 같은 애플리케이션을 구축하고, 컨테이너 기반 또는 서버리스 기반으로 확장 가능한 서비스를 구현할 수 있습니다. 각각의 서비스는 실습을 통해 익히며, 프로젝트에 필요한 부분만 선택적으로 사용해도 좋습니다.

profile
무슨 생각하며 사니

0개의 댓글