3 계층 architecture란? 어떤 플랫폼을 3계층으로 나누어 별도의 놀리적 물리적인 장치에 구축 및 운영하는 형태를 말한다. 계층과 레이어 레이어와 계층이 혼동되어 사용될 때가 있다. 레이어는 소프트웨어의 기능적 분할을 의미하지만, 계층은 이프라에서 실행되는 소프트웨어의 기능적 분할을 의미한다. 계층을 분리하여 사용하는 목적 각 계층을 담당하는 팀들을 구성하여 업무 분담이 가능해지므로 업무 효율성이 증가할 수 있다. 여러 대의 서버로 나누어 각 계층이 동작하므로 서버의 부하를 줄여줄 수 있다. 부하가 발생하는 특정 계층의 서버에 대해서만 스케일업을 고려할 수 있다. 3 계층 구조 구성 프레젠터이션 계층 정보를 표시하고 사용자로부터 정보를 수집한다. 애플리케이션의 사용자 인터페이스를 지원한다. 주로..
AWS에 데이터 저장 시 암호화 적용 클라이언트 측 암호화와 서버 측 암호화를 구분하는 기준은 어디서 암호화를 하느냐는 것이다. 클라이언트에서 암호화를 암호화하는 경우 CSE이고 AWS내의 서버에서 암호화를 하는 경우를 SSE라고 한다. S3에서 object 저장 시 암호화하여 저장하는 방식이 SSE에 해당한다. S3에 object를 업로드하기 전 object를 암호화하여 s3에 저장하는 방식은 CSE에 해당한다. 클라이언트 측 암호화(Client-Side Encrytion) 데이터를 전송하기 전에 암호화 수행 고객이 직접 암호화 키를 마련하고 직접 관리하거나, AWS KMS / CloudHSM내에 보관 관리 서버 측 암호화(Server-Side Encryption) AWS가 전송된 데이터에 대해 고객 ..
Node.js로 multi threading, multi processing을 필요로하는 작업을 진행하게 되었다. Node.js에서 multi threading을 위해서는 worker_thread(node version 10부터 사용가능)를 사용한다. Multi processing을 위해서는 child_process 또는 cluster를 사용한다. process를 단순하게 병렬로 실행하는 것은 child_process로 가능하고, 로드밸런싱과 포트 공유가 필요하다면 cluster를 사용하는 것이 좋다. multi threading과 multi processing 중 선택 multi threading, multi processing을 사용하여 모두 구현은 가능하지만 두가지의 장단점이 다르기 때문에 요구사항..
VPC내에 ES를 사용하고 있다. VPC내 ES로 접근하기 위해서는 ssh tunneling을 사용하거나 proxy 서버를 구성하여 접근 해야한다. ES를 보고서를 작성할 때만 사용하고 있어서 많은 설정이 필요 없는 ssh tunneling으로 사용하고 있었다. 하지만 점점 사용 빈도가 늘어나면서 매번 tunneling을 하는 것이 귀찮아졌다. kibana에 개발자가 아닌 사람이 접속할 상황이 생기고 점점 tunneling을 관리하기가 어려워졌다. Amazon Cognito 인증으로 Kibana에 액세스하기 위해 SSH 터널 사용 위의 그림 처럼 tunneling을 사지 않고 proxy 서버를 통해 traffic이 VPC 내부에 있는 ES로 접근할 수 있도록 구성했다. ES에 접근 시 cognito의 l..
- Total
- Today
- Yesterday
- AWS community day seoul
- sementic version
- conventional commit
- Prisma
- shorten
- JavaScript
- Python
- nltk
- Terraform
- inversify
- Cloudfront
- pagination
- lambda@edge
- Develop
- mognodb
- nginx
- commit message
- Airflow
- Github Actions
- Lifecycle
- graphql
- Elasticsearch
- slowquery
- aws
- NLP
- typescript
- Neptune
- Cognito
- Clickjacking
- mongoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |