iam-veeramalla/aws-devops-zero-to-hero
요약
DevOps 엔지니어가 30일 만에 AWS 핵심 서비스를 마스터할 수 있도록 설계된 종합 학습 가이드입니다. 클라우드 기초부터 IAM, EC2, VPC, Route 53 등 실무 필수 서비스와 프로젝트를 포함합니다.
핵심 포인트
- 30일 완성 AWS DevOps 커리큘럼 제공
- IAM, EC2, VPC 등 핵심 AWS 서비스 실무 학습
- 네트워크 설계 및 보안 모범 사례 구현 프로젝트 포함
- 실시간 사례와 면접 질문을 통한 실전 대비
전체 YouTube 재생 목록 - https://www.youtube.com/playlist?list=PLdpzxOOAlwvLNOxX0RfndiYSt1Le9azze
DevOps 엔지니어가 30일 만에 AWS를 배울 수 있도록 구성된 AWS zero to hero 저장소입니다. 이 저장소에는 프로젝트, 발표 자료, 면접 질문 및 실시간 사례가 포함되어 있습니다. 매일 진행되는 수업은 AWS 서비스에 대한 실시간 지식을 제공하여, 학습한 내용을 적용하고 DevOps 맥락에서 AWS를 다루는 실무 기술을 습득할 수 있도록 합니다.
프라이빗 클라우드(Private Cloud)와 퍼블릭 클라우드(Public Cloud)가 무엇인지 배우게 됩니다. 왜 기업들이 퍼블릭 클라우드로 이동하는지, 클라우드로 이동할 때의 장점은 무엇인지 알아봅니다.
또한, 핵심 서비스와 DevOps 실무에서의 중요성을 포함한 AWS의 기초를 소개받게 됩니다. 마지막으로 AWS 계정을 설정하고 AWS Management Console을 탐색하는 방법을 배웁니다.
AWS 리소스에 대한 액세스를 관리하는 데 사용되는 IAM을 탐구합니다. IAM 사용자(Users), 그룹(Groups), 역할(Roles)을 생성하는 방법과 적절한 액세스 제어를 보장하기 위해 권한 및 보안 모범 사례를 적용하는 방법을 배우게 됩니다.
클라우드에서 가상 서버를 제공하는 EC2를 깊이 있게 다룹니다. EC2 인스턴스를 시작하고, SSH를 사용하여 인스턴스에 연결하는 방법, 그리고 인스턴스 유형(Instance Types), 보안 그룹(Security Groups), 키 페어(Key Pairs)와 같은 핵심 개념을 이해하게 됩니다.
첫 번째 AWS 프로젝트: EC2 인스턴스에 간단한 웹 애플리케이션(예: Jenkins)을 배포하고 AWS 외부에서 애플리케이션에 접속합니다.
VPC (Virtual Private Cloud)에 초점을 맞추어 AWS 네트워킹 개념을 탐구합니다. VPC, 서브넷(Subnets), 라우트 테이블(Route Tables)을 생성하고 구성하는 방법을 배워 애플리케이션을 위한 네트워크 인프라를 설계하고 관리할 수 있게 됩니다.
이 단계에서는 AWS의 보안 모범 사례를 강조합니다. AWS 리소스의 기밀성, 무결성 및 가용성을 보장하기 위해 보안 그룹(Security Groups), 네트워크 ACL (Access Control Lists), IAM 정책(IAM Policies)과 같은 보안 조치를 구현하는 방법을 배우게 됩니다.
프로젝트: Route 53을 사용하여 도메인 이름을 구성하고 관리합니다. 도메인을 등록하고, DNS 레코드(DNS records)를 설정하며, 상태 검사 (health checks), 라우팅 정책 (routing policies), DNS 기반 장애 조치 (DNS-based failover)와 같은 고급 기능을 탐색하게 됩니다.
프로젝트:
VPC 설계 및 구성: 사용자 정의 IP 범위(custom IP ranges)를 가진 VPC를 생성합니다. 퍼블릭 서브넷 (public subnets)과 프라이빗 서브넷 (private subnets)을 설정합니다. 라우팅 테이블 (route tables)을 구성하고 서브넷을 연결합니다.
네트워크 보안 구현: 인바운드 및 아웃바운드 트래픽을 제어하기 위해 네트워크 액세스 제어 목록 (network access control lists (ACLs))을 설정합니다. 특정 포트와 프로토콜을 허용하도록 EC2 인스턴스용 보안 그룹 (security groups)을 구성합니다.
EC2 인스턴스 프로비저닝 (Provisioning): 퍼블릭 및 프라이빗 서브넷 모두에 EC2 인스턴스를 실행합니다. 필요한 트래픽을 허용하도록 인스턴스용 보안 그룹을 구성합니다. 적절한 권한을 가진 IAM 역할 (IAM roles)을 생성하여 인스턴스에 할당합니다.
네트워킹 및 라우팅: 퍼블릭 서브넷에 있는 인스턴스가 인터넷에 접속할 수 있도록 인터넷 게이트웨이 (internet gateway)를 설정합니다. 프라이빗 서브넷에 있는 인스턴스가 외부 인터넷으로 접속할 수 있도록 NAT 게이트웨이 (NAT gateway) 또는 NAT 인스턴스를 구성합니다. 적절한 라우팅 테이블을 생성하고 이를 서브넷과 연결합니다.
SSH 키 쌍 및 액세스 제어: SSH 키 쌍 (SSH key pair)을 생성하고 개인 키 (private key)를 안전하게 저장합니다. 생성된 키 쌍을 통해서만 SSH 접속이 가능하도록 인스턴스를 구성합니다. AWS 리소스에 대한 액세스 및 권한을 제어하기 위해 IAM 정책 (IAM policies)과 역할 (roles)을 구현합니다.
설정 테스트 및 검증: 개인 키를 사용하여 EC2 인스턴스에 SSH로 접속하고 연결성을 확인합니다. 서로 다른 서브넷에 있는 인스턴스 간의 네트워크 연결성을 테스트합니다. 보안 그룹 규칙과 네트워크 ACL 설정을 검증합니다.
이 프로젝트를 구현함으로써, EC2 인스턴스를 포함한 보안 VPC 설정, 네트워킹 및 라우팅 구현, 보안 그룹 및 IAM 역할 구성, 그리고 적절한 액세스 제어 보장 등에 대한 실무 경험을 쌓게 됩니다. 이 프로젝트는 이러한 AWS 서비스들이 애플리케이션을 위한 안전하고 확장 가능한 인프라를 구축하기 위해 어떻게 함께 작동하는지에 대한 실질적인 이해를 제공할 것입니다.
이 날은 확장 가능한 객체 스토리지 서비스인 Amazon S3에 집중합니다. S3 버킷을 생성하고, 객체를 업로드 및 다운로드하며, 버전 관리 (Versioning), 수명 주기 정책 (Lifecycle policies), 액세스 제어 (Access control)와 같은 S3 기능을 사용하여 데이터를 구성하는 방법을 배우게 됩니다.
이 날은 AWS CloudFormation을 사용한 코드형 인프라 (Infrastructure as Code (IaC))를 소개합니다. 리소스 프로비저닝 (Provisioning)을 자동화하기 위한 CloudFormation 템플릿을 생성하고, 스택 (Stacks)을 관리하며, 배포 전반에 걸쳐 일관된 인프라를 보장하는 방법을 배우게 됩니다.
프로젝트: EC2 인스턴스, 네트워킹 구성 요소 및 보안 그룹 (Security groups)을 포함하여 완전히 구성된 애플리케이션 스택을 프로비저닝하는 CloudFormation 템플릿을 작성하는 실습을 진행합니다.
이 날은 관리형 소스 제어 서비스인 AWS CodeCommit에 집중합니다. CodeCommit에서 Git 저장소 (Repository)를 설정하고, 팀원들과 협업하며, 코드베이스의 버전 관리 (Version control)를 수행하는 방법을 배우게 됩니다.
프로젝트: 액세스 제어 및 협업 워크플로 (Workflows) 설정을 포함하여 팀 프로젝트를 위한 CodeCommit 저장소를 구성합니다.
완전 관리형 지속적 인도 (Continuous delivery) 서비스인 AWS CodePipeline을 심도 있게 다룹니다. 소스, 빌드 및 배포 단계를 구성하여 엔드 투 엔드 (End-to-end) CI/CD 파이프라인을 구축하고, 전체 소프트웨어 릴리스 프로세스를 자동화하는 방법을 배우게 됩니다.
프로젝트: 소스 코드 통합, 빌드 및 대상 환경으로의 자동 배포를 포함하여 애플리케이션 배포를 위한 CodePipeline 기반의 CI/CD 파이프라인을 생성합니다.
이 날은 완전 관리형 빌드 서비스인 AWS CodeBuild에 집중합니다. CodeBuild에서 빌드 프로젝트를 구성하고, 빌드 사양 (Build specifications)을 정의하며, 빌드 및 테스트 프로세스를 수행하는 방법을 배우게 됩니다.
프로젝트: 빌드 사양을 정의하고 다른 AWS 서비스와 통합하는 과정을 포함하여, 특정 프로젝트를 위한 CodeBuild를 구성하고 실행합니다.
다양한 컴퓨팅 환경에 애플리케이션 배포를 자동화하는 서비스인 AWS CodeDeploy를 탐구합니다. 배포 그룹 (deployment groups) 생성 방법, 배포 전략 (deployment strategies) 구성 방법, 그리고 필요한 경우 자동 롤백 (automatic rollbacks)을 수행하는 방법을 배웁니다.
프로젝트: CodeDeploy를 사용하여 샘플 애플리케이션에 대한 블루/그린 배포 (Blue/Green deployment) 전략을 구현하며, 이를 통해 다운타임 없는 배포 (zero-downtime deployments)와 용이한 롤백 옵션을 보장합니다.
이 날은 AWS CloudWatch를 사용하여 AWS 리소스를 모니터링하는 데 집중합니다. 알람 (alarms) 생성, 알림 (notifications) 설정, 그리고 애플리케이션과 인프라의 상태 및 성능에 대한 통찰력을 얻기 위한 메트릭 (metrics) 수집 방법을 배웁니다.
프로젝트: 애플리케이션의 핵심 메트릭에 대한 CloudWatch 알람을 설정하고, 적절한 임계값 (threshold) 조건을 정의하며, 알림 동작 (notification actions)을 구성합니다.
이 날은 AWS Lambda를 통한 서버리스 컴퓨팅 (serverless computing)을 소개합니다. 서버리스 함수 (serverless functions)를 생성 및 배포하고, 이벤트를 기반으로 함수를 트리거하며, 확장 가능하고 이벤트 기반인 아키텍처 (event-driven architectures)를 구축하기 위해 Lambda를 활용하는 방법을 배웁니다.
이 날은 이벤트 기반 아키텍처를 위한 서비스인 AWS CloudWatch Events 및 EventBridge에 집중합니다. 이벤트 규칙 (event rules) 생성, 이벤트 대상 (event targets) 구성, 그리고 서버리스 이벤트 기반 워크플로 (serverless event-driven workflows)를 구축하는 방법을 배웁니다.
프로젝트: CloudWatch Events와 EventBridge를 사용하여 서버리스 이벤트 기반 워크플로를 구축하며, 이벤트를 기반으로 서로 다른 AWS 서비스의 통합 및 자동화를 시연합니다.
CDN 또는 CloudFront를 이전에 들어본 적이 없더라도 걱정하지 마세요. 기초부터 시작하여 점진적으로 이해도를 높여갈 것입니다. 마지막에는 이러한 기술들에 능숙해질 것입니다.
프로젝트: 정적 웹사이트를 호스팅하기 위한 S3 버킷 (s3 bucket)을 구성하고, AWS CloudFront인 CDN을 통해 이 웹사이트로의 요청을 처리하는 방법을 배웁니다.
컨테이너 이미지를 저장하고 관리하기 위한 완전 관리형 컨테이너 레지스트리 (container registry)인 AWS ECR을 탐구합니다. ECR로 Docker 이미지를 푸시 (push)하고 ECR에서 풀 (pull)하는 방법을 배워, ECS 및 기타 컨테이너 서비스와의 원활한 통합을 가능하게 합니다.
프로젝트 (Project): Docker 이미지를 자동으로 빌드, 푸시 및 ECR에 배포하는 CI/CD 파이프라인 (pipeline)을 구축하여 효율적인 컨테이너 이미지 관리를 보장합니다.
이 날은 완전 관리형 컨테이너 오케스트레이션 서비스 (container orchestration service)인 AWS ECS에 집중합니다. 태스크 정의 (task definitions) 생성, 서비스 관리, 오토스케일링 (auto-scaling) 기능을 통한 확장 등을 포함하여 ECS를 사용하여 컨테이너를 실행하고 관리하는 방법을 배웁니다.
프로젝트 (Project): ECS를 사용하여 멀티 컨테이너 애플리케이션을 배포하고, 오토스케일링 정책을 구성하며, 고가용성 (high availability)과 효율적인 리소스 활용을 보장합니다.
이 날은 완전 관리형 Kubernetes 서비스인 AWS EKS를 소개합니다. 워커 노드 (worker nodes) 실행, 네트워킹 구성, Kubernetes 매니페스트 (manifests)를 사용한 애플리케이션 배포를 포함하여 EKS를 사용하여 Kubernetes 클러스터 (clusters)를 배포하고 관리하는 방법을 배웁니다.
프로젝트 (Project): Kubernetes 매니페스트를 사용하여 EKS에 샘플 애플리케이션을 배포함으로써, 관리형 Kubernetes 서비스에서 컨테이너화된 애플리케이션을 실행하는 능력을 입증합니다.
이 날은 데이터베이스 자격 증명 (credentials), API 키 및 기타 민감한 정보를 저장하고 관리하기 위한 서비스인 AWS Secrets Manager에 집중합니다. 애플리케이션에서 보안을 유지하며 비밀 정보 (secrets)를 저장, 검색 및 로테이션 (rotate)하는 방법을 배웁니다.
프로젝트 (Project): Secrets Manager를 구성하여 비밀 정보를 저장 및 관리하고, 애플리케이션에 비밀 정보 검색을 통합하며, 비밀 정보 로테이션 정책을 구현합니다.
이 날은 실제 사례를 통해 Terraform을 사용하여 인프라를 구축하는 데 중점을 둡니다.
프로젝트 (Project): VPC를 생성하고 서로 다른 가용 영역 (availability zones)에 2개의 애플리케이션을 배포합니다. 또한 인스턴스 간의 부하를 자동으로 분산하기 위한 로드 밸런서 (load balancer)를 생성합니다.
감사 (auditing) 및 컴플라이언스 (compliance) 기능을 제공하는 AWS CloudTrail과 AWS Config를 탐구합니다. CloudTrail을 사용하여 API 호출을 추적하는 방법과 AWS Config 규칙을 통해 컴플라이언스를 보장하는 방법을 배웁니다.
프로젝트 (Project): API 활동을 기록하도록 CloudTrail을 구성하고, AWS 리소스에 대한 컴플라이언스 정책을 강제하기 위해 AWS Config 규칙을 설정합니다.
여러 타겟에 걸쳐 들어오는 애플리케이션 트래픽을 분산하는 서비스인 AWS Elastic Load Balancer를 탐구합니다. 고가용성 (high availability), 결함 허용 (fault tolerance), 확장성 (scalability)을 보장하기 위해 로드 밸런서 (load balancer)를 구성하고 관리하는 방법을 배웁니다.
프로젝트 (Project): 애플리케이션을 위한 Elastic Load Balancer를 구성하고, 타겟 그룹 (target groups)을 정의하며, 인스턴스 간의 로드 밸런싱 동작을 관찰합니다.
이 날은 애플리케이션을 AWS 클라우드로 마이그레이션 (migrate)하는 방법을 배우는 데 집중합니다. 클라우드 마이그레이션을 달성하기 위해 사용되는 가장 인기 있는 전략과 도구는 무엇인지 알아봅니다.
이 날은 애플리케이션을 AWS 클라우드로 마이그레이션 (migrate)하는 방법을 배우는 데 집중합니다. 클라우드 마이그레이션을 달성하기 위해 사용되는 가장 인기 있는 전략과 도구는 무엇인지 알아봅니다.
마지막 날에는 보안 (security), 비용 최적화 (cost optimization), 성능 (performance)을 포함한 AWS 서비스의 베스트 프랙티스 (best practices)를 검토합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Python (daily)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기