24.12.10 TIL AWS

신성훈·2024년 12월 10일

TIL

목록 보기
96/162

1. AWS(Amazon Web Services)란?

AWS는 Amazon이 제공하는 클라우드 서비스 플랫폼으로, 컴퓨팅 파워, 데이터 저장, 네트워킹, 데이터베이스 등 IT 자원을 인터넷을 통해 제공하는 서비스입니다.

  • 확장성: 필요한 자원을 원하는 만큼 사용하고 조정 가능
  • 유연성: 다양한 도구와 서비스를 통해 다양한 요구사항 충족
  • 비용 효율성: 사용한 만큼만 요금을 지불하는 종량제 모델

2. AWS의 주요 서비스

1) 컴퓨팅 (EC2, Lambda 등)

  • EC2 (Elastic Compute Cloud):
    가상 서버를 생성하여 애플리케이션을 실행할 수 있는 서비스

    • 예: 웹 서버, 데이터 분석 서버
    • 설정: CPU, 메모리, 스토리지 크기를 선택 가능
  • Lambda:
    서버를 직접 관리하지 않고 코드를 실행하는 서버리스 컴퓨팅 서비스

    • 예: 이벤트 기반 처리(파일 업로드, 알림)

2) 스토리지 (S3, EBS 등)

  • S3 (Simple Storage Service):
    대규모 데이터를 저장할 수 있는 객체 스토리지 서비스

    • 예: 이미지, 동영상, 로그 파일 저장
    • 특징: 내구성과 가용성이 뛰어남
  • EBS (Elastic Block Store):
    EC2에 연결할 수 있는 블록 스토리지

3) 데이터베이스 (RDS, DynamoDB 등)

  • RDS (Relational Database Service):
    MySQL, PostgreSQL, MariaDB, Oracle, SQL Server 같은 관계형 데이터베이스를 관리

  • DynamoDB:
    빠른 읽기와 쓰기가 필요한 NoSQL 데이터베이스

4) 네트워킹 (VPC, Route 53 등)

  • VPC (Virtual Private Cloud):
    사용자가 정의한 가상 네트워크에서 AWS 리소스를 실행

  • Route 53:
    도메인 네임 시스템(DNS) 서비스

5) DevOps 도구 (CodePipeline, Elastic Beanstalk 등)

  • CodePipeline:
    애플리케이션 배포 및 CI/CD 프로세스를 자동화

  • Elastic Beanstalk:
    코드를 업로드하면 자동으로 배포, 용량 조정, 로드 밸런싱 등을 처리


3. AWS의 장점

  1. 확장성

    • 트래픽이나 데이터 양에 따라 자원을 자동으로 확장하거나 축소 가능
  2. 글로벌 인프라

    • 전 세계 여러 지역에 데이터 센터를 보유
  3. 보안성

    • IAM(Identity and Access Management) 등 강력한 보안 도구 제공
  4. 비용 효율성

    • 초기 투자 없이 필요한 만큼만 사용

4. AWS를 활용한 웹 애플리케이션 배포 예시

1) 서비스 구성

  • EC2: 애플리케이션 실행
  • S3: 정적 파일 저장
  • RDS: 데이터 저장
  • CloudFront: 콘텐츠 배포 속도 향상
  • Route 53: 사용자 도메인 연결

2) 작업 흐름

  1. 소스 코드 준비: GitHub 또는 로컬 환경에서 코드 준비
  2. EC2 인스턴스 설정: 애플리케이션 실행 환경 구성
  3. S3에 정적 파일 업로드: HTML, CSS, JavaScript 같은 정적 파일 저장
  4. RDS 연결: 데이터베이스 설정 후 애플리케이션 연동
  5. Route 53으로 도메인 연결: 사용자 접근 URL 구성

5. AWS 사용 시 트레이드오프

장점

  • 빠른 배포 및 높은 확장성
  • 다양한 서비스 통합 가능
  • 비용 효율적인 사용 가능

단점

  • 초기 학습 곡선이 높음
  • 잘못된 설정 시 비용 증가 가능
  • 서비스 간의 통합이 복잡할 수 있음

6. 마무리

AWS는 처음엔 설정이 복잡했지만, 다양한 기능을 활용하면서 클라우드 서비스의 강력함을 체감했습니다. 특히 최종프로젝트 시 EC2와 S3를 활용해 애플리케이션을 배포하면서 효율적인 리소스 관리확장성의 중요성을 느꼈습니다. 앞으로도 Lambda와 같은 서버리스 기술을 적극적으로 활용해 보고 싶습니다.

profile
조급해하지 말고, 흐름을 만들고, 기록하면서 쌓아가자.

0개의 댓글