IAM
AWS Identify Access Management(IAM)은 AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 및 권한 부여된 대상을 제어한다. AWS 계정을 생성할 때 해당 계정의 모든 AWS 서비스 및 리소스에 대한 완전한 액세스 권한이 있는 단일 로그인 ID로 시작한다. 이 자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 생성할 때 사용한 이메일 주소와 암호로 로그인하여 액세스한다. 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장한다.
IAM 특징
- AWS 계정에 대한 공유
- 세분화된 권한
- Amazon EC2에서 실행되는 애플리케이션을 위한 보안 AWS 리소스 액세스
- 멀티 팩터 인증(MFA)
- ID 페더레이션
- 보장을 위한 자격 증명 정보
- PCI DSS 준수
- 많은 AWS 서비스와의 통합
- 최종 일관성
- 무료 사용
S3
Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스이다. S3을 사용하여 데이터 레이크, 웹 사이트, 모바일 앱, 백업 및 복원, 아카이브, 엔터프라이즈, IoT 디바이스, 빅데이터 분석 등 다양한 사용 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있다. 또한 특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다.
- 버킷 : Amazon S3에 저장된 객체에 대한 컨테니어, 모든 객체는 버킷에 포함되며 쉽게 설명하면 윈도우의 폴더
- 객체 : Amazon S3에 저장되는 기본 객체, 객체 데이터와 메타데이터로 구성되며 버킷에 저장되는 파일
- 키 : 버킷 내 객체의 고유한 식별자, 모든 객체는 하나의 키를 가짐
기능
- 스토리지 클래스
- 스토리지 관리
- 액세스 관리
- 데이터 처리
- 스토리지 로깅 및 모니터링
- 분석 및 인사이트
- 강력한 일관성
S3을 사용한 정적 웹 사이트 호스팅
정적 웹 사이트에서 개별 웹 페이지는 정적 콘텐츠를 포함한다. 클라이언트 측 스크립트를 포함할 수도 있다. 이와 대조적으로 동적 웹 사이트는 PHP, JSP 또는 ASP.NET 등 서버 측 스크립트를 포함한 서버 측 처리에 의존한다.
CI/CD
지속적 통합(Continuous Integration, CI)는 모든 개발자가 개발한 코드를 공유 레포지토리에 하루에도 여러 번 코드를 커밋하고 병합하는 것을 의미한다. 또한 지속석 전달(Continuous Delivery, CD)은 개발 팀이 짧은 주기로 소프트웨어를 개발하고 언제든지 운영 환경으로 안정적으로 배포하는 것을 의미한다.
CodeCommit
AWS CodeCommit은 클라우드에서 자산(문서, 코드, 바이너리 파일 등)을 비공개로 저장하여 관리하는 데 사용할 수 있도록 호스팅되는 버전 관리 서비스이다. Github와 거의 동일한 역할을 수행한다.
CodeCommit 특징
- Benefit from a fully managed service hosted by AWS
- Store your code securely
- Work collaboratively on code
- Easily scale your version control projects
- Store anything, anytime
- Integrate with other AWS and third-party services
- Easily migrate files from other remote repositories
- Use the Git tools you already know
CodeBuild
AWS CodeBuild는 클라우드 상의 완전 관리형 빌드 서비스이다. 소스 코드를 컴파일하고 단위 테스트를 실행하여 배포 준비가 완료된 아티팩트를 생성한다. 또한 자체 빌드 서버를 프로비저닝, 관리 및 확장할 필요가 없으며 빌드 환경을 사용자 지정을 통해 고유의 빌드 도구를 사용할 수 있다.
CodeDeploy
CodeDeploy는 Amazon EC2 인스턴스, 온프레미스 인스턴스, 서버리스 Lambda 함수 또는 Amazon ECS 서비스로 애플리케이션 배포를 자동화하는 배포 서비스이다. 다음을 포함하여 다양한 애플리케이션 콘텐츠를 거의 무제한으로 배포 가능하다.
- 코드
- 서버리스 AWS Lambda 함수
- 웹 및 구성 파일
- Executables
- 패키지
- 스크립트
- 멀티미디어 파일
CodePipeline
AWS CodePipeline은 빠르고 안정적인 애플리케이션 및 인프라 업데이트를 위해 릴리스 파이프라인을 자동화하는 데 도움이되는 완전 관리형의 지속적 전달 서비스이다.
CodePipeline 특징
소프트웨어 릴리스 프로세스를 모델링하고, 서버를 설정하거나 프로비저닝할 필요성을 줄일 수 있다. AWS Management Console 또는 AWS command line interface(CLI)를 사용하여 소프트웨어 릴리스 프로세스 단계를 정의할 수 있다. 또한 피드백을 반복하고 각 코드 변경을 테스트하여 버그를 포착하는 새로운 기능을 신속하게 릴리스할 수 있다. 릴리스 프로세스의 모든 단계에서 자체 플러그 또는 사전 구축된 플러그인을 사용하여 필요에 맞게 조정할 수 있다.
'[프로그래머스] 데이터 엔지니어링 데브코스 3기 > TIL(Today I Learn)' 카테고리의 다른 글
[TIL - 30일 차] AWS 클라우드 (5) (0) | 2024.05.03 |
---|---|
[TIL - 29일 차] AWS 클라우드 (4) (2) | 2024.05.02 |
[TIL - 27일 차] AWS 클라우드 (2) (0) | 2024.04.30 |
[TIL - 26일 차] AWS 클라우드 (1) (0) | 2024.04.29 |
[TIL - 25일 차] 데이터 웨어하우스와 SQL과 데이터 분석 (5) (0) | 2024.04.26 |