본문 바로가기

전체 글

[JavaScript]fs 라이브러리 💡 참고자료 Node.js fs 모듈 훌륭한 블로그1 훌륭한 블로그2 access log파일의 Line 업데이트를 감시하고, 한 줄씩 다른 애플리케이션으로 전송하고자 한다. 해당 기능을 Node.js로 구현하기 위해 fs 라이브러리가 필요하다 들었다. 감시 기능을 구현하기 앞서, fs 라이브러리가 무엇인지 살펴보고 실습을 해본다. 해당 글은 다음과 같은 순서로 되어있다. 정의 종류 사용법 read, write 실습하기 정의 파일 시스템으로 접근과 상호작용 등 유용한 기능을 제공한다. 설치할 필요없이 require 하여 사용가능하다. const fs = require('fs'); 종류 fs.access(): check if the file exists and Node.js can access it with.. 더보기
accesslog란? 어떻게 사용하지? 💡 참고자료 [IBM, HTTP accesslog] [Sumologic, accesslog] access log란 무엇일까? 해당 글은 다음과 같은 의문에서 시작하여 다음과 같은 순서로 진행된다. access log에 대하여 직접 설정하고 확인해보기 정의 An HTTP access log contains a record of all inbound client requests handled by HTTP endpoints. 아파치 HTTP 서버에서 생성된 로그파일 중 하나이다. 아파치 HTTP 서버로 처리된 모든 요청을 기록한다. 그래서 만약 사용자가 사이트의 웹페이지에 접근한다면, 이 이벤트와 관련된 모든 상세사항을 access log에 기록한다. 위치 Apache2가 설치된 위치에 따라 다른데 linu.. 더보기
EC2의 accesslog를 cloudwatch로 수집하기 EC2에서 apache2를 설치하여 호스팅을 한 후, 수집된 accesslog를 cloudawatch로 푸쉬해, 확인할 수 있도록 한다. 다음과 같은 순서로 진행된다. EC2 설정 apache2 설치 및 호스팅 cloudwatch 에이전트 설치 수집된 로그 확인 EC2 설정 VPC내 퍼블릭 서브넷에 EC2를 생성한다. 인터넷에서 쉽게 접속하기 위해서이다. 퍼블릭 IP 주소를 자동으로 할당하게 한다. 보안그룹을 ssh, http가 접속 가능하게 한다. Ubuntu 20.04를 사용한다. cloudwatch로 전송하기 위해 EC2 역할을 부여해야만 한다. 새 역할을 만들어 cloudwatch full access 를 부여하도록 한다. 역할 권한은 최소화하는게 좋지만, cloudwatch 로그 그룹 생성, 로.. 더보기
[AWS]Cloud Trail로 계정 활동을 추적하자 1. AWS Cloud Trail이란? AWS 계정에 대한 거버넌스, 규정 준수, 운영 및 위험 감사를 활성화하는 데 도움이 되는 AWS 서비스입니다. 계정 활동을 추적하여 혹시모를 위험에 대비하는 서비스이다. 그렇다면 어떤 것을 추적하나? CloudTrail을 사용하여 AWS 인프라 전반에서 계정 활동을 확인, 검색, 다운로드, 보관 및 응답할 수 있습니다. 누가 또는 무엇이 어떤 작업을 수행했는지, 어떤 리소스에 대해 조치가 취해졌는지, 언제 이벤트가 발생했는지, AWS 계정에서 활동 분석 및 응답에 도움이 되는 기타 세부 정보를 식별할 수 있습니다. 특정 계정이 인프라 전반에서 리소스에 대해 어떤 작업을 했는지, 모두 다 추적한다. 그렇다면 대응도 하나? AWS CloudTrail Insights를.. 더보기
[git]레포지토리 private to public: mirroring 프로젝트3는 예제코드를 받아 마이크로 서비스 아키텍처에 따라 인프라를 만들고 데이터의 흐름을 관찰하는 것이었다. 따라서 private 레포지토리를 포크하여 작업하는 방식이었다. private으로 포크된 나의 레포지토리를 이력서에서 잘 열람할 수 있도록 하기 위해선, public으로 바꾸어야 한다. 그러나 포크된 레포지토리임으로 나에게는 그러한 권한이 없다. 그래서 방법을 찾아보았다. Duplicating a repository - GitHub Docs Note: If you have a project hosted on another version control system, you can automatically import your project to GitHub using the GitHub Impo.. 더보기
[git]push할때 오류: Large files detected 부트캠프를 마치고 이력서 작성에 앞서 깃허브를 깔끔하게 만들고 싶었다. 모든 스프린트를 한 레포지토리에 넣어 나중에 볼때도 알아보고 싶었다. 따라서 레포지토리를 파서, 모든 스프린트 폴더를 모은 후 새로 만든 레포지토리에 푸시했다. push가 한번에 제대로 되긴 참 힘들다. 여느때처럼 에러를 뱉어냈다. 에러를 잘 읽어보면, 깃허브가 허용하는 파일 사이즈를 넘었다. 100mb가 넘는 파일은 깃허브에 올릴 수 없다. 아 풀스택 테라폼 스프린트를 진행할때, .tf 상태파일도 함께 있으니 용량이 너무 크겠구나? 그래서 모든 .tf파일을 지웠다. 그런데 계속 에러가 떴다? 구글링에 들어갔다. 원인: 삭제된 파일이 git에 반영이 안되었다. 해결책: 삭제된 파일에 해당하는 캐쉬를 삭제해주어야 한다. 명령어는 다음과.. 더보기
[인터뷰]금융권 취업을 위한 열정 넘치는 클라우드 입문기 1. 간단한 자기소개 반갑습니다, 코드스테이츠 데브옵스 부트캠프 1기 이희성입니다. 2. 코드스테이츠 DevOps 부트캠프 수강 전에는 어떤 일을 하셨나요? 저는 어렸을적 꿈이 나만의 사업을 꾸려나가는 것이었어요. 외국어 고등학교를 나오며 사업은 글로벌하게 운영하는 것이 중요하다 생각했고, 국제무역경제학을 전공하여 경제학에 심취한 대학생활을 했어요. 경제학의 매력에 빠진 저는 한때 금융공기업에서 뜻을 펼치고자 오로지 시험을 위한 공부를 하고 있었어요. 3. 코드스테이츠 부트캠프를 알게 된 계기는 무엇인가요? 미래의 먹거리를 찾아 클라우드 시장을 우연히 알게되었어요. 그러던 중 여러 클라우드관련 부트캠프를 비교했고, 오프라인 프로젝트과정이 많은 코드스테이츠를 선택하게 되었습니다. 4. DevOps 부트캠.. 더보기
[project]ECS에 autoscaling을 적용하기 위해 alb가 필요할까? 1. 문제 상황에 대한 이해 나는 당연히 autoscaling을 적용하기 위해 alb가 필요하다 생각했다. autoscaling을 적용하면, 트래픽이 늘어났을 때 인스턴스 또는 컨테이너가 늘어날 것이고, 그에 따라 새로운 IP가 생성되어 alb가 이를 잡아줘야 한다고 생각했다. 아마 autoscaling과 alb의 개념을 확실하게 모르기 때문에 혼동한 것 같다. 2. 내가 이해한 바와 시도 2-1. ECS를 생성하자 파이널 프로젝트를 진행 중이었다. 소비자가 예약정보를 담은 채 앱에 요청을 보낸다면, 그 내용이 드라이버에 전달되는 간단한 서버를 ECS로 구성했다. 이는 sqs-consumer 코드를 활용하였고, 레퍼런스에 더욱 잘 나와있다. node.js로 간단히 작성된 코드를 레퍼런스를 참고하여 Doc.. 더보기