728x90

Cloud 71

EC2 Auto Scaling

EC2 Auto Scaling 개요 auto scaling group = EC2 인스턴스의 그룹 시작 템플릿 (런치 템플릿) = EC2 서버를 시작하기 위한 AMI , 인스턴스 유형 정보를 가진 템플릿 조정 옵션 (조정 정책) = Auto Scaling을 실행하기 위한 조건 EC2 Auto Scaling - 조정 정책 항상 현재 인스턴스 수준 유지관리 지정된 수의 실행 인스턴스를 항상 유지하도록 Auto Scaling 그룹을 구성 인스턴스가 비정상 상태임을 확인하면 해당 인스턴스를 종료한 다음 새 인스턴스를 시작함 수동 조정 일정을 기반으로 저정 매주 일요일에는 인스턴스 4대 , 평일이에는 2대 온디맨드 기반 조정 (Dynamic Scaling) 수요 변화에 맞춰 Auto Scaling 그룹의 크기를 동..

Elastic Load Balancing(ELB)

Elastic Load Balancing(ELB) 개요 Gateway LB는 단순히 라우팅만 해주는것이 아니라 보안적인 요소도 고려해서 패킷들을 처리하게 된다. TargetGroup이 정상인지 주기적으로 헬스 체크하는 역할도 있다. Application LB 는 HTTP 요청을 보냄으로서 확인을 하게 된다. TargetGroup 들의 속성들 속성 (Attribute) -HTTP/HTTPS , 프로토콜에 따라 다 다르다 , Application LB (L7) 등록 취소 지연 (Deregistration delay / Connection Draining) Auto Scaling 축소 등으로 Deregistration 된 인스턴스에 더 이상의 요청을 보내지 않도록 하는 기능 해당 인스턴스에 진행중이 요청이 있..

컴퓨팅 - EC2

인스턴스 구매 옵션 온디맨드 = 약정없이 초당 사용한 만큼 비용지불 스팟 = 사용 안하는 인스턴스를 경매 방식으로 구매하여 사용 온디멘드 인스턴스보다 90까지 저렴 하지만 경매 조건에 미달( 누가 더 비싸게 부르거나 ,온디멘드에서 사용하게 되면) 하면 인스턴스가 종료되어버림 앱이 언제든지 종료가능할 때만 사용하게된다. 여러개의 스팟 인스턴스를 하나의 그룹으로 묶어 스팟 집합(spot fleets)으로 구매하여 사용함 예약 + 스팟(급겨하게 사용량이 증가된경우) 예약 = 1~3년 기간 약정하여 사용 , 75까지 저렴 , 수요가 꾸준하고 예측가능한 경우 좋음 표준 예약 인스턴스 = 인스턴스 타입 변경 불가능 전환형 예약 인스턴스 = 중간에 변경 가능 정기 예약 = 지정된 시간, 날짜 동안에 인스턴스가 시작됨..

Identity and Access Management(IAM)

IAM 개요 AWS 계정 및 권한 관리 서비스 AWS 서비스와 리소스에 대한 엑세스 관리 사용자 , 그룹 , 역할 , 정책 으로 구성 리전에 속하는 서비스가 아닌 글로벌 서비스 계정 보안 강화를 위해 루트 계정(AWS 회원가입시 만들어지는 계정) 은 최초 사용자 계정 생성 이후 가능하면 사용하지 말 것 사용자 계정 (IAM 계정) 으로 서비스를 사용하고 사용자는 필요한 최소한의 권한만 부여 루트 계정 , 개별 사용자 계정에 MFA 적용해야함 IAM 정책 AWS 리소스에 대한 엑세스 권한을 정의 한 것 사용자, 그룹, 역할에 정책을 연결하여 사용 JSON 문서 형식으로 정책이 명시되지 않은 경우 기본적으로 모든 요청이 거부됨 custom 하게 자신이 역할을 만들수도 있음 effect에는 allow, den..

AWS 시작 하기

리전 (Region) 데이터 센터를 클러스터링하는 물리적위치 (서울, 홍콩) 1개 AWS 리전 = 2개이상의 가용영역으로 구성 대부분의 AWS 서비스는 리전을 선택하여 시작 (EC2) 리전을 선택하지 않는 글로벌 서비스도 있음 (IAM) 재해복구(DR) 설계 = 2개 이상의 리전에 시스템을 배치 가용영역 (Availability Zone, AZ) 가용영역 = 하나 이상의 개별 데이터 센터 1개의 리전은 2개이상의 가용영역으로 구성 (보통 3~4개) 가용영역끼리는 물리적으로 떨어져 있고 고속 네트워크로 연결됨 고가용성 설계 = 다중 AZ, 2개 이상의 가용영역에 시스템 배치 엣지 로케이션 (Edge Location) 엣지 로케이션에 콘텐츠를 캐싱하여 사용자에게 더 짧은 지연 시간으로 콘텐츠를 전송 글로벌 ..

이게 돼요? 도커 없이 컨테이너 만들기 / if(kakao)2022

흥미 유발 container 기반으로 올린 busybox의 root file system 은 overlay이다. process가 다르다. container는 2개이고 local은 여러개이다. ip link , hostname도 다 다르고 , id를 쳤을때 container도 local 도 root 이 나오는데 이둘은 과연 같은 root일까? container file system 프로세스를 가두고 , 탈옥을 막고 , 중복을 해결하자 chroot를 기반으로 process가 Fake root 밖으로 나가지 못하게 한다. 필요한 것들을 fake root 안으로 복사해야 한다. docker export $(docker crete nginx) | tar -C nginx-root -xvf - 이번엔 남들이 만들어놓..

Cloud/Docker 2023.01.31

podmon (containerd 같은 runtime예시)

내가 알고있는 Container Runtime은 결국 golang으로 만드러진 conmon에게 요청을 위임하면 container를 생성하거나 지운다. container는 runc위에서 동작하는것이고 중요한것은 app 영역에서 namespace 때문에 kernel 영역을 침범하지 못하는것임 namespace 에 mnt , net , uts , ipc 같은것들이 존재하는데 이들은 각자수행하는 역할이 나뉘어져있음 containers/storage/overlay 에서 overlay는 file system을 의미한다. https://bluese05.tistory.com/11 Linux namespace Linux namespace [Contents] 1. Linux namespace 2. Linux namespa..

Cloud/Kubernetes 2022.12.01

MS 들 dockerize + window local mysql data -> wsl2 docker mysql + kafka listener

docker network 에서 bridge 모드로 직접 gateway , subnet을 명시하여 하나 만들어준다. ga,subnet을 직접 명시하지 않으면 ip 를 직접 지정해서 container를 띄울떄 오류가 발생할 수 있다. 기본 모드인 bridge모드면 자체 DNS서비스를 제공함으로 container 로 만들시 --name에 부여한 값으로 ping 해보고 통신이 가능하다. RabbitMQ docker run -d --name rabbitmq --network ecommerce-network \ -p 15672:15672 -p 5672:5672 -p 15671:15671 -p 5671:5671 -p 4369:4369 \ -e RABBITMQ_DEFAULT_USER=guest \ -e RABBITM..

MS 모니터링 (wsl2 grafana)

Turbin , Hystrix는 예전에 쓰던것이다. ms에서 생성되는 Hystrix 클라이언트 스트림 메시지를 터빈 서버로 수집함 MicroMeter @GetMapping("/welcome") @Timed(value = "users.welcome",longTask = true) public String welcome() { return greeting.getMessage(); } management: endpoints: web: exposure: include: refresh, health, beans, busrefresh , info, metrics, prometheus application.yml 설정에서 actuator 가 metrics url로 해당 메소드의 정보를 받아올 수 있는 url을 "us..

장애 처리와 MS 분산 추적

user service 에서 문제가 발생한것이 아니라 다른 ms를 호출하는 과정에서 다른 ms에서 문제가 발생하는 경우가 있다. https://tonylim.tistory.com/380 MS간 통신 RestTemplate token: expiration_time: 864000000 secret: '{cipher}AQBQMwrjDGVYOUquU1Rgcxs7c+ELCWNwBYcmKD7cH++Vnd7G5+dT0TvfiR/LBMWOBAHgB58+cwPVQKI05u0jzDoHR2MJE/q3DVJuj64x8SWVf/e6qeUM/CQhy8T5Bs8erpplR7p+fd8r7U/B3rpsgQ63mAgtLrpy3c5A9PlTvWFW6/fg+paWKQP6UEv56lqj tonylim.tistory.com 에 작성된 Feig..

728x90