본문 바로가기

서버구축 (WEB,DB)301

PostgreSQL 효율적 연동을 위한 선택: PgBouncer vs Pgpool-II 비교 분석 PgBouncer를 PostgreSQL과 연동할 때, pg_hba.conf 파일에서 trust 인증 방식을 사용하는 것은 일반적으로 권장되지 않습니다. trust 인증 방식은 클라이언트의 주소나 호스트명만으로 접속을 허용하는 매우 느슨한 인증 방식입니다. 이는 로컬 네트워크 내에서 신뢰할 수 있는 환경에서만 사용해야 하며, 원격지에서는 보안 위험이 크게 증가합니다. 보다 안전한 방식으로 PgBouncer와 PostgreSQL을 연동하려면, 다음과 같은 접근 방식을 고려할 수 있습니다. 보안 인증 방식 사용: pg_hba.conf에서 md5, scram-sha-256, 또는 보다 강력한 암호화 기반 인증 방식을 사용합니다. 이 방식들은 사용자 이름과 비밀번호를 통한 인증을 필요로 하며, 특히 scram-s.. 2024. 4. 3.
HTTP 요청과 응답에 대한 캐싱 로직 정의 VCL (Varnish Configuration Language) Varnish Configuration Language (VCL) 코드는 특정 HTTP 요청과 응답에 대해 캐싱 로직을 정의하여 캐싱 동작을 조정하는 것입니다. Varnish에서는 기본적으로 모든 페이지를 캐시할 수 있는 가능성이 있지만, 실제로 캐시되는지 여부는 여러 조건에 따라 달라집니다. 이러한 조건에는 HTTP 헤더, 요청 메소드, 설정된 VCL 로직 등이 포함됩니다. 따라서 모든 페이지가 자동으로 캐시되는 것은 아니며, 다음과 같은 요소들이 캐시 여부를 결정짓습니다. HTTP 메소드: 일반적으로 GET 요청과 HEAD 요청만 캐시됩니다. POST나 PUT 같은 다른 요청 메소드는 기본적으로 캐시되지 않습니다. HTTP 헤더: Cache-Control, Pragma, Expires 등의 헤더는 응.. 2024. 3. 18.
전통적인 Web-DB 구조에서 Web-WAS(API)-DB 아키텍처로의 전환 전통적인 web-db 구조 대신 web-was(api)-db 구조로 운영하는 것은 여러 보안 이점이 있습니다. 이러한 아키텍처는 분리된 레이어를 통해 보안을 강화하며, 각 레이어가 서로 다른 보안 요구 사항과 위험을 관리할 수 있도록 합니다. 특히 API를 사용하는 경우, 보안 위험을 줄이고 보안 설정의 정확성을 높일 수 있습니다. 관리의 용이성: WEB/WAS 구조에서는 웹 서버와 WAS가 분리되어 있어 서버 관리 및 장애 대응이 더욱 용이합니다. 웹 서버와 WAS의 역할이 구분되어 있기 때문에 관리 및 유지보수가 더 쉽고, 장애 발생 시 대처 방안도 명확해집니다. 안정성 및 가용성: 이중화를 통해 안정성을 높일 수 있습니다. 웹 서버와 WAS가 분리되어 있으면, 하나의 시스템에 문제가 발생해도 다른 .. 2024. 3. 11.
Apache 웹 서버 URL 접근제어 Access Control 통제 및 인증 Apache 웹 서버에서 IP 제한을 설정하려면 httpd.conf 또는 관련된 설정 파일을 열고 다음과 같이 Require 지시어를 사용하여 원하는 IP 주소나 범위를 지정할 수 있습니다. Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 192.168.1.1 위의 예제에서 Allow from 뒤에 원하는 IP 주소나 범위를 추가하세요. 또는, Apache 2.4 버전 이상을 사용하는 경우 다음과 같이 Require를 사용할 수 있습니다. Options FollowSymLinks AllowOverride None Require ip 192.168.1.1 변경 후에는 Apache를 재시작하여 설정을 적용해.. 2024. 2. 29.
Vitess 대규모 웹 서비스 데이터베이스 클러스터링 시스템 Vitess는 대규모 웹 서비스를 위한 데이터베이스 클러스터링 시스템입니다. YouTube에서 개발되었으며, 현재는 CNCF(Cloud Native Computing Foundation)의 산하 프로젝트로 운영되고 있습니다. Vitess의 주요 목적은 MySQL 데이터베이스의 확장성과 관리 용이성을 개선하는 것입니다. Vitess의 주요 특징 확장성: Vitess는 MySQL의 단일 인스턴스 한계를 극복하고, 수십억 개의 행과 수천 개의 쿼리를 처리할 수 있는 확장성을 제공합니다. 샤딩: 자동 샤딩을 통해 데이터를 여러 데이터베이스로 분산시켜 처리 속도와 효율성을 높입니다. 복제와 고가용성: MySQL의 복제 기능을 이용하여 데이터의 안정성과 가용성을 높입니다. 쿼리 최적화: 복잡한 쿼리를 분석하고 최적.. 2024. 2. 25.