DevOps, Infra
APM을 사용하는 이유
APM을 사용하는 이유
2022.07.17APM(Application Performance Monitoring)이란? 간단하게 말해서 내 애플리케이션의 성능을 추적하기 위해 모니터링할 수 있도록 해주는 도구를 말한다. APM을 쓰면 프론트엔드나 백엔드나 인프라(ex. 데이터베이스)의 성능을 계속 추적하면서 확인할 수 있다. 트랜젝션이 갑자기 느려지거나 실패했을 때, APM을 사용하고 있었다면, 아주 빠르게 데이터를 보면서 어디서 문제가 왜 발생했는지 알 수 있게 도와준다. 정확한 정의가 헷갈려서 찾아보니 '성능'과 관련된 기능을 갖추면 APM 툴이라고 그냥 부르는 것 같다. 네트워크 성능을 분석해주는 APM도 있고 Code 수준에서 분석해주는 APM(ex. New Relic)도 있다. 나는 이번에 코드 수준까지 Deep하게 Tracking하면서..
[AWS] Certificate Manager에서 발급 받은 인증서 로드밸런서에 붙이기
[AWS] Certificate Manager에서 발급 받은 인증서 로드밸런서에 붙이기
2022.07.09저번 글([AWS] Certificate Manager를 사용해서 인증서 생성하는 법)에서는 인증서를 AWS 내에서 발급 받았다. 사실 AWS는 정말 여러 곳에서 인증서를 붙일 수 있는데 이번 글에서는 로드 밸런서에서 붙이는 법에 대해서 알아보도록 하자. 준비물 서버 EC2 인스턴스 AWS 내에서 발급된 인증서 로드밸런서에서 인증서 붙이는 법 1. EC2 Load Balancers에서 Create Load Balancer 클릭 EC2로 이동해서 Load Balancing의 Load Balancers로 들어온다 2. Application Load Balancer를 선택한다. 설명을 읽으면 대략 어떤 로드밸런서를 쓸지 알 수 있다. 사진에도 명확하게 표시되어 있다. 나에게는 HTTP, HTTPS가 그려진 A..
[AWS] Certificate Manager를 사용해서 인증서 생성하는 법
[AWS] Certificate Manager를 사용해서 인증서 생성하는 법
2022.07.08AWS 내에서 도메인도 사고 인증서를 생성하면 CloudFront, Elastic LoadBalancing, API Gateway 등에 쉽게 붙여서 쓸 수 있다는 장점이 있다. AWS Certificate Manager에서 인증서를 생성해보자! a.mysite.com, b.mysite.com, ... 인증서는 위와 같은 여러개의 도메인에 대해 발급하고자하면 각각 신청해야 한다. 준비물 도메인 (없다면 Route53에서 구매하자!) AWS 설정을 영어로 바꿔주자 제가 영어 설정을 쓰기 때문에 한국어면 혼란스러울 수 있다. 요금 https://aws.amazon.com/ko/certificate-manager/pricing Certificate Manager를 사용해서 인증서 생성하는 법 1. Route53..
Mac에서 code 명령어가 작동 안 할 때 해결법
Mac에서 code 명령어가 작동 안 할 때 해결법
2022.06.26터미널에서 "code {디렉터리명}"을 쓰면 그 디렉터리를 작업공간으로 열어준다. 종종 Visual Studio Code를 잘 깔아서 code명령어로 잘 쓰고 있는데 갑자기 code 명령어가 안 먹을 때가 있다. 그때의 해결법을 공유해보고자 한다. 발생한 오류는 다음과 같다. $ code . zsh: command not found: code Visual Studio Code 깔려있는데 왜 안돼? 이럴 때마다 code 명령어가 일상이 된 사용자로서 매우 답답하다. command not found: code 해결법 1. Visual Studio Code를 실행한다. 2. Command Palatte를 연다. (단축키: CMD + SHIFT + P) 3. Palette에서 "shell command" 입력 ..
M1에서 Rosetta로 Node 사용하기
M1에서 Rosetta로 Node 사용하기
2022.06.22인텔에서 잘 되는게 M1에서 돌리니 갑자기 에러를 뿜으면서 동작 안했습니다. 이럴 때는 rosetta를 이용해서 Intel로 돌리면 됩니다. 제가 Node 14를 사용하고 싶은데 Node 14버전은 M1을 지원하지 않습니다. 이럴 때 쓸 수 있는 방법입니다. 한번 터미널을 rosetta를 사용해서 arm64가 아닌 intel로 아키텍처로 쉘을 실행해서 Node 14를 사용해보겠습니다. 준비물 애플 실리콘(M1) 맥 nvm 만약에 nvm을 사용하고 있지 않다면 먼저 깔아주세요! (brew install nvm) (iTerm) 굳이 iTerm이 아니더라도 상관없긴 합니다! 다른 터미널 앱에서 똑같이 해도 됩니당. Rosetta로 Node 실행하는 법 1. 현재 쉘의 아키텍처 확인하기 아래의 명령어는 현재 기..
Mac에서 명령어로 Win11 부팅 USB 만들기
Mac에서 명령어로 Win11 부팅 USB 만들기
2022.06.09방금 따끈따끈한 Gram이 도착했다. 하지만 윈도가 아닌 프리도스가 깔린 깡통.. 윈도면 금방 부팅 USB를 만들겠지만 당장 가지고 있는 것은 맥북밖에 없다ㅠ. 찾아보니 참고할 해외 글이 많아서 어렵지는 않았다. 맥북에서 Booting USB를 어떻게 만들었는지 공유해본다. 준비물 Win11 ISO 파일 (다운로드 링크) USB (8GB 이상) MacOS, brew 텅 빈(프리도스) 노트북 Windows11은 마이크로소프트 사이트(여기)에서 한국어판으로 하나 다운받았다. USB가 없어서 편의점에서 가서 제일 싼 SanDisk 16GB짜리를 하나 샀다. 15,000원 정도했다.(그래도 비싸넹 ㅠ). 주의 저도 뭘 알고 한 것이 아니라 이것 저것 찾아보면서 한 것입니다. 이거 따라 하다가 잘못되시면 책임지지..
[GCP] CLI(gcloud) 맥에 설치하기
[GCP] CLI(gcloud) 맥에 설치하기
2022.05.15나는 오늘부터 Google Cloud Platform을 CLI(gcloud)로 사용하기로 했다.. 그동안 웹콘솔로 GCP(Google Cloud Platform)를 사용했다. 웹 콘솔의 불편한 점 화면 로딩이 되는데 좀 걸린다. (그래봤자 보통 3~5초 정도이긴하다.) 똑같은 설정으로 비슷한 인스턴스를 생성 / 삭제 / 방화벽 수정 / ... 비슷한 작업을 계속했다 버튼이 어디에 있었는지 헷갈린다 문서랑 한국어 번역이된 웹콘솔이 미묘하게 달랐다. (물론, 웹콘솔은 영어로 쓰면 해결되긴한다.) 예를 들어서, 가용성 정책의 "광고" 옵션을 공식 문서에서는 "스팟(Spot)"이라고 표현해서 찾느라 애먹은 적이 있다 GCP를 명령어로 하면 뭐가 좋을까? 가벼워서 기다릴 필요가 없다 단순히 IP 주소 확인하려고 ..
Terminal과 Shell
Terminal과 Shell
2022.04.08Terminal(Emulator)이란 대표적인 터미널 몇 개를 나열해보자면 terminal, iterm, xterm, konsole과 같은 프로그램이 있습니다. 리눅스와 같은 환경에서는 이러한 터미널을 통해서 쉘을 실행시켜고 여러 작업을 하게 됩니다. PC를 키면 터미널 프로그램부터 찾게 되죠ㅎㅎ. 세상에는 여러 터미널이 있는데 서로 지원해주는 기능도 다르고 각각의 특색이 있습니다. 사람마다 선호하는 것이 다릅니다. 이러한 터미널로 우리는 심심하게 보일 검은창을 꾸미고 (아니면 오히려 텍스트만 보이도록 하거나) 기능을 확장시킬 수 있습니다. 그래서 터미널 에뮬레이터라고도 부르는 것 같습니다. 저는 iterm2를 사용합니다. 제 터미널 창을 보시면 상단에 "배터리, CPU, RAM" 상태와 SNIPPET을..
Free-tier로 온라인 IDE(AWS Cloud9) 무료로 만드는 법
Free-tier로 온라인 IDE(AWS Cloud9) 무료로 만드는 법
2021.07.18AWS Cloud9이란? Cloud9은 AWS에서 무료로 제공해주는 온라인 웹 IDE 환경입니다. 웹 브라우저만 있다면 링크에 접속해서 사용할 수 있는 온라인 통합 개발 환경입니다. 여기에 AWS 가상 서버나 다른 서버를 붙여서 쓰기도 쉽고 기본적으로 40개 이상의 언어를 지원해주기 때문에 바로 개발을 시작할 수 있습니다. Cloud9 자체는 무료이지만 거기에 붙여서 쓰는 인스턴스나 스토리지는 유료입니다. 프리 티어나 다른 서버가 있으면 무료로 붙여서 사용할 수 있습니다. 자세한 가격 정책에 대해서는 바뀔 수도 있으니 공식 문서에서 찾아보세요! Cloud9에서 지원하는 프로그래밍 언어에 관해서는 여기서 찾아볼 수 있습니다. 방금 만든 Cloud9을 캡쳐한 사진입니다. IDE로 간단한 자바 예제 컴파일도 ..
Vim에서 Vundle 삭제하기
Vim에서 Vundle 삭제하기
2021.03.31깔끔하게 Vundle을 삭제하는 방법 (Linux 기준) 더보기 내가 Vundle을 삭제하는 이유 Vundle은 Vim 플러그인 매니저이다. 현재 PC에서는 Vundle을 만족하면서 사용하고 있다. Vundle은 플러그인 관리를 위해서 여러 가지 기능들을 제공해준다. 예를 들어서, 플러그인이 있는 저장소를 간략하게 설정 파일에 넣어서 플러그인을 설치(:PluginInstall)하거나 플러그인을 검색(:PluginSearch {플러그인명})하거나 업데이트(:PluginUpdate)하거나 사용하지 않는 플러그인을 지우(:PluginClean)거나 플러그인에 변화가 생길 때마다 help tag 자동으로 생성하고 갱신해주는 기능 등이 있다. 그런데 요즘 Vim으로 간단한 스크립팅을 많이 하는데 여러 가지 플러그..
[WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기
[WSL1/WSL2] 홈 디렉터리 위치 :: WSL 홈으로 Windows 파일 옮기기
2020.05.16WSL1에서 C드라이브에 접근해보자 Windows의 드라이브들은 /mnt 디렉터리에 마운트되어 있다. C드라이브에 접근해보자. cd /mnt/c OS Error 13은 파일 시스템의 권한 문제가 생겼을 때 발생합니다. 보시다시피 권한 문제가 발생할 수 있으니 조심해야 한다. Windows에서 WSL1으로 접근해보자 Windows에서는 아래의 Packages 폴더 안의 어딘가에 WSL1이 위치한다. C:\Users\[사용자명]\AppData\Local\Packages\ 내가 깐 배포판명이 포함된 폴더가 그 배포판의 WSL이 실제로 위치하는 경로이다. 만약 Ubuntu 깔았다면 Packages폴더 아래에 Ubuntu라는 단어가 들어간 폴더명이 보일 것이다. 바로 그 폴더가 Ubuntu WSL의 위치다. 그 ..
[리눅스] apt, apt-get의 사용법 비교
[리눅스] apt, apt-get의 사용법 비교
2020.05.01apt = Advanced Packaging Tool, .deb 형식의 패키지들을 관리(설치, 삭제, 업데이트)해주는 툴 apt vs apt-get? 여러 리눅스 패키지들의 문서를 읽다보면 어떤 것은 apt install을 사용해서 설치하라고 하고 어떤 것은 apt-get install을 사용해서 설치하라고 한다. 사실 apt를 쓰든 apt-get을 쓰든 큰 차이는 없다. 그럼 apt와 apt-get의 차이가 뭘까? apt를 쓰든 apt-get(또는 apt-cache)을 쓰든 내부 동작의 차이는 거의 없다. apt-get에서는 옵션들이 많아지다 보니깐 apt에서는 자주 사용하는 옵션들을 추출해서 사용자들이 사용하고 보기 편하게 만들었다. 그래서 apt가 더 예쁘고 추가적인 정보를 출력해준다. 구체적으로 ..