| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 해내자
- aws책은읽다말았는데
- 만기오긴오냐
- 이놈의기사또해내야돼
- 청내공화이팅
- 청년내일채움공제 끝
- 청내공만기오긴오냐
- 청년내일채움공제
- 은우쌤
- 해낼수있어
- 저것도꾸준히읽어야지ㅠㅠ
- 나름신중하게할거다하고있음
- 2025년 1회차
- 자동화구현만세
- 화이팅
- IaC코드자동화
- 너무어려워...
- 어렵다
- 테라폼만세
- Provider AWS
- 정신력승리함
- 무탈히가길
- 청내공만기
- 청내공
- 정신력승리
- 합격률15.18%
- 청내공해내자
- 윽짜증
- 몸이고되고머리가힘들다
- 존버존버
- Today
- Total
시나브로
정리 본문
면접보면서 하나씩 적은 것들, 답변 못한 것들 기억했다가 복기하며 적어본다.
linux network os sql 대응방법 ... 순서없이 적어본다.
네트워크 백업해보셨나요..?
데이터 백업의 한 방식으로,
네트워크를 통해 전송된다는 점
데이터를 네트워크를 통해 다른 서버나 저장소로 복사해두는 것
Stateful / Stateless를 보안그룹과 Nacl에 연관지어 설명할수있나요..?
| Stateful | SG | 트래픽 상태를 저장함 인바운드에서 허용된 트래픽은 아웃바운드를 자동허용 특정 서버에 대한 트래픽만 관리 인스턴스(서버) 단위 '서버 문 앞 보안요원' | 특정 인스턴스의 연결 상태를 기억 들어오는 트래픽 허용하면 연결 상태를 기억해서 자동으로 나가는 응답도 허용 '허용'만 규칙 (우선순위 필요없음) |
| Stateless | ACL | 트래픽 상태를 저장안함 인바운드, 아웃바운드 규칙이 별도 설정 필요 서브넷 단위 '네트워크 관문' | 전체 네트워크 트래픽을 먼저 걸러야함 서버 하나하나 상태를 기억할수없으니 들어오는/나가는것 따로 규칙이 필요 같은 트래픽에 대한 허용/거부 규칙이 여러 개 있을수있음 → 우선순위를 정해서 먼저 적용할 규칙을 결정 |
규칙이 이러한 이유
트래픽을 검사하는 '위치'와 '상태 저장가능 여부' 차이 때문이다.
CRUD 아는대로 알려줄수있나요..?
데이터베이스나 애플리케이션에서 데이터를 관리하기 위한 4가지 기본적인 작업
데이터를 생성, 조회, 수정, 삭제하는 기본 기능을 모두 포함하며,
모든 데이터 중심 애플리케이션의 필수적인 요소이다.
Create(생성), Read(읽기), Update(갱신), Delete(삭제)
SQL 쿼리 작성경험 있나요..?
select 컬럼 from 테이블 where ... group by ... having ...;
insert into 테이블 (컬럼) values (데이터)...;
update set 테이블 where ...;
delete from 테이블 where ...;
Join의 장단점 알려줄수있나요..?
장점
1 데이터를 효율적으로 결합 (여러 테이블을 하나처럼 조회 가능함)
2 중복 데이터를 줄임 (테이블을 나눠 저장해도 필요할때 합쳐서 사용)
3 정확한 관계 기반 조회 (필요한 정보만 정확히 연결해서 가져올수있음)
단점
1 속도 느려질수있음 (큰 테이블끼리 조인하면 성능 저하)
2 쿼리 복잡해짐 (테이블 많아질수록 이해/관리 어려움)
3 인덱스 없으면 부담 ↑ (조인 조건에 인덱스 없으면 db 부하 커짐)
조인 조건에 인덱스
ㄴ 조인할때 사용하는 컬럼에 인덱스가 걸려있어야 빠르게 찾을수있다는 뜻
예) select ... from A Join B on A.user_id = B.user_id;
이 컬럼에 인덱스가 있으면 속도 빨라짐
회사 도메인 주소를 웹서버1,2에 연결하려면 어떻게 하면 될까요..?
ㄴ lb를 사용하여 분산하고(Load Balancing) 이중화(High Availability) 합니다.
도메인 → LB → 웹서버1 / 웹서버2
순서)
1) 로드밸런서 생성 - Aws의 경우 ALB/NLB
2) 웹서버1,2를 target group으로 묶기
3) 도메인의 dns에서(Aws는 Route53) A 레코드 또는 CNAME → 로드밸런서 dns로 연결
'주로 DB 서버가 다운되는 상황을 경험했습니다.'
이 상황에 대해 알려줄수있나요..?
주로 vdi 팀에서 DB 서버(갈레라DB) 운영 경험인데, 정확히 말하면 db pod 다운 이슈이다.
인프라가 K8s + OpenStack 기반이라 모든 애플리케이션이 Pod 형태로 운영됨
해당 DB는 Galera Cluster(멀티마스터)이며, primary-standby 개념이 아님
장애 당시 Galera DB Pod(CephDB)가 깨져 CrashLoopBackOff 상태가 지속됨
Replica 수는 3개였고, pod 1개를 재기동 후에도 정상화되지 않아
부트스트랩(bootstrap) 절차를 진행함 (일반적으로 한 번 시작되면 알아서 진행되는 일련의 과정-구글참조)
이후 Galera 클러스터 자체가 깨진 것으로 판단해
Replica 수를 1로 줄여 싱글 노드로 먼저 올리는 방식을 시도함
해당 DB Pod가 정상화되어야 RabbitMQ, plat-ms 등 연결된 다른 내부 시스템 Pod들의 정상 동작이 가능함
주로, 재부팅하니까 정상완료된 상황이 많았고, 네트워크 단절 원인으로 판단한 상황도 있었다.
고객이 통화로 aws 어느 서비스나 명령어를 문의할 때 어떻게 답변하는지..?
정확히 어떤 서비스나 기능을 물으시는지 확인
내용이 복잡하거나 확인 필요한 상황이면,
ㄴ 정확한 정보를 드리기위해 내부 검토하고 메일로 회신드려도 괜찮을지 양해를 구함
ㄴ 예상 소요시간과 답변방법 안내함
장애 났을때의 어떻게 대처할것인지..?
1차 장애 인지 - 알림과 모니터링으로 문제 확인
2차 원인 파악 - 로그, 자원의 상태, 최근 변경사항/배포된 사항 점검
3차 임시 조치 - 서비스 정상화 우선 (재기동·롤백 등)
4차 원인 분석 - 재발 방지 대책 마련
5차 보고 및 정리 - 장애 경과, 조치한 내용, 개선사항 기록
서울대학교병원 ~~~ 프로젝트 설명해줄수있나요..?
베이스,골든이미지는 raw 파일이미지, qcow2 파일이미지로 변환 후 적용
서비스마다 host명 service mgmt storage provider 4가지 host → bonding
iptable 구성 control 서버, compute 서버, ceph 서버
Kuberspray ~~~ 기반 환경 트러블슈팅 및 ~~~ 업무내용 설명해줄수있나요..?
ㄴ 구성단계가 3단계인데,
네트워크 구성, runtime 버전, application 버전 있고,
각각 os 이미지 별도 필요
ㄴ ansible 구성은 제가 작업한건 etc/ansible/hosts 로 Ansible이 관리할 서버들의 목록 구성
ssh-keygen 생성
ssh-copy-id 키 복사
프로젝트 내 inventory/hosts 구성까지
Web 인증서 교체 작업 ~~~ 설명해줄수있나요..?
웹 인증서니까 nginx pod 교체인데
새로 전달받은 인증서 파일들을 적용하고 pod 교체하는데 crashloopbackoff 걸림
해당 pod describe > 기존 container 이미지 남아있음
pod 로그 조회 > 인증서 load 불가
이전 버전 원복 > helm delete/install
.crt 특수문자가 있어 제거했음
전달받은 파일을 재 인코딩 > 적용하니 정상 갱신 확인
고객이 무리한 요구를 할때 대응방법..?
공감+사실확인
무리한 요구라도 바로 거절하기보다 고객이 원하는 목표를 파악함
'요청 주신 의도는 이해했다. 정확한 상황을 위해 몇 가지 확인드리겠다.'
ㄴ 감정 상하지 않고, 요구하는 범위를 조정한다.
대안 제시
가능한 옵션 1~2개 정도 제시함
'해당 방식은 어렵지만, 대신 A 또는 B 방식으로는 가능하다.'
'요청하신 시간에는 불가하지만, 2~3시간 안에 처리하는 것은 가능하다.'
ㄴ 거절보다 선택지를 제시한다.
우선순위 조정 요청
'요청하신 작업이 기존 일정보다 우선인지 확인 부탁드린다.'
ㄴ 우선순위만 정리되면 바로 대응한다.
기록 남기기(메일/티켓)
요청 내용 정리
현재 가능한 범위
제한 사항
예상 일정
반복되는 무리한 요구
'지난번에도 동일 요청이 반복되어, 효율적인 진행을 위해 사전에 가이드 드리겠다.'
서버가 Ddos 공격 당했을때 어떻게 대처해야될까요..?
증상 확인
서버 트래픽 급증, CPU·메모리 과사용
로그에서 특정 IP 반복 요청 확인
차단 조치
방화벽(Security Group / Nacl) 에서 악성 IP, IP대역 차단
Rate Limit(속도 제한) 적용
웹서버(Nginx 등) 요청 수 제한 설정
네트워크 레벨 보호 적용
AWS WAF 룰 설정 (IP 차단, 요청 패턴 필터링)
AWS Shield(기본 / Advanced) 활성화
CDN(CloudFront) 서비스 앞단에 두기 → 트래픽 분산
서버 자체 보호 설정
불필요한 포트 닫기
서버 커넥션 제한
Auto Scaling으로 임시 확장 대응
로그 분석 후 장기 대응
어떤 공격인지 파악 → 필요하면 IP 블랙리스트 구축
로그 분석
웹서버 로그
Nginx - access.log, error.log
Apache - access.log, error.log
특정 IP가 초당 수백 번 요청하는지 확인
시스템 로그
/var/log/messages, /var/log/syslog
네트워크/커넥션 폭주, 서비스 다운 기록 확인
방화벽/네트워크 로그
AWS - WAF 로그, Vpc Flow logs, Cloudfront 로그
온프레미스 - 방화벽 장비 로그
→ 비정상 요청 패턴 확인
이전 직장 티켓팅 서버, Auto Scaling·Load Balancing 조정 및 웹 서비스 모니터링 시스템으로 기능 점검 / 리소스 사용량 확인
아트센터2 (windows 2016)
미디어센터1 (windows 2016)
악기랑 db1 (centos 7.3), 악기랑 web1 (centos 7.8)
DB1, 대관1, 메일1 (centos 7.3)
Load Balancing
종류 - Large
Auto Scaling
최대 용량 5
최소 용량 2
기대 용량 4
모니터링
CPU, Network, Memory 등 최대 사용률 85%
백업
nas 증분백업
서버 전체 풀백업
NAS / Snapshot
메일 서버, 아트센터 서버 (증분백업)악기랑 web, 아트센터 db
보안
Security 모니터링 (WAF, IPS, IDS)서버들 기본 acg 구성
Slowquery 이슈가 해결되어,
데이터베이스에서 실행 속도가 느린 쿼리
ㄴ 보통 실행 시간이 오래 걸리는 select, update, delete 등을 의미한다.
CPU가 80%까지 과부하가 발생했다고 문의가 왔음
원인은 새벽에 사용자 중 한분이 select, update, delete 쿼리를 실행한 뒤
commit 을 한 번에 처리하면서 DB 부하가 집중된 것으로 확인되었음
(인덱스 부족, 테이블 크기 증가, 비효율적 쿼리 구조 등
DB 성능 최적화에서는 느린 쿼리를 찾아 개선하는 것이 중요
즉, 서버에서 “DB가 느려지는 주범 쿼리”라고 생각하면 돼요)
Autoscaling 설정으로 ~~~ 40% 이상의 시간 절감 및 부하 분산으로 사용 편의성 극대화 효과
이를 해결하기 위해 클라우드에서 Autoscaling을 설정하여 서버를 자동으로 늘리고 줄이도록 구성했습니다. 그 결과 장애 대응 시간이 40% 이상 단축되고, 부하가 분산되어 서비스 안정성과 사용 편의성이 크게 향상되었습니다.
서버 모니터링 자동화 스크립트를 구현하여 장애 대응시간 40% 단축
서버 점검을 수동으로 하다 보면 장애 대응이 늦어지는 경우가 있어
반복 작업을 자동화하기 위해 셸 스크립트를 작성했습니다.
덕분에 모니터링과 초기 대응이 빨라져 장애 대응 시간을 약 40% 단축할 수 있었습니다.
NCP
서버 종류
Micro - 초소형 서버 / Linux 계열 운영체제만 사용
Standard - 범용성 높은 성능 제공 / 다양한 워크로드에 적합하다
High CPU - Computing 집약적 워크로드에 적합하다
High Memory - 대용량 데이터 처리 등과 같은 Memory 집약적 워크로드에 적합하다
GPU - 병렬처리에 최적화된 GPU 서버의 고성능 컴퓨팅 파워
<추가로 이거 해봤다 !!>
AWS ami 이미지 만들어서 적용
기술블로그에 있지만 jenkins, codedeploy, s3, git 연동해서 ci/cd 구현하기
terraform 로컬에서 plan apply import
eks 구축하면서 cloudformation 기반으로 구축과정 보기
Grafana prometheus 구성
Aws 알림으로 sns 구성, 메일, 슬랙 알람 구성