1. IAM 및 모범 사례 정리
1. IAM 개요
- IAM(Identity and Access Management): AWS 리소스에 대한 사용자 인증 및 액세스 권한 관리 도구.
- 주요 기능:
- 인증: 사용자가 올바른 사용자임을 확인.
- 권한 부여: 사용자에게 적절한 액세스 권한 부여.
2. 루트 사용자와 IAM 사용자
루트 사용자:
- 계정 생성 시 사용된 이메일 주소와 암호로 로그인.
- 계정의 모든 작업을 수행할 수 있는 권한 보유.
- 모범 사례: 일상 업무에서는 루트 사용자 사용 지양.
IAM 사용자:
- 루트 사용자의 대체로, 일상적인 작업 수행을 위해 생성.
- 필요한 권한만 부여하여 보안을 강화.
3. IAM 그룹과 사용자 생성 과정
IAM 그룹 생성:
- AWS 관리 콘솔에서 IAM 검색 → 사용자 그룹 클릭 → 그룹 생성.
- 그룹 이름: Developers.
- 권한: AdministratorAccess 추가.
- 그룹 생성 완료.
IAM 사용자 생성:
- AWS 관리 콘솔에서 IAM → 사용자 클릭 → 사용자 추가.
- 사용자 이름: in28minutes_dev.
- AWS 관리 콘솔 액세스 권한 부여.
- 사용자 지정 암호 생성.
- 사용자를 Developers 그룹에 추가.
- 사용자 생성 완료.
IAM 사용자 로그인:
- IAM 사용자로 로그인 시 별도의 URL 필요.
- 해당 URL 북마크 저장 추천.
4. AWS 모범 사례
- 루트 사용자는 계정 관리 또는 중요한 작업에만 사용.
- 일상적인 작업은 IAM 사용자로 수행.
- 사용자 권한은 IAM 그룹을 통해 관리하여 효율성 확보.
- 북마크를 통해 IAM 사용자 로그인 URL 관리.
2.EC2 주요 개념 요약
1. AMI (Amazon Machine Image)
- EC2 인스턴스에 사용할 운영체제(OS)와 소프트웨어를 정의하는 이미지.
- AWS가 제공하는 사전 빌드 이미지를 사용할 수 있으며, 필요에 따라 커스터마이징도 가능.
2. 인스턴스 패밀리
- 특정 하드웨어 패밀리로 다양한 애플리케이션에 적합한 인스턴스를 제공.
- 예시: 웹 애플리케이션, 데이터베이스, 캐시, 그래픽 처리 등.
- 각 패밀리는 워크로드 특성에 맞게 설계됨.
3. 인스턴스 크기
- 패밀리 내에서 선택 가능한 다양한 크기를 제공.
- 예시: t2.nano, t2.micro, t2.small, t2.medium.
- 필요에 따라 CPU, 메모리 크기를 선택 가능.
4. Elastic Block Store (EBS)
- EC2 인스턴스에 가상 디스크를 부착하기 위한 블록 스토리지 서비스.
- 컴퓨터의 하드 디스크처럼 사용하며, 나중에 더 자세히 학습 가능.
5. 보안 그룹
- 가상 방화벽 역할을 하여 리소스로 들어오고 나가는 트래픽을 제어.
- 규칙을 설정해 특정 트래픽(프로토콜, 포트 등)을 허용하거나 차단 가능.
6. 키 페어
- EC2 인스턴스에 안전하게 연결하기 위한 인증 방법.
- 퍼블릭 키: EC2 인스턴스에 저장.
- 프라이빗 키: 사용자가 관리하며, EC2 연결 시 필요.
3.클라우드의 IaaS와 PaaS 이해
1. 클라우드에서 애플리케이션 운영 방식
- 온프레미스(데이터 센터)와 비슷하게 클라우드에서도 애플리케이션 운영 가능.
- 클라우드에는 IaaS, PaaS와 같은 다양한 서비스 모델이 존재.
2. IaaS (Infrastructure as a Service)
- 정의: 클라우드 제공자가 하드웨어, 네트워킹, 가상화를 처리. 나머지는 사용자가 직접 관리.
- 사용 예시:
- AWS EC2를 통해 가상 머신 생성.
- 사용자가 운영체제(OS) 설치, 애플리케이션 배포 및 설정.
- OS 업데이트/패치, 로드 밸런싱, 오토 스케일링 등 모든 운영 작업 직접 수행.
- 운영 책임:
- OS 설치 및 유지보수.
- 애플리케이션 코드와 런타임 관리.
- 로드 밸런싱 및 오토 스케일링.
- 인스턴스 가용성 관리.
3. PaaS (Platform as a Service)
- 정의: 사용자는 애플리케이션 코드만 제공. 클라우드 제공자가 운영체제, 런타임, 오토 스케일링, 로드 밸런싱 등을 처리.
- 사용 예시:
- AWS Elastic Beanstalk, Azure App Service, Google App Engine.
- 사용자가 코드와 환경 설정(예: Python 버전)을 제공하면 나머지는 PaaS가 처리.
- 운영 책임 분담:
- 클라우드 제공자: OS 설치/업데이트, 런타임 관리(예: Python, Java), 오토 스케일링, 로드 밸런싱, 가용성 보장.
- 사용자: 애플리케이션 코드 제공 및 간단한 설정.
- PaaS의 확장성:
- 컴퓨팅: AWS Elastic Beanstalk, Azure App Service 등.
- 데이터베이스: Amazon RDS, Google Cloud SQL, Azure SQL Database.
- 기타 서비스: 큐, AI/ML, 데이터 분석, DevOps 도구 등.
4. IaaS vs PaaS 비교
항목 IaaS PaaS
제공 항목 하드웨어, 네트워킹, 가상화 하드웨어, 네트워킹, OS, 런타임, 기타 서비스
운영 책임 OS, 애플리케이션 런타임, 가용성 직접 관리 코드 제공 및 설정만 담당
사용 사례 세부적인 제어가 필요한 환경 빠른 배포와 간편한 관리가 필요한 환경
5. 주요 PaaS 서비스
- AWS Elastic Beanstalk: 간단한 설정으로 애플리케이션 배포.
- Azure App Service: Microsoft Azure의 PaaS 플랫폼.
- Google App Engine: Google Cloud의 PaaS 플랫폼.
- 데이터베이스:
- AWS RDS: 관리형 관계형 데이터베이스 서비스.
- Google Cloud SQL: Google Cloud의 데이터베이스 서비스.
- Azure SQL Database: Azure의 관계형 데이터베이스.
6. PaaS의 장점
- 직접 처리해야 할 작업 감소:
- OS 업데이트/패치 불필요.
- 오토 스케일링, 로드 밸런싱 자동화.
- 높은 가용성 보장.
- 사용자 친화적이고 관리 간소화.
7. 요약
- IaaS: 세부 제어 가능하지만 직접 관리 필요.
- PaaS: 간편한 설정과 관리로 효율적인 운영 가능.
- 추천: 간편한 운영과 빠른 배포가 중요하다면 PaaS 사용 권장.
댓글 ( 0)
댓글 남기기