전체 글 55

Authorization (허가) Authentication (인증) 총 정리 - MAC AEAD

1. Authorization과 Authentication- Authentication 이란 자신이 누구라고 주장하는 사람을 확인하는 절차- Authorization 이란 가고 싶은 곳으로 가도록 혹은 원하는 정보를 얻도록 허용하는 과정2. Why Authorization & Authentication ?- 당신의 서비스가 가지고 있는 정보가 소수의 사람들만의 비밀이거나 이들만을 위한 정보라면, 당신이 보길 원하는 사람만 정보(Resources)를 보도록 해야한다.이 페이지에서는 이러한 Resources를 보호하기 위해 많은 사람들이 사용하는 "표준적인" 방법을 정리한다. 3. Session 기반 인증이 페이지에서 Session 기반 인증은 자세히 다루지 않는다.- Client가 브라우저를 사용한다면 S..

IaC - Terraform으로 EKS Node까지 관리하기 - 1. Architecture

1. Infrastructure of EKS Production 환경에서 일반적으로 구성할 수 있는 AWS Architecture 중 하나를 그려보면 위와 같은 그림을 그릴 수 있다. 1. Route 53으로 Domain Routing 2. ACM으로 HTTPS ssl 검사 3. WAF로 요청에 대한 전반적인 검사 4. EKS의 ALB (혹은 NLB 등)으로 Routing 5. ALB에서 정의된 룰에 따라 EKS Private Subnet의 EKS Container에 요청 전달 및 응답 반환 6. (Optional) Container에서 Database Subnet 의 DB로 CRUD 요청 7. (Optional) Public Subnet의 NAT Gateway로 외부와 통신 2. 기존 Terraform..

AWS의 Well Architected 마인드맵

AWS Well-Architected and the Six Pillars Operational Excellence Pillar - 운영 우수성 원칙 Security Pillar - 보안 원칙 Reliability Pillar - 안정성 원칙 Performance Efficiency Pillar - 성능 효율성 원칙 Cost Optimization Pillar - 비용 최적화 원칙 Sustainability Pillar - 지속 가능성 원칙 https://aws.amazon.com/ko/architecture/well-architected/?wa-lens-whitepapers.sort-by=item.additionalFields.sortDate&wa-lens-whitepapers.sort-order=des..

Cloud&Infra 2023.06.23

AWS ECS Fargate Port mapping

VPC: public subnet + private subnet NAT Gateway: public subnet ALB: public subnet ECS: private subnet USER --(Target Group listen port)--> ALB --(Target Group forwarding port) --> Target Group --(host port)--> ECS Cluster --(container port)--> Fargate(Container) vpcnet을 쓰는 경우에는 host port와 container port가 무조건 같아야한다. 그러므로 일반적으로 Target Group listen port 443, 80으로 지정하고 Target Group forwarding port를 ..

Cloud&Infra 2023.05.18

Toy Project - Overview

1. 배달의 민족을 본 뜬 배달 시스템 Backend 개발 2. 큼지막한 기술적 요구사항 - 배달의 민족에서 지원하는 서비스 지원 - Frontend는 구성하지 않거나 최소한으로 구성 - AWS 사용 및 Multi Region 지원 - 가게 정보 및 검색에 Elasticsearch 사용 - 사용자 정보 MongoDB 사용 - Data 수정사항 등 Kafka 사용 - Kubernetes/Docker 및 Github actions로 CI/CD와 Scalablity 구현 - Spring API Gateway 사용으로 url 단일화 - Airflow 이용하여 하루 단위 로깅 분석 - Spring Security 이용한 인증 서비스 구현 - Backend API는 Spring Webflux로 구현 - promet..

Spring의 Inversion of Control (IoC) 과 Dependency Injection (DI)

1. Inversion of Control 제어의 주체가 사용자에서 Framework로 바뀌는 것이다. 스프링에서는 빈의 생성과 관계 설정 같은 제어를 담당하는 IoC 오브젝트를 '빈 팩토리' (Spring에 의하여 생성되고 관리되는 자바 객체를 Bean) 이를 좀 더 확장한 개념을 '애플리케이션 컨텍스트'라고 부른다. 빈팩토리 : 빈을 생성하고 관계를 설정하는 IoC의 기본 기능 애플리케이션 컨텍스트 : 애플리케이션 전반에 걸쳐 모든 제어 작업을 담당하는 IoC 엔진 아래 방법들을 이용해 IoC를 구현한다. Service Locator Pattern Dependency Injection contextualized lookup template method design pattern strategy des..

Spring Data JPA와 Hibernate. 그리고 Persistence

1. Spring Data JPA, JPA, Hibernate와 JDBC JPA (JAVA Persistence API): 자바에서 ORM에 대한 API 표준 명세(Interface)(ORM: Object Relational Mapping, OOP 언어에서 관계형 데이터베이스를 사용하는 방식)예를 들면 SELECT * FROM user; -> user.findAll()Interface만 정의한 부분이기때문에 실제 구현부는 HIbernate 등 여러가지 중 선택할 수 있다.일반적으로 HIbernate를 사용. Hibernate: JPA의 구현체. JPA에서 사용되는 EntityManager, EntityManagerFactory와 EntityTransaction 등을 JDBC 기반으로 구현.실제 구현 부분..

데이터베이스 정규화 - 제1, 제2, 제3정규형과 BCNF (RDB, Database Normalization)

용어 정리.슈퍼 키(Super Key): 행을 고유하게 식별할 수 있는 속성 또는 속성의 집합후보 키(Candidate Key): 슈퍼 키 중 더 이상 줄일 수 없는(irreducible) 형태를 가진 것기본 키(Primary Key): 설계자에 의해 선택, 정의된 후보 키 함수 종속성 (Functional Dependency): X 값에 의해서 Y의 값이 결정되는 경우 ( y = f(x) ) 완전 함수 종속(Full Functional Dependency): 후보 키를 제외한 모든 속성이 후보 키의 전체 집합에 종속되어야 한다.(= 기본 키의 부분 집합에 종속되어서는 안된다.)주문id아이템id할인가110100210801550(예를 들어, PK가 (주문id+아이템id) 인 경우 할인가는 2가지를 모두 알..

Data 2022.11.03

Airflow 정리 execution_date, data_interval_start, logical_date, start_date

airflow 사용 자체는 어렵지 않다. 용어나 date 처리 등에 대해서만 정리한다. start_date: DAG가 시작되는 기준 시점. 해당 시점을 기준으로 interval적용 execution_date: Task가 실행되는 시점이 아닌 Time Window의 시작 지점. schedule_interval: data처리 간격. cron 또는 date형식 (Timetable 형식이 도입되었다. https://airflow.apache.org/docs/apache-airflow/stable/concepts/timetable.html) 예를 들어, interval이 하루인 경우, execution_date = 2022-01-01 0시 인 작업은 2022-01-02 0시에 시작한다. 이러한 개념이 혼란을 주기..

Data 2022.11.03
반응형