TIL -Day 37

김혁·2023년 12월 8일
0

IAM

AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스이다.
자격 증명은 AWS 계정 루트 사용자라고 하며, 계정을 사용한 이메일 주소와 암호로 로그인하여 액세스 한다. 일상적인 작업에 루트 사용자를 사용하지 않을 것을 강력히 권장한다.

Aws 계정에 대한 공유
세분화된 권한 등을 줄 수 있음.

s3 기준으로 역할이 있는지 판단하는 순서)
나에게 s3를 이용할 수 있는 정책이 부여되었는가?
-> 아니요 -> 내가속한 그룹에 s3를 이용할 수 있는 정책이 부여되어있는가 -> 아니요 -> 내게 위임된 역할에 s3를 이용할 수 있는 정책이 부여되어 있는가? -> 아니요 -> 권한없음

S3

amazon simple storage service는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스.

모든 규모와 업종의 고객은 amazon s3를 사용하여 데이터 레이크, 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, 엔터 프라이즈, 애플리케이션 등 다양한 사례에서 원하는 양의 데이터를 저장하고 보호할 수 있다.

특정 비즈니스, 조직 및 규정 준수 요구 사항에 맞게 데이터에 대한 액세스를 최적화, 구조화 및 구성할 수 있는 관리 기능을 제공한다.

기능

스토리지 클래스
스토리지 관리
액세스 관리
데이터 처리
스토리지 로깅 및 모니터링
분석 및 인사이트
강력한 일관성

정적 웹 사이트 호스팅

정적 웹 사이트에서 개별 웹 페이지는 정적 콘텐츠를 포함한다.
클라이언트 측 스크립트를 포함할 수도 있다.
이와는 대조적으로, 동적 웹 사이트는 php, jsp 또는 Asp.net등 서버 측 스크리브를 포함한 서버측 처리에 의존한다.


객체 = 객체 데이터 + 메타데이터 -> 저장되는 모든 데이터

정적 웹사이트 호스팅을 하고 싶다면)
속성 - 정적 웹사이트 호스팅 편집 -> 인덱스 문서 올리기-> url 생성

퍼블릭 액세스를 허용하지 않았다면 url이 보이지 않을 것이다.)
권한 탭에서 버킷에 대한 권한 차단 해제, 버킷 정책 편집에서 json 코드 작성
or aws policy generator 사용

CI/CD

지속적 통합(continuous integration)
모든 개발자가 개발한 코드를 공유 리포지토리에 하루에도 여러번 코드를 커밋하고 병합하는 것

지속적 전달(continuous delivery)
개발팀이 짧은 주기로 소프트웨어를 개발하고 언제든지 운영환경으로 안정적으로 배포하는 것

CodeCommit

Aws CodeCommit은 클라우드에서 자산을 비공개로 저장하여 관리하는 데 사용할 수 있도록 amazon web services services에서 호스팅되는 버전 관리 서비스.

클론하고 싶다면 https를 복사해서 깃헙 클론하듯이 하면 된다.

Codebuild

클라우드상의 완전관리형 빌드 서비스
소스 코드를 컴파일하고 단위테스트를 실행하며 배포 준비가 완료된 아티팩트를 생성.
codebuild에서는 자체 빌드 서버를 프로버저닝, 관리 및 확장할 필요 없음.
apache maven, gradle 등과 같은 널리 사용되는 프로그래밍 언어 및 빌드 도구에 맞게 사전 패키지된 빌드 환경을 제공
codebuild에서 빌드 환경을 사용자 지정하여 사용자 고유의 빌드 도구를 사용
codebuild는 최대 빌드 요청 수에 맞게 자동으로 확장

code build 와 code pipeline을 같이 이용해서 자동화 배포
소스 공급자 - codecommit / aws 코드 커밋 레포(github도 됨)

buildscript -> ex) gradle 같은 경우
아티팩트 - deploy 부분에서 알아야할 파라미터 등등 추가할 필요가 있다면 사용
CloudWatch - log 기록을 보고 싶을 때

jenkins, github action을 이용함.

CodeDeploy

EC2 인스턴스, 온프레미스 인스턴스, 서버리스 lambbda 함수 또는 EC2로 서비스로 애플리케이션 배포를 자동화하는 배포 서비스
code deploy 서버에서 실행되고 amazon s3 버킷 github 리포지토리 또는 Bitbucket 리포지토리에 저장되는 애플리케이션 콘텐츠를 배포가능. 기존 코드를 변경할 필요가 없음

Codepipline

이 3가지를 코드 파이프라인 서비스를 통해서 배포. 서버를 설정하거나 프로비저닝할 필요성을 줄임.

코드 파이프라인은 3개 정도로 나눠야함.
개발용/운영용/스테이징용

빈스톡과 바로 연결할 수 도 있음.

구성도

내부적으로 public과 private이라는 서브넷 영역을 통해 서비스.
우리가 만든 서비스는 private영역에 인스턴스 띄움.
DBMS에도 동일.

public안의 baston host 터널링이라는 것을 통해서 private와 통신할 수 있게끔하고, public은 internet gateway를 통해서 외부와 통신
Route53을 통해서 도메인을 만들어서 도메인에는 ssl인증서를 적용하고 cloud front를 적용해서 s3에 정적 웹 호스팅을 적용한다. 우리가 로컬에 만든 소스코드를 깃에다가 등록했을 때 코드파이프라인에 연결해서 자동으로 배포할 수 있도록 구성.

baston host는 ec2로 서버를 할당

참고)


인터넷 게이트웨이가 라우팅 테이블의 패킷이 전달된 주소인듯.



profile
군도리

0개의 댓글