오늘은 회사에서 Lambda 를 이용해 sns 메시지를 가공해서 Teams 메시지를 전송하는 작업을 진행했다. Python 코드 작성 중 해당 에러가 나왔고, 코드 상 다른 부분은 문제가 없는데 하위의 에러가 발생 했다. 28:20.466ZRequest failed: 500 Internal Server Error 500 에러가 발생해서 뭔가 timeout이나 config 설정 중 문제가 있겠거니 생각을 하고 config를 먼저 확인 했는데 별 다른 문제가 없었다. 그렇다면 뭐가 문제일까?? 뭔가 직감적으로 http 통신을 하는 과정에서 json req를 잘못 보내거나 통신 상 문제가 발생한다고 생각했고, json 형식의 파일을 POST로 날리지 않아서 그런것은 아닌가 생각이 들었다. (Slack 전송 코..
정의서비스 메시란 서비스가 서로 통신하여 애플리케이션 수명 주기 전반에 걸쳐 데이터와 일관성을 공유할 수 있도록 미리 구성된 애플리케이션 서비스입니다. 서비스 메시는 얇고 쓰기 가능한 컨테이너 레이어를 사용하여 마이크로서비스를 관리하는 데 사용됩니다. 쉽게 설정하고 배포할 수 있도록 구축된 서비스 메시는 마이크로서비스의 가치를 실현하여 기업이 새로운 서비스를 쉽게 발견하고 API 제품으로 관리할 수 있도록 지원합니다. 서비스 또는 애플리케이션 간 연결을 관리하기 위해 모니터링, 로깅, 트레이싱, 트래픽 제어와 같은 기능을 제공하며, 이런 기능들은 각 서비스의 코드와 독립적이므로 네트워크 경계를 넘어 여러 서비스 관리 시스템에서 작동 가능하다.서비스 메시는 애플리케이션 컨테이너와 함께 작동하는 경량 프록시..
오늘은 컴퓨터 구조에 대해서 정리해 봤다. 컴퓨터 구조를 정확하게는 모르고 있기 때문에 운영 체제가 어떻게 동작하는지를 이해하는 데에도 어려움이 있었어서 정리 해보면 좋을 것 같다고 생각을 했었다. 컴퓨터 구성요소 컴퓨터 구성요소는 크게 소프트웨어와 하드웨어로 이루어져 있다. 하드웨어는 크게 CPU, 메모리, 디스크, 입출력장치(IO),메인보드와 시스템 버스로 나누어져 있다. 그리고 소프트 웨어는 크게 나누어져 있진 않고 시스템 소프트웨어, 응용 소프트웨어가 있다. 먼저 하드웨어에 대한 설명을 해보도록 한다. CPU CPU는 Central Processing Unit 즉 중앙 처리 장치라고 한다. 중앙 처리장치란 연산 작용을 하는 것이다. 프로그램이라는 것에 속해 있는 명령어나 함수를 열심히 수행하고 그..
오늘은 회사에서 CodeCommit에서 git clone을 이용해 소스를 불러오는 중 오류가 발생해 해당 오류를 해결 했다. 현상 : (MFA 강제 역할이 할당 되어있는) 일반 IAM 사용자 권한으로 aws configure을 진행하고 CodeCommit git clone 을 위한 가이드를 모두 수행 후 git clone 시 "fatal: unable to access 'https://git-codecommit.': The requested URL returned error: 403" 에러가 발생 혹시 권한 문제인지 Role 을 확인 해보았지만 문제가 없다고 생각 했다. 모든 사용자가 동일해서 더 혼란스러웠음 해결 과정 : 모든 사용자가 동일한 역할을 갖고 있어 로컬 서버 내부 설정 오류로 인지하고 .g..
오늘은 회사에서 Window OS의 EC2 인스턴스에 CloudWatch Agent 설치 중 오류가 발생했다.문제는 이렇다 EC2 인스턴스에 Agent를 설치하기 위해 패키지를 받고 패키지 설치가 완료 된 후 명령어를 실행해 Agent가 Running 상태인 것 까지 확인 했는데 CWAgent 라는 Default 네임 스페이스로 CloudWatch 에서 메트릭이 수집이 되지 않았다.총 6개 정도의 대상에 Agent를 설치 했으며, 1개를 제외한 나머지 대상은 같은 Account에 서버가 구성 되어 있다. (멀티 Account 환경)설치 과정에서 발생한 로그를 확인 해보니ec2tagger processor required because append_dimensions is setcloudwatch agen..
보통 서버를 구성한 후 api 통신을 이용할 때 localhost:포트 형식으로 테스트를 진행하곤 한다. ex) swagger, web 통신하는 방법 및 차이가 궁금해서 정리를 해 보았다. 정의 우리가 보통 서버와 서버 간 통신을 진행하게 되면 IP to IP 로 하게 되는데 (DNS 구성하지 않은 경우) 왜 localhost라는 네임으로 통신이 되는건가? 윈도우 환경을 예시로 들면 C:\Windows\System32\drivers\etc 위치에 있는 hosts 파일에 있다. (리눅스에선 /etc/hosts) OS를 많이 다뤄본 사람은 알겠지만 localhost 로 접근 시 127.0.0.1 로 접근 하도록 도와주는 동작을 한다. 왜? 127.0.0.1 로 기억하는 것보다 localhost 로 기억하는 ..
추천 블로그 (개인적의견)카카오44BITS채널톡SK 데보션 국내강남언니https://blog.gangnamunni.com/blog/server/devops나 aws 관련 내용은 조금 없으나 server 관련 태그로 검색 시 유용한 듯올리브영https://oliveyoung.tech/tag/DevOps/DevOps 관련 게시물은 몇개 없으나 문화나 올리브영 구성 등 다양한 게시물 존재네이버 플레이스https://medium.com/naver-place-dev/latest개발자 분들이 보면 좋을만한 얘기가 많음따로 키워드가 나누어져 있진 않아 조금 불편카카오https://tech.kakao.com/tag/devops/devops 태그가 존재해서 좋음devops 외에도 kubernetes 관련 게시물도 있음넷..
정의 동기(Synchronous)란? 동기란 요청의 응답에 따라 순차적으로 작업을 수행하는 통신이다. A 요청과 B 요청이 있다고 가정했을 때 A 요청을 보내고 A 응답을 받고 B 요청을 보내고 B 요청을 받는 것 처럼 순차적으로 작업을 수행하게 되는 것을 동기 통신이라고 한다. 즉, 작업에 대한 순서를 보장하는 통신이라고 생각든다.동기 통신 같은 경우 순서를 무조건 적으로 보장 해야하는 작업을 할 경우 용이하다. 하지만 데이터베이스와의 통신 또는 다중 작업을 진행 할 경우 한 개의 통신이 끝나기 전까진 다른 통신은 하지 못하니 비효율 적일 것이다. 비동기(Asynchronous)란? 비동기란 요청의 응답에 따라 순차적으로 진행하지 않아도 되는 통신이다. A 요청과 B 요청이 있다고 가정했을 때 A 요청..
트레이싱(Tracing)정의트레이싱이란 요청이 애플리케이션을 통해 전파될 때 요청이 취하는 경로를 기록하는 관찰 가능성 도구 입니다 . 트레이싱은 특정 요청에 대한 응답으로 시스템이 수행하는 활동을 연결하는 데 도움이 됩니다. 또한 트레이싱은 이러한 활동에 대한 타이밍 정보(예: 시작 시간, 기간 등)를 제공합니다. 트레이싱은 프로그램 실행에 대한 정보를 기록하기 위해 로깅을 특수하게 사용하는 것과 관련된다. 이 정보는 일반적으로 프로그래머가 디버깅 목적으로 사용하고 추가로 트레이싱 로그에 포함된 정보의 유형과 세부 정보에 따라 숙련된 시스템 관리자나 기술 지원 담당자 및 소프트웨어 모니터링 도구가 소프트웨어의 일반적인 문제를 진단하는 데 사용한다.로깅이 이벤트에 의해 트리거되는 개별 로그에 대한 정보를..