교통사고 과실 비율 손해액 계산 구글시트

2 Apr, 2022 - 2 minutes
최근에 교통사고가 발생했습니다.교차로에서 발생한 사고인데요, 작은 도로에서 우회전으로 나가려는 중이었고, 상대는 큰 도로에서 좌회전으로 제가 있던 도로로 들어오려는 상황에 두 차의 정면의 구석부분이 부딪쳤습니다. 동네에서 벌어진, 작은 사고 였습니다. 찾아보니 비슷한 상황은 비정형으로 분류되어 있습니다. https://accident.knia.or.kr/special-content?chartNo=C6 과실 비율을 따지는 일은 서로 의견이 다른 상황입니다.저는 제가 먼저 들어와 있는 상황에 중앙선을 물고 들어왔으니 중앙선 침범 또는 […]

AWS Certified Solutions Architect – Associate 자격 취득

16 Jan, 2021 - 2 minutes
꾸준히 AWS관련 업무를 맡아왔다. 업무로 다뤄 본 영역은 잘 알지만 다른 영역들은 전혀 모르는 부분들이 많았다. 매뉴얼을 읽을 때마다 전체를 조망하는데 어려움을 느꼈고 한번쯤은 몰입해 살펴봐야겠다고 생각해왔다. 2020년 11월 쯤 되니 한 해가 가는 것에 대한 조바심이 들었다. 가시적인, 스스로를 위한 성과가 필요하다고 생각했다. 그래서 미뤄뒀던 AWS SAA자격 취득을 준비했다. 학습자료 우선 예전 할인 때 사놓은 Udemy의 관련강의를 […]

ECS – API애플리케이션 – S3 웹리소스 고정아이피 구성

30 Jun, 2020 - 2 minutes
ECS로 구성된 애플리케이션의 웹 리소스의 고정아이피 구성이 필요했다. 가끔 유용하게 활용할 수 있는 사례라 구성도를 따로 그려봤다. 문제정의 애플리케이션 서버는 ECS – Fargate – ALB 환경으로 구축 S3에 웹 리소스가 배포됨. 애플리케이션 서버와 웹리소스에 고정아이피 주소 필요 백엔드와의 연결은 HTTP만 사용해도 됨. 해결 Network Load Balancer에 고정아이피를 설정 NLB는 포트라우팅만 지원하므로 Nginx의 virtual server 설정으로 […]

AWS ALB Target Group의 Draining 이 너무 길다면

11 May, 2020 - 1 minutes
최근 ECS를 도입하면서 Rolling Deploy 를 적용했다. 이전에는 EC2인스턴스마다 방문하면서 배포를 했다면 이제는 새로운 Fargate기반 태스크가 생성되면서 기존 태스크는 없애는 방식으로 배포된다. 테스트를 진행하다보니 ALB Target Group에 등록된 아이템이 Draining에 걸리는 시간이 긴 것이 눈에 들어왔다. 기본값으로 이 값은 300초가 주어지기 때문에 트래픽이 많지 않거나 커넥션을 오래 유지할 필요가 없다면 이 시간만큼 Fargate인스턴스를 더 사용하는 […]

Docker Entrypoint와 쉘 함수의 사용

30 Apr, 2020 - 1 minutes
Docker 컨테이너는 Entrypoint를 가지고 있어서, 컨테이너를 하나의 실행파일처럼 동작할 수 있게 해준다. An ENTRYPOINT allows you to configure a container that will run as an executable. https://docs.docker.com/engine/reference/builder/#entrypoint 이를 이용해 때때로 활용하는 기법이 있는데, Entrypoint를 쉘 함수로 엮어 사용하는 방법이다. 최근 Jenkins에 AWSCLI v2를 사용해야할 일이 있었다. 이미 aws v1이 시스템 전체에 설치되어 운영되고 있기 때문에 […]

AWS MySQL Aurora 최대 접속수 수정방법

19 Feb, 2020 - 1 minutes
오랜만에 Aurora MySQL의 최대 접속수를 다시 지정했다. 개발용도의 데이터베이스는 사용량은 작지만 여러 프로젝트들이 connection pool 을 생성하니 기본 정의값보다 올려서 사용하는 경우가 종종있다. max_connections를 다시 지정한 파라미터 그룹으로 교체하면 된다. 이건 TIL이라 할 것도 없다. 하지만 글로 남기는건 10분이면 될 일을 1시간이나 헤맸기 때문. 클러스터 파라미터그룹과 인스턴스 파라미터 그룹 양쪽에 max_connections가 있다. 파라미터 수정 후 […]

Jenkins 역할기반 전략으로 프로젝트 권한지정하기

14 Feb, 2020 - 2 minutes
Jenkins의 Security Rule 중 Role Based 플러그인을 사용한 사용자 권한 설정을 했다. Manage Jenkins > Configure Global Security 의 Authorization 에서 Role-Based Strategy를 선택한다.(Enable security 상태) 이후  Manage Jenkins > Manage and Assign Roles 화면에서 역할을 추가하고 사용자에 역할을 지정할 수 있다. Manage Roles 역할을 추가, 편집, 삭제한다. 전역(Global)과 프로젝트별 역할이 있다. Assign Roles Manage […]

GCP BigQuery Schema 구성 팁

12 Feb, 2020 - 2 minutes
생성은 CSV를 통하면 편리하다. BigQuery의 테이블스키마는 생성할때 UI가 꽤 불편한 편이다. 그래서 텍스트로 편집 옵션이 있기도 하지만 타이핑하기 좋지 않은 신택스를 가지고 있어서 CSV업로드로 자동생성하는 편이 개인적으로는 가장 편했다. CSV 파일 업로드는 10MB까지만, 그 이상은 Cloud Storage 등에서 가져와야 한다. CSV가 다룰 수 있는 데이터 타입에는 한계가 있다. 예를들어 날짜시간 등을 사용하고자 하면 메뉴얼의 Limitation부분을 […]

AWS NAT 인스턴스의 가성비 확인

9 Jul, 2019 - 3 minutes
AWS의 Private Subnet에 있는 인스턴스가 외부와 통신하려면 NAT를 활용해야한다. 그렇다면 NAT인스턴스를 만들어 사용할지, NAT 게이트웨이(Gateway, 이하 GW)를 사용할지 결정해야 한다. AWS VPC 와 서브넷 VPC의 NAT Gateway 가격은 서울리전에서 $0.059 이다. 1달이 월 720시간이라면 Multiple AZ를 고려해 2개를 설치하면 월 $84.96, 약 10만원의 추가부담이 생긴다. NAT Instance로 구성한다면 EC2 1년 선결제 없는 경우의 예약 인스턴스 […]

AWS VPC 와 서브넷

3 Jul, 2019 - 1 minutes
AWS 의 VPC는 리전 내에 위치하고 서브넷은 AZ내에 위치한다. 한 VPC에 AZ에 대해 여러 서브넷을 둬서 고가용성(HA)를 확보할 수 있다. 서브넷의 통신 방법은 VPC의 라우팅 규칙(Route Tables)을 따른다. 라우팅 규칙은 아이피 대역(CIDR)에 따라 타깃을 설정할 수 있고, 서브넷에 붙이는(associate) 방식으로 서브넷의 통신 방법을 설정할 수 있다. 서브넷과 라우팅 규칙은 1:n 관계이다. 각 서브넷은 한개의 라우팅 […]