목록전체 글 (279)
ecsimsw

AWS Cloudwatch Agent AWS Cloudwatch로 인스턴스 상태를 확인, 관리할 수 있다. CloudWatch에서 기본적으로 제공하는 cpu 사용률, 네트워크 패킷 수 외에도, 다음을 따라 Cloudwatch agent를 이용하면 해당 인스턴스의 메모리와 디스크 사용률까지도 확인할 수 있다. 적용한 Cloudwatch 대시보드는 아래와 같다. 1. IAM role, ec2 cloudwatch API 생성 2. 원하는 ec2 인스턴스에 해당 role 적용 3. 우분투 기준, CloudWatchAgent 다운로드 및 설치 wget https://s3.amazonaws.com/amazoncloudwatch-agent/ubuntu/amd64/latest/amazon-cloudwatch-..

배경 이번 프로젝트의 경우에는 jdk8이 문제가 없던 상황에서 잘 쓰다가 jdk11이 필요한 상황이었다. 예를 들면 rabbitMQ나 sonarqube를 사용하는데 11 이상이 필요한 것을 확인했다. dev 서버, prod 서버, 프론트 서버, 딥러닝 학습 서버,,, 이번 프로젝트 안에서 기존에 젠킨스 설정을 잡아둔게 너무 많아 새로 젠킨스를 설치할 수는 없었고, 결국 버전을 바꾸기로 했다. 그 과정이 명확하게 설명이 된 블로그가 없길래 한번 정리해본다. default version : 8 도커를 이용해서 젠킨스 설치 시 기본으로 설치되는 jdk 버전은 8이다. 젠킨스 서버 내부에서 jdk 를 설치하고, 버전을 지정할 수 있는데 무료는 젠킨스9 까지이다. 그런데 젠킨스에서 설치 지원을 안한다는거지 젠킨스..
이끌기 위한 용기는 없고, 따르기 위한 존중도 없고.'이끌든지, 따르든지, 비키든지'. CNN 창업자 테드 터너가 한 말이라고 한다. 이전까지는 이렇게까지 와닿지 않았는데, 이번 팀 미션을 하면서 크게 공감한 말이다. 저 한 문장은 내 잘못된 태도와 앞으로 어떻게 바뀌어야 하는지를 모두 포함하고 있었다. 프로젝트 초반에 열정이 앞서 의견을 마구마구 내었다. 물론 의견을 잘 내주고 대화에 참여해주는 것은 중요하다고 생각한다. 문제는 나는 비판만을 말했다. 스스로도 모호하고, 정확히 알지 못하면서, 투덜대기만 했다. 성장을 위해서 비판이 분명히 필요한 것은 맞지만, 내 비판은 성장을 위하지 않았다. 그저 '뭔가 거슬리고, 내 것과 다르다' 라는 생각 아래 문제점을 찾았던 것 같다. 어느 순간부터 내가 문제 ..
그런 REST API로 괜찮은가지금껏 RESTful 한 API를 설계하고 있는 줄 알았다. 'REST API 설계 가이드'를 구글링하고 다른 블로그 들에서 소개하는 REST API 형식에 따라 적절한 요청 메소드와 URL, 에러 코드와 응답 내용만 맞추면 그게 RESTful 하다고 생각하고 있었다. 이응준님의 그런 REST API로 괜찮은가 세미나를 보고, 그 생각이 완전히 부서졌다. 지금 내 설계를 REST API라는 단어로 표현하면, REST API를 처음 소개하고 제안한 로이 필딩이 노하실 것이다. 그래서 왜 Rest API라고 불리우는 인터페이스들이 로이 필딩이 제안한 RESTful이 아닌 건지, 그럼 진짜 REST API는 어떻게 만드는 건지 정리하고자 한다. "I am getting fru..

저는 현업을 경험해본 적 없는 학생입니다..내 브랜치 전략을 소개하기 앞서, 아직 현업에서 일해본 경험이 없는 아무것도 모르는 학부생이 쓴 글임을 미리 알리고 싶다. 현업과 괴리가 크거나 정확하지 못하고, 이상한 규칙도 많을 것 같아 조심스럽다. 그래서 'A는 B다'의 문장보다는, '~하는 것을 좋아한다.' , '~ 하는 편이다.'와 같은 내 생각이나 경험 위주의 정보가 9할일 것 같다. 이 글은 내 후배들을 위해서 쓰게 되었다. 2학년 후배들이 깃으로 협업을 해보고 싶은데, 공부 방향을 못 잡고 방법을 물어보는 경우가 많았고, 부족하지만 내가 깃으로 협업한 경험과 조심해야할 팁을 정리해주고 싶었다. 0. 기본적인 키워드는 구글링으로!대신 기본적인 키워드는 알고 오는 것이 숙제다. 자바로 치자면 '협업..

Flyway 소개하기https://www.youtube.com/watch?v=pxDlj5jA9z4 DB MigrationDB Migration의 필요를 모를 수 있다. 솔직히 나는 몰랐다. 배포 후 데이터를 관리해본 경험이 없었고, 유지 보수 중 스키마 구조가 바뀌는 상황에 어떻게 대처하는지 생각해본 적 없었다. 사실 flyway를 검색하면 사용 방법이 아주 자세히 잘 나와있다. 그런데도 내가 이 글을 쓰는 이유는 배포 후 DB를 관리하고 유지 보수 해본 경험이 전혀 없는 학생들에게 '당신에게 곧 이런 문제 사항이 생길 것이고, flyway라는 툴은 이걸 이렇게 풀어준다.'를 소개하고 싶었다. 나중에 그런 경험을 만났을 때, 'DB Migration 또는 Flyway tool 라는 키워드가 있었던 거 ..

Slack으로 Github 알림 받기 / Github 앱 설정하기 팀 프로젝트를 진행하면서 깃헙의 알림을 메일이 아닌 자주 사용하는 메신저로 받을 수 있는 방법을 찾게 되었다. 특히 이슈를 올렸을 때 즉각 확인할 수 있도록 하고 싶었다. 슬랙의 Github 앱을 사용하면 지정한 레포지토리의 이벤트를 알림으로 받을 수 있다. 또는 슬랙 내에서 issue를 close하거나 새로운 이슈를 등록할 수 있다. 특히 레벨3에서 협업 미션을 진행하고 있는 다른 우테코 팀들에게 추천하고 싶어 글을 작성하게 되었다. Github App 설정하기 1. Slack Github App을 추가한다. 2. 알림을 받을 채널을 선택한다. 슬랙 앱 추가할 때 Select Channels 설정에서 알림 받을 채널을 설정할 수 있다. ..
젠킨스 삽질 과정에서 배운 것들 Jenkins를 설정하면서 다음을 배웠다. 1. 리눅스 가상 메모리 설정 (스왑 파일 생성) aws 프리티어 인스턴스가 지나치게 느려 메모리 문제임을 확인하고 가상 메모리를 설정하였다. 코틀린 빌드 시간이 말도 안되게 느렸고, 가상 메모리로 해당 문제를 해결할 수 있었다. (결국 용량 문제로 Medium으로 갈아탔다.. ) 스왑 파일을 사용하여 Amazon EC2 인스턴스의 스왑 공간으로 메모리 할당 1. dd 명령을 사용하여 루트 파일 시스템에 스왑 파일을 생성합니다. 명령에서 bs는 블록 크기이고 count는 블록 수입니다. 스왑 파일의 크기는 dd 명령의 블록 크기 옵션에 블록 수 옵션을 곱 aws.amazon.com 2. 리눅스 포트포워딩 (iptables) 젠킨스..