[CloudClub] 90DaysOfDevOps 7

박서연·2023년 11월 1일

Cloud

목록 보기
13/13

AWS

Day 49 : AWS Cloud Overview

📌 AWS

✔️ AWS 클라우드(AWS Cloud)는 아마존 웹 서비스(AWS)가 제공하는 클라우드 컴퓨팅 플랫폼으로 컴퓨팅, 스토리지, 네트워킹, 데이터베이스, 분석, 머신러닝, 보안 등 광범위한 서비스 제공

✔️ AWS 클라우드를 사용하면 기업은 사용한만큼 비용을 지불하고, 필요에 따라 리소스를 확장하거나 축소할 수 있음

📌 Flexibility

✔️ AWS 클라우드의 주요 이점으로 요구 사항에 가장 적합한 서비스를 선택하고 사용한만큼 비용 지불

⭐️ 인프라에 막대한 초기 투자 없이도 필요한 리소스에 액세스할 수 있도록 하기에 이상적

📌 Security

✔️ 데이터와 리소스를 보호하기 위한 다양한 보호 조치를 갖춤

  • 암호화, 자격 증명 및 액세스 관리, 네트워크 보안

✔️ 데이터가 안전하고 관련 규정을 준수하도록 보장하기 위해 다양한 규정 준수 프로그램 마련

  • HIPAA, PCI DSS 및 GDPR

📌 EC2 (Amazon Elastic Compute Cloud)

✔️ 클라우드에서 가상 서버를 쉽게 시작하고 관리할 수 있으므로 필요에 따라 리소스를 쉽게 확장하거나 축소할 수 있음

✔️ 다양한 인스턴스 유형과 크기 중 선택할 수 있으며 사용한 리소스에 대해서만 비용 지불

📌 S3 (Amazon Simple Storage Service)

✔️ 인터넷 어디에서나 대량의 데이터를 저장하고 검색할 수 있는 객체 스토리지 서비스

✔️ 확장성과 내구성, 보안이 뛰어나 클라우드에서 데이터를 저장하고 관리하는데 이상적인 솔루션이 됨

📌 Database

✔️ 아래 서비스를 사용하면 인프라나 확장에 대해 걱정할 필요 없이 클라우드에서 복잡한 애플리케이션을 쉽게 구축하고 관리할 수 있음

  • 데이터베이스 관리를 위한 RDS (Amazon Relational Database Service)

  • 데이터 웨어하우징 및 분석을 위한 Amazon Redshift

  • 검색 및 분석을 위한 Amazon Elasticsearch Service

⭐️ 전반적으로 AWS 클라우드는 광범위한 서비스와 도구를 제공하는 강력하고 유연한 클라우드 컴퓨팅 플랫폼

Day 50 : Get a Free Tier Account & Enable Billing Alarms

📌 프리티어 계정 가입

✔️ 1. AWS 웹사이트로 이동

  • 아래의 AWS 웹사이트에 액세스 후 "AWS 계정 생성" 클릭

https://aws.amazon.com/ko/

✔️ 2. AWS 계정 생성

  • 계정이 있는 경우 로그인, 없는 경우 회원가입

✔️ 3. 계정 정보 제공

  • 비밀번호, 이름, 회사명, 전화번호 등 정보 입력 후 "Continue" 클릭

✔️ 4. 결제 정보 제공

  • Pre tier 계정에 가입하려면 결제 정보 제공해야함 => 신원 확인 및 사기 방지를 위함으로 Pre Tier 기간동안 요금 부과 X

✔️ 5. 지원 수준 선택

  • 필요에 따라 선택하지만, 무료 프리티어를 원하는 경우 Basic support 선택

Day 52 : Identity and Access Management (IAM)

⚡️ AWS의 데이터와 리소스 보안 관리를 위한 가장 중요한 도구 중 하나가 IAM

📌 AWS IAM

✔️ 사용자와 AWS 리소스에 대한 액세스를 관리할 수 있는 웹서비스

  • IAM을 사용하면 리소스에 액세스할 수 있는 사람, 수행할 수 있는 작업, 액세스할 리소스 제어 가능

✔️ 세분화된 액세스 제어를 제공하여, 세부적인 수준에서 특정 리소스에 대한 권한을 부여하거나 거부할 수 있음

✔️ 리소스 보호에 필수적인 도구

  • 없을 경우 AWS 계정에 액세스할 수 있는 사람은 누구나 모든 리소스에 무제한으로 액세스 가능

✔️ IAM을 사용하면 여러 AWS 계정을 생성 및 관리 가능

  • 대규모 조직이 항상 서로 일정 수준의 상호작용이 필요한 많은 계정을 보유하기에 필수적

📌 IAM 시작

✔️ 1. AWS 계정 생성

✔️ 2. IAM 설정

  • IAM 콘솔로 이동하여 IAM 설정 가능

    • 콘솔에서 IAM 사용자, 그룹, 역할 및 정책 관리

✔️ 3. IAM 사용자 설정

  • IAM 사용자 생성

    • IAM 사용자는 AWS 리소스에 액세스해야하는 사람이나 서비스를 나타내는 IAM에서 생성한 엔티티

    • IAM 사용자 생성 시 사용자가 가져야하는 권한 지정 가능

✔️ 4. IAM 그룹 생성

✔️ 5. IAM 그룹에 권한 할당

✔️ 6. IAM 사용자 테스트

  • IAM 사용자를 테스트하여 올바른 권한이 있는지 확인

    • 테스트를 위해 IAM 사용자의 자격 증명을 사용하여 AWS Management Console에 로그인하고 사용자가 수행할 수 있어야 하는 작업 수행 가능

⭐️ AWS IAM은 리소스에 액세스할 수 있는 사람, 수행할 수 있는 작업, 액세스할 리소스를 제어할 수 있어 리소스 보호에 필수적인 도구

Day 53 : AWS Systems Manager

📌 AWS Systems Manager

✔️ AWS Systems Manager는 사용자가 AWS 및 온프레미스 리소스 모두에서 운영 작업을 관리하고 자동화할 수 있게 해주는 완전관리형 서비스

  • AWS 리소스, 가상머신 및 애플리케이션을 관리하기 위한 중앙 집중식 플랫폼 제공 => DevOps 전문가는 운영 작업을 자동화하고 규정 준수를 유지하며 운영 비용 절감 가능

온프레미스(On-premise): 기업의 서버를 클라우드와 같이 '가상의 공간'이 아니라 자체적으로 보유하고 있는 서버에 직접 설치하고 운영하는 방식. (<-> 클라우드와 대비되는 개념)

✔️ 사용자는 패치 관리 자동화, OS 및 애플리케이션 배포 자동화, Amazon 머신 이미지(AMI) 생성 및 관리, 리소스 활용도 모니터링 등의 작업 수행 가능

  • 실행 명령, 상태 관리자, 인벤토리 및 유지 관리 기간을 포함하여 인스턴스 구성 및 관리를 위한 도구 세트 제공

✔️ 운영 데이터에 대한 통합 보기를 제공

  • 사용자는 EC2 인스턴스, 온프레미스 서버 및 AWS 서비스를 비롯한 AWS 인프라 전체에서 운영 데이터를 시각화하고 모니터링 가능

  • 사용자가 문제를 더 빠르게 식별하고 해결하여 운영 효율성을 향상하고 가동 중지 시간을 줄일 수 있음

📌 AWS System Manager 시작하는 법

✔️ 1단계: AWS System Manager 콘솔로 이동

  • 콘솔에서 "Get Started with Systems Manager" 클릭 > 원하는 지역 선택 > "시작하기"

✔️ 2단계: 구성 유형 선택

  • 관리할 리소스 선택해 AWS Systems Manager 구성

  • 예시로 "Patch Manager" 선택

✔️ 3단계: 구성 옵션 지정

  • Systems Manager config에 적용할 고유 매개변수 세트 설정

  • 본 단계에서 리소스 그룹을 만들어 리소스 구성

    • 리소스 그룹이란 공통 속성을 공유하는 리소스의 모음으로 이를 통해 종합적으로 정책과 작업을 함께 적용할 수 있음

✔️ 4단계: 리소스 배포, 검토 및 관리

  • 리소스 그룹 생성 후 AWS System Manager 콘솔에서 리소스를 보고 관리할 수 있음

  • 자동화 workflow를 생성, 패치 관리, 리소스에 대한 기타 작업 수행 가능

⭐️ AWS System Manager를 통해 리소스의 운영을 자동화할 수 있고 AWS 인프라 전체에서 운영 데이터를 시각화하고 모니터링이 가능해져 사용자가 문제를 더 빠르게 식별하고 해결하여 운영 효율성을 향상하고 가동 중지 시간을 줄일 수 있음

Day 54 : AWS CodeCommit

📌 AWS CodeCommit

✔️ 개발자가 private Git 레포지토리를 쉽게 호스팅하고 관리할 수 있도록 하는 완전 관리형 소스 제어 서비스

  • AWS CodeCommit을 통해 팀이 공동으로 작업한 코드를 클라우드에 안전하게 저장, 액세스를 안전하게 제어할 수 있고 암호화 및 자동 백업 지원

  • "CodeCommit vs GitHub" 리소스 참조

    • AWS CodeCommit의 목표는 여러 파일 전체에 걸쳐 일괄 변경 사항을 처리하고 개발자가 이를 비공개로 저장하고 관리하는데 도움을 주는 것

    • GitHub의 목표는 여러 공동 작업자 코드가 가질 수 있는 모든 충돌 변경 사항을 처리하는 도구를 제공해 더 효과적으로 공동 작업을 수행할 수 있도록 함

    • AWS CodeCommit은 사용 가능한 광범위한 private repository를 찾는 사람에게 적합하고, GitHub는 협업 솔루션을 찾는 사람에게 적합

      https://appwrk.com/aws-codecommit-vs-github

✔️ 개발자는 강력한 코드 리뷰 및 workflow 도구를 사용하여 Git 레포지토리를 쉽게 생성, 관리 및 협업 가능

  • AWS CodePipeline 및 AWS CodeBuild와 같은 다른 AWS 서비스와 원활하게 통합되므로 완전히 자동화된 방식으로 애플리케이션을 구축하고 배포할 수 있음

✔️ AWS CodeCommit의 주요 기능

  • 코드 리뷰와 pull request를 지원하는 Git 기반 레포지토리

  • 안전한 액세스 제어를 위해 AWS IAM(Identity and Access Management)와 통합 가능 => 큰 장점

  • 저장 및 전송 중인 데이터 암호화

  • 자동 백업 및 장애 조치 기능 => 확장성과 가용성이 뛰어남

  • 다른 AWS 개발자 도구와 통합 가능. ex. AWS CodePipeline, AWS CodeBuild

⭐️ 전반적으로 코드에 대해 협력하고, 레포지토리를 안전하게 관리하고, 개발 workflow를 간소화해야하는 팀을 위한 강력한 도구

⭐️ CodeCommit을 효과적으로 활용하려면 Git 사용법을 아는 것이 좋음

Day 55 : AWS CodePipeline

📌 AWS CodePipeline

✔️ CodePipeline은 IaC 또는 소프트웨어 릴리즈 프로세스를 자동화할 수 있는 완전관리형 지속적 전달 서비스

  • 코드 변경 사항을 지속적이고 안정적으로 빌드, 테스트 및 배포하는 pipeline 생성 가능

  • 이를 통해 더 빠른 릴리즈 주기를 달성하고, 개발 및 운영 팀 간의 협업을 개선하고, 소프트웨어 릴리즈의 전반적인 품질과 안정성을 향상시킬 수 있음

✔️ AWS CodePipeline과 통합되는 다른 AWS 서비스

  • Source Action Integrations

  • Build Action Integrations

  • Test Action Integrations

  • Deploy Action Integrations

  • Approval Action Integrations

  • Invoke Action Integrations

✔️ AWS 서비스 이외의 GitHub, Jenkins, Bitbucket과 같은 타사 도구와도 통합 가능

✔️ CodePipeline을 사용하여 여러 AWS 계정 및 region에서 애플리케이션 업데이트 관리 가능

📌 AWS CodePipeline 시작

✔️ 1단계: IAM role 생성

  • 파이프라인을 실행하는데 필요한 AWS 리소스에 액세스할 수 있도록 허용하는 IAM role 생성

✔️ 2단계: CodePipeline 파이프라인 생성

  • AWS CodePipeline 콘솔로 이동하여 CodePipeline 생성

  • 코드의 소스 위치, 사용할 빌드 공급자, 사용할 배포 공급자 등에 따라 IAM role 지정

✔️ 3단계: 코드 변경 사항 테스트 및 배포

  • CodePipeline 파이프라인을 생성한 후 코드 변경 사항을 자동으로 구축, 테스트하고 환경에 배포

  • AWS CodePipeline 콘솔에서 파이프라인의 진행 상황 모니터링 가능

⭐️ AWS CodePipeline을 통해 다양한 도구와의 통합이 가능하며, 코드 변경 사항을 지속적이고 안정적으로 빌드, 테스트 및 배포하는 pipeline 생성하여 더 빠른 릴리즈 주기를 달성하고, 개발 및 운영 팀 간의 협업을 개선하고, 소프트웨어 릴리즈의 전반적인 품질과 안정성을 향상시킬 수 있음

0개의 댓글