전체 글 (1202) 썸네일형 리스트형 Sidecar-Pattern with 여러가지 (1) 이전 프로젝트에서 한가지 의문점이 있었는데, API 통신을 하기 위해서는 무조건 GateWay를 거쳐야 한다는 점이었다.예를들어 A pod와 B pod가 API를 통해서 데이터를 주고 받으려면 A pod > API GW > B pod 이런식의 플로우를 가지는데, 다이렉트로 pod대 pod통신을 하면 좀 더 효율적이지 않을까 싶은 생각 을 했었다.관련 내용을 찾아보던중 Sidecar Pattern 이라는 디자인 패턴을 보게 되었는데, 역시 사람들은 이미 몇년전에 해당 패턴을 가지고 테스트를 많이 했더라... 암튼, 사이드카 패턴은 우리가 잘알고 있는 isto나 aws사의 app-mesh 같은 서비스가 널리 사용이 되고 있다.이전 프로젝트도 사이드카로 datadog agent를 올려서 pod에서 발생하는 .. 리액트 주요 요소 정리 React는 사용자 인터페이스를 구축하기 위한 JavaScript 라이브러리입니다.React를 쉽게 이해하기 위해 다음과 같은 개념과 방법을 따라가면 도움이 됩니다.1. 컴포넌트(Component)React의 기본 단위는 컴포넌트입니다.컴포넌트는 독립적이고 재사용 가능한 UI 요소를 정의합니다.컴포넌트는 함수형 컴포넌트와 클래스형 컴포넌트로 나뉩니다.함수형 컴포넌트import React from 'react';const MyComponent = () => { return Hello, World!;};export default MyComponent;클래스형 컴포넌트import React, { Component } from 'react';class MyComponent extends Component { .. 디자인 패턴 React의 대표적인 디자인 패턴은 다음과 같다.Container-Presenter 패턴: 컴포넌트를 두 가지로 나누어, 하나는 데이터 로직을 처리하는 Container 컴포넌트, 다른 하나는 UI를 렌더링하는 Presenter 컴포넌트로 분리한다.Higher-Order Components (HOC): 컴포넌트를 인수로 받아서 새로운 컴포넌트를 반환하는 함수이다. 주로 코드 재사용성을 높이기 위해 사용된다.Render Props: 컴포넌트의 자식으로 함수를 전달하여, 그 함수를 통해 컴포넌트의 렌더링 로직을 정의하는 패턴이다.Custom Hooks: React의 Hook 기능을 사용하여 재사용 가능한 로직을 추출하는 패턴이다.Compound Components: 여러 개의 작은 컴포넌트를 조합하여 하나의.. 웹 방화벽(WAF)과 일반 방화벽(FireWall) 그리고 인프라 보안 예전 기술지원 TF에서 WAF생성 및 설정과 방화벽 설정에 대해 정리 TF 프로젝트를 수행하면서, 웹 애플리케이션의 보안을 강화하기 위해 웹 방화벽(WAF)과 일반 방화벽을 생성 및 설정했다. 먼저, AWS CloudFront를 통해 접근하는 사용자를 필터링하기 위해 AWS WAF를 설정했다. AWS Management Console에 로그인한 후, AWS WAF & Shield 서비스로 이동하여 새로운 웹 ACL(Web Access Control List)을 생성 후 적용했다. 이 ACL에는 SQL 인젝션과 XSS(크로스 사이트 스크립팅) 공격을 탐지하고 차단하는 규칙을 추가했다.(그외에 기본적으로 차단해야 하는 공격에 대한 정책도 추후에 추가 했다.) 그런 다음, 생성된 웹 ACL을 AWS Cloud.. Hexagonal Architecture와 Domain Driven Development 개념 및 구현 방법 정리 일단 정리하기에 앞서, SpringBoot, Java 17, Mybatis, Postgresql 정도로 프레임워크를 만들었다. 프런트는 화면에서 뿌려주는 데이터만 표시하고 링크 정도로만 구현할 거라 html로 정했다. 파일 구조는 아래와 같다.src ├── main │ ├── java │ │ └── com │ │ └── example │ │ ├── api # API Layer (REST Controllers) │ │ │ └── EntityController.java │ │ ├── application # Application Layer (Service Interfaces and Implementations) │ │ │ ├── EntityService.java │ │ │ └── EntityServiceIm.. NLB(L4)와 ALB(L7) 로드밸런서로 서비스 구현 최근 SI 프로젝트에서 L4와 L7 로드밸런서를 기반으로 프로젝트를 수행한 경험을 기록으로 남겨놓으려 한다.프로젝트 개요이번 프로젝트에서 주요 과제로는 국내 공기업과의 협업을 통해 TCP/IP 연결을 설정 및 관리하고, 애플리케이션 트래픽을 효율적으로 분산하는 것이 목표였다. 이를 위해 L4 로드밸런서와 L7 로드밸런서를 활용했다.L4 로드밸런서먼저, L4 로드밸런서를 설정하여 국내 공기업과의 TCP/IP 연결을 설정 및 관리했다. L4 로드밸런서는 네트워크 계층에서 작동하며, IP 주소와 포트 번호를 기반으로 트래픽을 분산한다. 그리고 고정 IP 할당이 가능해 기관이 요구한 1:1 연결이 가능했다. 이를 통해 빠른 속도와 낮은 지연 시간 그리고 요구사항을 모두 충족 및 유지하면서도 세션 지속성을 보장할.. 웹으로 접근하는 사용자 비밀번호를 저장하는 방법 및 비밀번호 관리 방법 SI 프로젝트에서 고객사에서 요구하는 조건은 제 각각 이지만 AWS 기반의 프로젝트 에서는 보통 SecretManager 와 KMS(KeyManagementService)를 활용하여 id나 password와 같은 비밀정보를 저장하고 DB에 패스워드등을 저장할때는 KMS를 활용하여 컬럼 암호화를 진행 후 DB에 저장하는게 대부분이다. 이번 프로젝트도 SecretManager와 KMS를 활용하여 민감정보와 개인정보를 저장하고 관리 하였다. 관련 내용은 아래와 같다. AWS 시크릿 매니저와 KMS를 사용하여 애플리케이션의 비밀정보와 민감정보를 관리한 방법을 설명.비밀번호 관리 (AWS 시크릿 매니저)애플리케이션을 개발하면서 비밀번호와 같은 비밀정보를 안전하게 관리하는 것이 중요하다. 이전 프로젝트 에서는 이를.. 사이드카 패턴을 적용한 Service Mesh (Envoy Proxy) 적용기 적용 배경:SI 프로젝트를 수행 중, 마이크로서비스 아키텍처를 활용한 Envoy Proxy 적용하기.각 서비스는 독립적으로 배포되고, 서로 통신해야 및 서비스 간의 통신을 효율적으로 관리하고, 보안 및 모니터링을 강화하기 위해서 보통은 Service Mesh AWS에서는 App Mesh를 적용한다. 사이드카 패턴 도입:서비스 메시를 구현하기 위해 사이드카 패턴을 사용했다. 각 마이크로서비스 인스턴스 옆에 Datadog Agent 컨테이너를 배치하여, 이 에이전트가 서비스 간의 통신 로그를 수집하고 Datadog 서버로 전송하도록 구현하였다. 로그 수집 및 중앙 관리:Datadog Agent 설정: 각 Datadog Agent 컨테이너는 서비스 간의 모든 트래픽을 가로채고, 이를 로깅하도록 설정.에이전트는.. 이전 1 2 3 4 5 6 7 ··· 151 다음