분류 전체보기(126)
-
모듈 4: 컴퓨팅
# EC2 - 가상머신을 생성하고 실행하는 데 사용하는 서비스 - 서버, DB, 스토리지 및 상위 수준 애플리케이션 구성 요소를 몇 초 내 인스턴스화 가능 # EC2 인스턴스 사용 고려 옵션 ### 태그 - AWS에서는 메타데이터를 태그 형태로 리소스에 할당할 수 있음. - 태그를 통해 리소스를 관리, 검색, 필터링 가능 - 태그는 많을수록 좋다! # Amazon Machine Image (AMI) - 인스턴스 불륨 템플릿, 시작 권한, 블록 디바이스 매칭 구성 - 반복, 재사용, 복구 용이 - 인스턴스 시작 시 필요한 정보를 제공 - 한 AMI에 여러 인스턴스 시작 가능 # 인스턴스 유형 이름 이해 # 인스턴스 패밀리 - 범용 : 컴퓨팅, 메모리, 네트워크 리소스가 적절한 비율로 재공, 웹 애플리케이션..
2023.08.27 -
모듈 3 : 네트워킹 1
# IP 주소 - 네트워크 내 로케이션을 식별 - 네트워크와 호스트를 식별 # CLassless Inter-Domain Routing(CIDR) CIDR 블록 : 네트워크나 서브넷의 IP 주소 범위 # Vritual Private Cloud (VPC) - 클라우드 가상 네트워크 환경 - 사용자가 정의한 가상 네트워크 안에서 AWS 리소스 시작할 수 있음. - AWS 리전 중 하나에 배포 ## VPC 사용시 가능한 작업 - 원하는 IP 주소 범위 선택 - 서브넷 생성 - 라우팅 테이블과 네트워크 게이트웨이 구성 # 서브넷 - VPC 내 IP 주소 범위 - 인터넷으로 연결되어야 하는 리소스는 퍼블릭 서브넷, 인터넷에 연결되지 않는 리소스는 프라이빗 서브넷 사용 - 서브넷은 가용 영역 하나 안에 포함 - 각 ..
2023.08.27 -
모듈 2 : 계정 보안
# AWS 계정 루트 사용자 - 모든 AWS 서비스에 대한 전체 엑세스 권한 보유 - 단일 계정 모델에서는 제한할 수 없음 - AWS와의 일상적인 상호 작용에 사용하면 안 됨. - 사용자를 추가로 생성한 후 최소 권한의 원칙에 따라 해당 사용자에 권한을 배정 - 사용자에게 필요한 수준의 엑세스 권한만 부여해야 - 루트 사용자는 Multi-Factor Authentication을 진행해야 # IAM (Identity and Access Management) - 사용자, 그룹 및 역할 생성과 관리 - AWS 서비스와 리소스 엑세스 관리(인증 및 권한 부여) - 엑세스 제어 분석 # 보안 주체 - AWS 리소스에 대한 작업 또는 운영을 요청할 수 있는 엔티티 - 사용자 애플리케이션, 페더레이션 사용자 또는 수..
2023.08.27 -
모듈 1 : 아키텍팅 기본 사항
# AWS 데이터 센터 - aws 서비스는 AWS 데이서 센터 안에서 동작 - 데이터 센터는 수천대의 서버를 호스트 - 각 로케이션에는 AWS 전용 네트워크 장비 사용 - 데이터 센터는 가용 영역으로 구성 # 가용 영역 - 리전 내 데이터 센터 - 내결함성을 갖도록 설계 - 고속 프라이빗 링크를 사용하여 상호 연결 - 고가용성 달성에 사용 - 인스턴스 생성 시 직접 가용영억을 선택하거나, AWS가 대신 가용 영역을 선택하도록 할 수 있음. - 여러 가용 영역에 인스턴스를 배포하고, 인스턴스 하나에 장애가 발생하는 경우 다른 가용 영역의 인스턴스가 요청을 처리할 수 있도록 애플리케이션을 설계 # AWS 리전 - 한 지리적 영역 내에서 서로 격리 - 물리적으로 분리된 여러 가용 영역으로 구성 - 각 리전은 ..
2023.08.26 -
애그리거트 트랜잭션 관리
트랜젝션이 잘못되면 데이터의 일관성이 깨진다. 즉, 애그리거트의 일관성이 깨지기 떄문에 적절한 트랜잭션 처리 기법이 필요하다. 애그리거트에 대해 사용할 수 있는 대표적인 트랜잭션 처리 방식은 선점 잠금과 비선점 잠금이 있다. # 선점 잠금 선점 잠금은 먼저 애그리거트를 구한 스레드가 애그리거트 사용이 끝날 때까지 다른 스레드가 해당 애그리거트를 수정하지 못하게 막는 방식이다. 스레드 1이 선점 잠금 방식으로 애그리거트를 구하면, 스레드2 는 애그리거트에 대한 잠금이 해제할 때까지 블로킹(Blocking)된다. 선점 잠금은 보통 DMBS가 제공하는 행단위 잠금을 사용해서 구현한다. Jpa EntityManager.find() 함수를 통해 선점 잠금 방식을 사용할 수 있다. LockModeType을 PESS..
2023.08.26 -
도메인 서비스
구현을 하다보면 한 애그리거트에 넣기 애매한 도메인 기능이 있다. 그러한 기능들을 억지로 특정 에그리거트에 넣으면 안 된다. 자신의 책임 범위를 넘어서서 기능을 구현하면 코드가 길어지고 외부에 대한 의존이 높아지기 때문이다. 도메인 기능을 별도 서비스로 구현하면 이러한 문제를 해결할 수 있다. 도메인 서비스 도메인 서비스는 도메인 영역에 위치한 도메인 로직을 표현할 때 사용한다. 주로 다음과 같은 로직에서 사용한다. - 계산 로직 : 여러 에그리거트가 필요한 계산 로직, 한 애그리거트에 넣기 다소 복잡한 계산 로직 - 외부 시스템 연동일 필요한 로직 : 구현하기 위해서 타 시스템을 사용해야 하는 도메인 로직 한 애그리거트에 넣기 애매한 도메인 개념을 구현하려면 애그리거트에 억지로 넣기 보다는 도메인 서비..
2023.08.18