전체 글 316

ufw, iptables 차이

요약 : 리눅스 방화벽 중 가장 많이 사용되는게 iptables 인데 iptables 의 작업을 간편화 해 주는 소프트웨어가 UFW(Uncomplicated Fore Wall = 복잡하지 않은 방화벽) iptables은 kernel level의 tool이며, ufw는 내부에서는 iptables을 이용하며, 사용자가 좀 더 편리하게 사용할 수 있도록 만들어 놓은 tool이다. 즉 ufw는 iptables을 이용한 Frontend tool이다. nftables (nework filter tables)은 iptables을 대신하는 차세대 tool 이다. 1. 명령어 1. ufw 활성화 여부 확인 sudo systemctl is-enabled ufw 2. 설정 상태 확인 sudo ufw status verbos..

0.0.0.0, 127.0.0.1, 255.255.255.255

1. 0.0.0.0 = 모든 IP를 의미한다. = 컴퓨터, 모뎀 및 네트워크 카드에서 수신 대기 중임을 의미한다. = 네크워크에 액세스할 수 있는 곳이면 어디에서나 접근 가능함을 의미한다. = 라우팅 테이블에서 사용되는 경우 기본 게이트웨이를 식별하는데 0.0.0.0에 대한 경로가 기본경로이다. 0.0.0.0은 local machine의 모든 IPv4 주소를 의미해서, 0.0.0.0으로 접근하면 로컬 호스트의 모든 IPv4로 되어있는 호스트에 접근이 가능하다. ex) mac을 CI 서버로 사용할 때 설정 변경 127.0.0.1 -> 0.0.0.0 Label homebrew.mxcl.jenkins ProgramArguments /usr/libexec/java_home -v 1.8 --exec java -D..

CS/Network 2023.05.06

Docker, UFW, IPTABLES 방화벽

1. 데스크탑(프리도스)에 우분투를 설치하여 개인서버로 사용하면서 발생한 문제점 1) 공유기에서 포트포워딩을 해 외부ip -> 데스크탑 ip로 바라보게한 후 docker에서도 마찬가지로 포트포워딩해 특정 이미지 바라보게 했으나, 로컬에서는 docker에서 띄운 nginx라던지, was에 접근 가능하나 외부ip:특정포트를 타고 들어오면 도커에 연결이 안되었음. * 도커 네트워크 쪽 추가 공부 https://velog.io/@cloudjun/UFW-DOCKER-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%A9%ED%99%94%EB%B2%BD%EC%97%90-%EC%A0%81%EC%9A%A9%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EB%AC%B8%EC%A0%9C ..

ORACLE D/B

1. SQL 내부 수행구조 ORACLE에서는 디스크에 저장된 데이터 집합(Datafile, Redo Log File, Control File 등)을 데이터베이스라고 부른다. 그리고 SGA (System Global Area) 공유 메모리 영역과 이를 액세스하는 프로세스 집합을 인스턴스라고 부른다. 기본적으로 하나의 인스턴스가 하나의 데이터베이스를 액세스하지만, RAC(Real Application Cluster)환경에서는 여러 인스턴스가 하나의 데이터베이스를 액세스할 수 있다. 2. 데이터 저장구조 물리적으로는 데이터 파일에 데이터를 저장하고 관리한다. 공간을 할당하고 관리하기 위한 논리적 구조를 아래에서 본다. 1) 블록 ( =페이지) 대부분의 DMBS에서는 I/O는 블록 단위로 이루어진다. 데이터를 ..

CS/DataBase 2023.04.21

ORACLE 인덱스

1. 인덱스 기본구조 인덱스는 통상적으로 B*Tree 구조를 가진다. 처음에는 루트 노드에 데이터가 싸이는데 점점 데이터 늘어날 수록 루트 노드 -> 브랜치 노드 -> 리프노드로 연결된다. 인덱스 탐색은 수평적 탐색과 수직적 탐색으로 나뉜다 .수평적 탐색은 인덱스 리프블록에 저장된 레코드끼리 연결된 순서에 따라 좌우로 스킨하기 때문에 수평적 탐색이라한다. 반면, 수직적 탐색은 루프에서 리프가지 아래쪽으로 진행하기 때문에 수직적 탐색이라한다. 2. 인덱스 스캔방식 1) Index Range Scan : 인덱스 루트 블록에서 리프블록까지 수직적으로 탐색한 후에 리프블록을 필요한 범위만 스캔하는 방식이다. ( 가장 일반적이고 정상적인 형태의 액세스 방식이다.) 1-1) Index Range Scan Desce..

CS/DataBase 2023.04.21

ORACLE 파티셔닝

파티셔닝이란 ? 테이블 또는 인덱스 데이터를 파티션 단위로 나누어 저장하는 것을 의미한다. 논리적으로 하나의 테이블을 물리적으로 나누어 저장한다. ex) 로그 테이블 테이블을 파티셔닝한다면 파티션 키에 따라 물리적으로 별도의 세그먼트에 데이터를 저장하며, 인덱스도 별도의 세그먼트에 데이터를 저장한다. -> 파티셔닝은 내부에 몇 개의 세그먼트를 생성하고 그것들이 논리적으로 하나의 오브젝트임을 메타 정보로 딕셔너리에 저장해두는 것에 그치지 않는다. 파티션 되지 않은 일반 테이블은 테이블과 세그먼트가 1:1관계지만, 파티션 테이블일 때는 1:M 관계다. 인덱스를 파티션할 때도 마찬가지다. 관리적 측면에서 파티션 단위로 백업, 추가, 삭제, 변경 가능해 이점이 있다. ex) 보관주기가 지난 데이터를 별도 장치에..

CS/DataBase 2023.04.21

CloudWatch, CloudTrail이란?

1. CloudWatch 란? AWS 리소스와 AWS 에서 실시간으로 실행중인 애플리케이션을 모니터링하는 서비스이다. 지표를 감시해 알림을 보내거나 임계값을 위반한 경우 모니터링 중인 리소스를 자동으로 변경하는 경보를 생성할 수 있다. 경보를 통해 인스턴스 중지, auto scaling 및 Amazon SNS 작업 시작 등 을 구성할 수 있다. 1) namespace : EBS, EC2, ELB, RDS 등을 namespace라고 한다. 2) Metric : CPU 자원 사용률 등이 metric이 된다. 2. CloudTrail이란? AWS 계정의 거버넌스, 규정 준수, 운영감사, 위험 감사를 지원하는 서비스로 CloudTrail을 사용하면 AWS 인프라에서 계정활동과 관련된 작업을 기록하고 지속적으로 ..

DevOps/AWS 2023.03.11

ORACLE 쿼리 조인, 쿼리 튜닝

쿼리 튜닝 기초 1. OLTP 시스템에서 조인을 튜닝할 때는 일차적으로 NL 조인부터 고려 2. NL 조인 메커니즘에 따라 각 단계에서 Random 액세스가 발생하는 지점 파악 3. 조인 순서를 변경해 Random 액세스 발생량 줄이기 OR 인덱스 칼럼 구성을 변경하거나 다른 인덱스의 사용을 고려 4. NL 조인이 효과적이지 못하면 해시조인이나 소트머지 조인 검토 1. Nested Loops 조인 의미 : 중첩 LOOP문 생각 1) 힌트를 이용해 NL 조인 제어 SELECT /*+ ordered use_nl(e)*/* FROM dept d, emp e where d.deptno = d.deptno ordered 힌트는 from 절에 기술된 순서대로 조인하라고 옵티마이저에게 지시할 때 사용, use_nl은..

CS/DataBase 2023.03.10