IAM
: AWS 리소스에 대한 엑세스를 안전하게 제어할 수 있는 웹 서비스 = 권한 관리
특징
- AWS 계정에 대한 공유
- 세분화된 권한
- EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
- ID 페더레이션 : AWS계정에 대해 임시 엑세스가 가능한 권한 부여
- PCI DSS 준수 : 데이터 저장 및 처리 표준
- 많은 AWS 서비스와의 통합
- 무료 사용
정책
: 리소스에 대한 접근을 구분, 사용자 또는 그룹에 정책을 적용 가능하다.
- 사용자 추가 : IAM서비스에서 사용자 추가를 진행한 후 키와 값들을 따로 전송하여 사용자의 접속을 제어한다.
- 정책 : 생성과 편집을 통해 관리하며 다음과 같은 모습이다, Json을 활용해서 정책 생성이 가능하다.
S3
: 객체 스토리지 서비스 → 데이터 레이크, 웹, 모바일, 백업&복원, 아카이브, IoT, 빅데이터 분석 등의 다양한 사례의 데이터를 저장 및 보호가 가능하다.
기능
- 스토리지 클래스, 관리, 모니터링
- 엑세스 관리
- 데이터 처리
- 분석 및 인사이트
⇒ S3를 사용해서 정적 웹 사이트 호스팅이 가능하다.
구조
- 버킷 : 객체에 대한 컨테이너, 폴더와 동일한 기능
- 객체 : S3에 저장되는 기본 개체, 객체 데이터와 메타데이터로 구성된다.
- 키 : 객체의 고유 식별자, 객체는 하나의 키를 갖는다.
정적 웹사이트 호스팅
- 정적 웹사이트를 호스팅해주거나 요청을 리디렉션한다.
- 엔드 포인트로 접속을하면 페이지를 볼 수 있다.
- 권한→ 퍼블릭 액세스 차단을 풀고 → 버킷정책을 편집해야한다.
- JSON파일로 정책을 수정한다.
- 정책 생성기를 이용하면 조금 더 편리하게 사용 가능하다.
CI/CD(CodeCommit, Build, Deploy, PipeLine)
: 자동으로 빌드하고 배포하는 과정을 CI/CD라 한다.
개념
- 지속적 통합(Continuous Integration)
: 개발한 코드를 공유 리포지토리에 여러번 코드를 커밋하고 병합하는 것.
- 지속적 전달(Continuous Delivery)
: 개발팀이 짧은 주기로 개발하고 이를 배포하는 것.
CodeCommit
: 문서, 코드, 파일등을 비공개로 저장하여 관리하는 데 사용하도록 쓰이는 버전 관리 서비스
- 공동 작업 가능
- 버전관리 프로젝트의 확장이 쉽다.
CodeBuild
: 클라우드상의 완전관리형 빌드 서비스, 사전 패키지된 빌드 환경을 제공한다.
- 코드 파이프라인과 같이 사용된다
- 깃허브와 연동이 가능하다.
- 커맨드와 캐시 지정등 빌드의 여러 기능을 이용 가능하다.
CodeDeploy
: 코드의 자동 배포를 위한 서비스이다.
CodePipeline
: CI/CD의 전 과정을 자동화하는 파이프라인 서비스.
- 서버 설정, 프로비저닝 필요성을 줄일 수 있음.
- 새로운 기능의 빠른 릴리스 가능
- 스테이지 설정을 통해서 구성한다.
참고) 프로비저닝
프로비저닝은 IT 인프라를 생성하고 설정하는 프로세스로서, 다양한 리소스에 대한 사용자 및 시스템 액세스를 관리하는 데 필요한 단계를 포함합니다. 프로비저닝은 서버, 애플리케이션, 네트워크 구성, 스토리지, 엣지 기기 등을 배포하는 과정에서 초기 단계에 해당합니다.