컴퓨터 네트워크 수업 중간고사 범위에 AWS가 들어갔는데 논문 포스터 만들고 발표 준비하느랴 제대로 공부를 못했다. 그에 따른 처참한 성적,,, 나중에 따로 공부해야겠다고 생각했는데 마침 학교에 AWS CLOUD CLUB 동아리가 있는 것이 아닌가? 게다가 2기 추가 모집 중이었다. 나이스 타이밍! 간절한 마음으로 지원했더니 운이 좋게 붙었다~!
처참한 성적을 받았음에도(사실 동아리 측은 내가 컴네 학점 망한 건 모르긴 함ㅎㅎ) 받아준 ACC에 감사한 마음을 갖으며, AWS에 대해서 알아보기로 했다.
AWS (Amazon Web Services)란?
Amazon Web Services (AWS)는 아마존에서 제공하는 클라우드 컴퓨팅 플랫폼입니다. 서버, 스토리지, 네트워킹, 데이터베이스, 분석, 머신러닝, 인공지능, 모바일, 개발 도구 등 다양한 서비스를 제공하며, 전 세계적으로 가장 많이 사용되는 클라우드 플랫폼 중 하나입니다.
AWS의 주요 특징:
- 확장성: 사용량에 따라 리소스를 쉽게 확장하거나 축소할 수 있습니다.
- 유연성: 다양한 요구 사항을 충족하도록 다양한 서비스를 제공합니다.
- 신뢰성: 높은 가용성과 데이터 안전성을 제공합니다.
- 비용 효율성: 사용한 만큼만 비용을 지불하면 됩니다.
- 글로벌 리치: 전 세계 여러 리전에 데이터 센터를 운영합니다.
AWS가 제공하는 주요 서비스:
- 컴퓨팅: Amazon EC2, Amazon Lambda, Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) 등
- 스토리지: Amazon S3, Amazon EBS, Amazon Glacier 등
- 네트워킹: Amazon VPC, Amazon CloudFront, Amazon Route 53 등
- 데이터베이스: Amazon RDS, Amazon Aurora, Amazon DynamoDB, Amazon Neptune 등
- 분석: Amazon Redshift, Amazon QuickSight, Amazon Athena, Amazon Kinesis 등
- 머신러닝: Amazon SageMaker, Amazon Rekognition, Amazon Comprehend, Amazon Polly 등
- 인공지능: Amazon Lex, Amazon Forecast, Amazon Fraud Detector, Amazon Personalize 등
- 모바일: Amazon Cognito, Amazon Pinpoint, Amazon Mobile Analytics 등
- 개발 도구: AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS Cloud9 등
AWS를 사용하는 이점:
- 비용 절감: 온프레미스 인프라에 비해 비용을 절감할 수 있습니다.
- 빠른 혁신: 새로운 애플리케이션과 서비스를 빠르게 개발하고 배포할 수 있습니다.
- 확장성: 사용량에 따라 쉽게 확장할 수 있습니다.
- 높은 가용성: 데이터 손실 없이 서비스를 지속적으로 제공할 수 있습니다.
- 글로벌 리치: 전 세계 사용자에게 서비스를 제공할 수 있습니다.
AWS는 다음과 같은 기업과 조직에서 사용되고 있습니다:
- 스타트업: 빠르게 성장하고 혁신하는 데 필요한 리소스를 저렴하게 확보할 수 있습니다.
- 중소기업: 비용을 절감하고 효율성을 높일 수 있습니다.
- 대기업: 글로벌 규모의 애플리케이션과 서비스를 개발하고 배포할 수 있습니다.
- 정부기관: 시민에게 더 나은 서비스를 제공하고 비용을 절감할 수 있습니다.
- 비영리 단체: 사회적 영향을 미치는 애플리케이션을 개발하고 배포할 수 있습니다.
AWS 사용을 시작하는 방법:
- AWS 계정 생성: https://aws.amazon.com/free/ 에서 무료 AWS 계정을 생성합니다.
- AWS 기본 서비스 익히기: Amazon EC2, Amazon S3, Amazon RDS 등 기본 서비스를 사용하는 방법을 익힙니다.
- AWS 문서 및 튜토리얼 활용: AWS 웹사이트에서 제공되는 다양한 문서와 튜토리얼을 활용하여 AWS 서비스를 사용하는 방법을 배웁니다.
- 온라인 강좌 및 교육 자료 활용: Udemy, Coursera 등 온라인 플랫폼에서 제공되는 AWS 관련 강좌 및 교육 자료를 활용합니다.
- AWS 커뮤니티 참여: AWS 커뮤니티 포럼, 블로그, Meetup 그룹 등을 통해 다른 AWS 사용자들과交流하고 정보를 공유합니다.
서비스에 대해 더 자세히 알아보자!
AWS 주요 서비스 심층 분석: 핵심 기능과 활용 방안
AWS는 컴퓨팅, 스토리지, 네트워킹, 데이터베이스, 분석, 머신 러닝, 인공 지능, 모바일, 개발 도구 등 방대한 범위의 서비스를 제공하며, 각 서비스는 다양한 기능과 활용 방안을 가지고 있습니다.
1. 컴퓨팅:
- Amazon EC2 (Elastic Compute Cloud): 가상 머신(VM) 인스턴스를 생성하고 관리하여 온프레미스 서버와 동일한 기능을 클라우드에서 제공합니다. 웹 서버, 애플리케이션 서버, 데이터베이스 서버 등 다양한 용도로 활용 가능합니다.
- Amazon Lambda: 코드 실행을 위한 서버리스 컴퓨팅 서비스입니다. 코드를 업로드하고 실행 트리거를 설정하면, AWS가 자동으로 코드를 실행하고 필요한 리소스를 프로비저닝/해제합니다. 서버 관리 없이 간편하게 코드를 실행할 수 있습니다.
- Amazon Elastic Container Service (ECS): 컨테이너 기반 애플리케이션을 관리하는 서비스입니다. Docker 컨테이너를 사용하여 애플리케이션을 패키징하고 실행할 수 있으며, 자동 스케일링, 로드 밸런싱, 모니터링 등의 기능을 제공합니다.
- Amazon Elastic Kubernetes Service (EKS): Kubernetes를 사용하여 컨테이너 오케스트레이션을 제공하는 서비스입니다. ECS보다 더 강력하고 유연하며, 대규모 컨테이너 애플리케이션을 관리하는 데 적합합니다.
2. 스토리지:
- Amazon S3 (Simple Storage Service): 오브젝트 스토리지 서비스로, 파일, 이미지, 동영상 등 다양한 데이터를 저렴하고 확장 가능하게 저장할 수 있습니다. 웹사이트 콘텐츠, 백업 데이터, 모바일 앱 데이터 등을 저장하는 데 사용됩니다.
- Amazon EBS (Elastic Block Store): EC2 인스턴스에 연결되는 블록 스토리지 서비스입니다. EC2 인스턴스의 부트 볼륨으로 사용하거나, 애플리케이션 데이터 저장 공간으로 사용할 수 있습니다.
- Amazon Glacier: 아주 드물게 액세스하는 데이터를 저렴하게 저장하는 아카이브 스토리지 서비스입니다. 백업 데이터, 규정 준수 관련 문서 등 장기간 보관해야 하는 데이터를 저장하는 데 사용됩니다.
3. 네트워킹:
- Amazon VPC (Virtual Private Cloud): AWS에서 사용자 고유의 가상 네트워크를 생성하고 관리할 수 있는 서비스입니다. 자체적인 방화벽, 서브넷, 라우팅 테이블 등을 설정하여 네트워크 보안과 제어를 강화할 수 있습니다.
- Amazon CloudFront: 콘텐츠 전달 네트워크(CDN) 서비스로, 전 세계 사용자에게 콘텐츠를 빠르고 안정적으로 제공합니다. 정적 콘텐츠(웹 페이지, 이미지, 동영상) 및 동적 콘텐츠(애플리케이션 데이터)를 캐싱하여 사용자에게 가까운 위치에서 제공합니다.
- Amazon Route 53: 도메인 이름 시스템(DNS) 서비스로, 도메인 이름을 IP 주소로 매핑하고 트래픽을 라우팅합니다. 사용자 맞춤 도메인을 설정하고, 여러 도메인을 관리하며, DNS 페일오버 등의 기능을 제공합니다.
4. 데이터베이스:
- Amazon RDS (Relational Database Service): MySQL, MariaDB, PostgreSQL, Oracle, SQL Server 등 다양한 관계형 데이터베이스 엔진을 지원하는 관리형 데이터베이스 서비스입니다. 데이터베이스 설치, 구성, 백업, 패칭 등을 자동으로 수행하며, 고가용성 및 확장성을 제공합니다.
- Amazon Aurora: MySQL 및 PostgreSQL과 호환되는 관계형 데이터베이스 서비스입니다. 기존 RDS MySQL/PostgreSQL 데이터베이스와 호환되면서, 성능, 확장성, 가용성을 크게 향상시킨 버전입니다.
- Amazon DynamoDB: NoSQL 데이터베이스 서비스로, 문서 형식의 데이터를 빠르고 확장 가능하게 저장하고 검색할 수 있습니다. 모바일 앱 백엔드, IoT 데이터 저장, 실시간 웨비 애플리케이션 등에 사용됩니다.
- Amazon Neptune: 그래프 데이터베이스 서비스로, 관계와 연결성이 중요한 데이터를 모델링하고 쿼리하는 데 사용됩니다. 소셜 네트워크 분석, 추천 시스템, 사기 감지 등에 사용됩니다.
5. 분석:
- Amazon Redshift: 대규모 데이터 웨어하우징 및 분석을 위한 서비스입니다. 페타바이트 규모의 데이터를 저장하고 분석할 수 있으며, SQL 기반 쿼리 언어를 지원합니다. 기업 데이터 분석, 비즈니스 인텔리전스, 머신 러닝 모델 학습 등에 사용됩니다.
- Amazon QuickSight: 클라우드 기반 비즈니스 인텔리전스(BI) 및 분석 플랫폼입니다. 데이터 시각화, 대시보드 생성, 보고서 작성 등의 기능을 제공하며, 비기술 사용자도 쉽게 사용할 수 있습니다.
- Amazon Athena: 서버리스 데이터 분석 서비스입니다. S3에 저장된 데이터를 직접 쿼리하여 분석할 수 있으며, 코드 작성 없이 간편하게 데이터 분석을 수행할 수 있습니다.
- Amazon Kinesis: 실시간 데이터 스트리밍 서비스입니다. 다양한 소스(IoT 장치, 웹사이트, 애플리케이션 등)에서 발생하는 데이터를 실시간으로 수집, 처리, 분석할 수 있습니다.
6. 머신 러닝:
- Amazon SageMaker: 머신 러닝 모델 개발, 학습, 배포, 관리를 위한 종합 서비스입니다. 머신 러닝 전문 지식 없이도 쉽게 머신 러닝 모델을 개발하고 사용할 수 있도록 다양한 도구와 기능을 제공합니다.
- Amazon Rekognition: 이미지 및 동영상 분석을 위한 머신 러닝 서비스입니다. 얼굴 인식, 감정 인식, 객체 인식, 텍스트 인식 등 다양한 기능을 제공하며, 사진 앨범 정리, 보안 감시, 의료 영상 분석 등에 사용됩니다.
- Amazon Comprehend: 자연어 처리(NLP)를 위한 머신 러닝 서비스입니다. 텍스트 분석, 감정 분석, 요약, 자동 번역 등 다양한 기능을 제공하며, 고객 리뷰 분석, 챗봇 개발, 콘텐츠 작성 등에 사용됩니다.
- Amazon Polly: 텍스트 음성 변환(TTS)을 위한 머신 러닝 서비스입니다. 텍스트를 자연스러운 음성으로 변환하여, 웹사이트, 앱, 음성책 등에 사용할 수 있습니다.
7. 인공 지능:
- Amazon Lex: 자연어 이해(NLU)를 위한 서비스로, 사용자의 의도를 이해하고 대화형 챗봇을 구축할 수 있도록 합니다. 고객 서비스, 정보 제공, 설문 조사 등 다양한 용도로 사용할 수 있습니다.
- Amazon Forecast: 시계열 예측을 위한 머신 러닝 서비스입니다. 과거 데이터를 기반으로 미래를 예측하여, 판매 예측, 수요 예측, 유지 관리 예측 등에 사용할 수 있습니다.
- Amazon Fraud Detector: 사기 감지를 위한 머신 러닝 서비스입니다. 온라인 거래, 보험 청구, 신용 카드 사용 등 다양한 데이터에서 사기 행위를 식별하고 예방하는 데 사용됩니다
- Amazon Personalize: 개인 맞춤 추천을 위한 서비스입니다. 사용자의 행동 데이터를 기반으로 개인 맞춤 콘텐츠, 상품, 서비스를 추천하여 고객 참여도를 높이고 매출을 증대시키는 데 사용됩니다.
8. 모바일:
- Amazon Cognito: 사용자 인증 및 관리를 위한 서비스입니다. 모바일 앱 및 웹 애플리케이션에 사용자 로그인, 인증, 권한 관리 등의 기능을 제공합니다.
- Amazon Pinpoint: 모바일 앱 사용자에게 맞춤 메시지를 전달하는 서비스입니다. 푸시 알림, 이메일, SMS 등 다양한 채널을 통해 사용자에게 맞춤 메시지를 전송하고, 캠페인 효과를 분석할 수 있습니다.
- Amazon Mobile Analytics: 모바일 앱 사용 데이터를 수집하고 분석하는 서비스입니다. 사용자 행동, 앱 사용량, 충돌 보고서 등을 분석하여 앱을 개선하고 사용자 참여도를 높이는 데 사용됩니다.
9. 개발 도구:
- AWS CodePipeline: 지속적 통합 및 지속적 배포(CI/CD)을 위한 서비스입니다. 코드 변경 시 자동으로 테스트, 빌드, 배포를 수행하여 개발 프로세스를 자동화하고 효율성을 높입니다.
- AWS CodeBuild: 코드 빌드 및 테스트를 위한 서비스입니다. Git 리포지토리에서 코드를 자동으로 가져와 빌드하고 테스트하며, 다양한 빌드 환경을 지원합니다.
- AWS CodeDeploy: 애플리케이션 배포 및 관리를 위한 서비스입니다. 코드 변경 사항을 서버에 자동으로 배포하고, 배포 후 모니터링 및 롤백 기능을 제공합니다.
- AWS Cloud9: 클라우드 기반 통합 개발 환경(IDE)입니다. 웹 브라우저에서 코드 작성, 빌드, 디버깅, 배포 등을 수행할 수 있으며, 다양한 프로그래밍 언어와 도구를 지원합니다.
알아보면서 궁금한 점: 지인 중에 AWS 다니시는 분이 있는데 그 분은 이 많은 서비스를 다 다룰 줄 알까..?
느낀 점: SAA 자격증 따고 싶ㄷr...☆