오늘 배운 것🤓
IAM(Identify and Access Management)
- 리소스에 대한 액세스를 안전하게 제어할 수 있는 AWS 웹 서비스
- 인증(로그인)과 권한 관리를 한다.
- IAM 자격 증명은 AWS계정 루트 사용자가 하며, 일상적인 작업에서는 루트 사용자가 아닌 별도의 사용자 계정을 이용해야 한다.
- 어떤 리소스에 대해서 접근할 수 있고 허가를 할 수 있는지 판단하는 것이 정책
- 정책은 사용자, 그룹(사용자들의 집합), 역할(정책의 집합)에 부여할 수 있으며, 사용자 -> 그룹 -> 역할 순으로 부여된 정책을 확인한다.
S3 (Simple Storage Service)
- AWS의 대표적인 객체 스토리지 서비스
- 데이터 레이크, 웹 사이트, 모바일 APP, 백업 및 복원, 아카이브, 엔터프라이즈 APP, IoT 디바이스, 빅데이터 등 다양한 분야에서 원하는 양의 데이터를 저장 및 보호할 수 있다.
- 유연한 스토리지 옵션을 가지고 있으며, 데이터에 대한 엑세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다.
- S3를 사용하여 정적 웹사이트 호스팅이 가능하다.
- 용어 정리
- 버킷 : 객체에 대한 컨테이너, 윈도우의 폴더와 비슷한 개념
- 객체 : 기본 개체, 객체 데이터와 메타 데이터로 구성
- 키 : 객체에 대한 고유 식별자, 모든 객체는 정확히 하나의 키를 갖는다.
CI/CD
- 개발한 내용을 자동적으로 빌드하고 배포하는 과정을 말한다.
- CI(Continuous Integration)
: 자동으로 코드를 커밋하고 병합하는 과정
- CD(Continuous Deploy/Delivery)
: 짧은 주기로 운영환경에 안정적으로 배포하는 과정
- AWS 서비스
- CodeCommit
Github와 같이 코드 버전 관리를 할 수 있는 서비스
비공개로 코드를 저장한다.
flow와 명령어 등 모두 Github과 같다.
- CodeBuild
완전 관리형 빌드 서비스
소스 코드를 컴파일하고 단위 테스트를 실행하며, 배포 준비가 완료된 아티팩트를 생성한다.
자체 빌드 서버를 구성할 필요가 없다.
아티팩트 : 빌드가 진행된 이후 배포에서 필요한 인자
- CodeDeploy
자동화 배포 서비스
- CodePipeline
위의 3개의 서비스를 모두 묶어서 자동화 시키는 서비스
서버를 설정하거나 프로비저닝할 필요성이 줄어든다.
Console 또는 CLI를 통해 SW Release Process를 정의할 수 있다.
각 서버에 대한 이벤트를 받아서 해당 배포 서버로 배포하기 때문에 서버가 3개라면 각 서버에 맞게 pipeline을 3개 만들어야 한다.
AWS CLI
- AWS 기능을 콘솔에서 사용할 수 있는 CLI를 설치할 수 있다.
- 설치가 완료되면 cmd에서
aws --version
을 통해 제대로 설치됐는지, 버전은 몇인지 확인할 수 있다.
- CLI를 사용하기 위해서는 내 계정에 대한 권한을 받아야 한다. 권한은 IAM를 통해 정책을 내려받아서 사용한다.
aws configure
을 통해 IAM에서 받은 key를 사용하여 접속할 수 있다.
느낀 점😊
이번 수업은 스프링부트를 기반하여 실습을 진행하고 있으므로 수업을 다 듣고 나면 내가 만든 사이트를 직접 올려보는 실습을 진행하려고 한다. 과금에 대한 걱정도 있지만 배움에 대한 돈은 아깝지 않다고 다짐한다.