| 테라폼 설치하기 https://learn.hashicorp.com/tutorials/terraform/install-cli?in=terraform/aws-get-started 1.brew tap 명령어 복사 후 실행 2.brew install 실행 테라폼 자동완성 설치 zshrc 파일 확인 cat ~/ .zshrc 그럼 zsh 재시작을 위해 zsh 입력 후 terraform을 입력 후 tab을 눌러보면 밑에 명령어들이 자동으로 확인되는 것을 볼 수 있다. 테라폼 캐시(cache) 설정 https://www.terraform.io/cli/config/config-file 테라폼 설정 중 위와 같은 설정 옵션이 존재하는데 해당 옵션을 설정해주기 위하여 파일 안에 해당 내용을 입력해주자. 그 후 이제 pl..
IaC(Infrastructure as Code) - 네트워크, 로드밸런서, 저장소, 서버 등의 인프라 자원을 수동 설정이 아닌 코드를 이용하여 프로비저닝하고 관리하는 것. - 대표적인 IaC 도구로 테라폼(Terraform) 이 외 CloudFormation, Pulumi, Azure ARM Template)가 있다. 형상관리 (Confuguration Management) - 서버 운영체제 상에 필요한 소프트웨어를 설피하고 원하는 설정으로 관리하는 것. - Configuration as Code 라고 불림 - 대포적인 관리 도구(Ansible, Puppet, Chef, Salt Stack 등) 이미지 빌드(Image Build) - 사진과 같은 것들이 절대 아닙니다~! ( ec2 or 머신들이 디스크..
모놀리식 방법과 MSA(마이크로 서비스 아키텍처) 방식의 차이점? 개인 프로젝트와 회사 프로젝트를 병행하면서 대규모 프로젝트는 어떻게 진행을 할까? (물론 회사에도 MSA 방식이 적용되어있지만 제가 잘 알지 못하기 때문에,,,) 라는 생각을 평소에 갖고 있었는데 오늘은 해당 방식을 어떻게 나누는지에 대해 알아보겠습니다. 모놀리식 아키텍처란? 먼저 모놀리식 아키텍처입니다. 우리가 구현하는 모든 프로젝트는 초반에 모놀리식 아키텍처를 따르게 됩니다. 그렇다면 계속 모놀리식 방법으로 사용해도 괜찮지 않을까?라는 생각이 떠오릅니다. (저도 그랬습니다.) 하지만! 문제는 다음과 같습니다. 간단한 예시로, 자그마한 프로젝트에서 계속하여 기능들이 추가되었다고 생각해봅시다. 처음에는 리스트만 뿌려지는 홈페이지가 나중에는..
AWS프리티어 계정 비용 이슈 대처방법 AWS 처음 사용해보시는 분들이라면 비용이 생각보다 높게 나오고,,, AWS 해지를 까먹어서 비용이 청구되고 그런 경험이 있죠? 저도 그랬습니다.. 그래서 이번에는 AWS 어마무시한 비용청구를 사전에 방지법을 알아보도록 하겠습니다. 종류 1.프리티어 사용량 알림 설정 2.결제 알림 설정 3.트스트 전 비용 검토 4.테스트 후 리소스 정리 5.프리티어 계정이 만료된 경우 대처법 프리티어 사용량 알림 설정 AWS에서 제공하는 프리티어 사용량을 모두 소진한 경우 경고 이메일을 전송하는 방법입니다. 1.로그인 후 우측에서 계정 tab으로 이동하기. 2.다음과 같이 결제 기본 설정에서 이메일을 입력해주세요. AWS 결제 알림 설정 방법 - 결제할 App을 Cloud Watc..
devops가 뭘까 ? 필요한 이유 ? - 소프트웨어 개발은 아래와 같은 라이프사이클, 생애주기를 갖고 있습니다. 데브옵스는 개발과 운영을 통합하여 제품 출시 및 조직의 효율성을 끄렁올리기 위한 문화입니다. 2009년에 시작된 기업의 소프트웨어 개발 방법을 개선하기 위한 움직임입니다. 데브옵스는 조직, 고객, 회사 모두에 이점을 가져다 줄 수 있습니다. 큰 규모의 조직에서는 아래와 같은 역할로 나누어집니다. 과연 데브옵스라는 건 어떻게 하는 것인가? 데브옵스는 개발과 운영의 벽을 허물어 더 빨리 자주 배포하자는 게 목적입니다. AWS가 제안한 데브옵스 실천방법 - 지속적 통합(Continuous Integration) : 개발자가 만든 변경 사항에 대해서 빌드 및 테스트를 진행해본 후 중앙 코드로 통합...
지난번 글에서는 Cookie 문제까지 발생한 글을 적었다. 이번 글에서는 그 Cookie를 어떻게 공유하는지 설명할 예정이다. 먼저 원인은 도메인이 다르기 때문인데 도메인을 일치시켜주려면 도메인을 사면된다 ! 간단하다 ! 일단 도메인 구입 했고 ,, 삥 뜯기는 기분 ... 하지만 난 절대 돈을 비싸게 쓰지 않을거야 그러므로 듣보잡 도메인 구매 ( .com이 아닌 .shop으로 끝나는 ) aws에서 route 53 으로 이동하자 ! 그 후 호스팅 영역탭에서 호스팅 영역을 생성해야하는데 저 도메인 이름에 나는 polodingo.shop 을 입력해줬다 즉, 도메인을 생성한 도메인 이름을 치면 된다 ! 짠 이런식으로 2개가 들어있을텐데 NS 와 SOA 중에 NS 유형에서 값 / 트래픽 라우팅 대상 보면 총 4개..
back server에서 npm install pm2를 설치한 것 처럼 기존 프로젝트 front 경로도 pm2를 설치 후 pull해주자 ! | 알고 가야하는 점 ! 첫 번째, 지금 프로젝트는 nextjs 로 진행했기 때문에 getServerSideProps와 같은 backend에서 먼저 data를 받아와야 하는 함수가 들어있다 따라서 backend 가 무조건 켜져있어야지만 front를 켤 때 오류를 방지할 수 있다 ! 두 번째, 현재 나는 saga 로 상태관리를 하고 있는데, saga 폴더의 index.js에서 나는 axios의 defaults 값으로 baseURL을 지금까지는 axios.defaults.baseURL = 'localhost:3001'; 이렇게 적어주고 사용해왔었다. 하지만 지금 우리가 ..
자 이제 서버 실행도 시켰고 ! 중요한 건 쉘에서 서비스를 중지시키면 홈페이지도 중지가 되버린다.. 이랬던게 이렇게 꺼져버린다. 이게 참 애매한게 그렇다고 해서 항상 백앤드창을 계속 접속할 수 없는 노릇인데.. 이 현상이 노드가 foreground process 로 돌아가서 생기는 문제인데 이러면 shell을 종료했을 때 foreground process도 같이 종료된다. node app 으로 실행하면 foreground process가 된다는 것. foreground process란 ? -> 터미널을 끄면 같이 꺼지는 것 (node app) background process -> 터미널을 꺼도 안 꺼지는 것 오늘은 이걸 해결해보자 먼저 다시 백앤드 서버 실행 엥 ? 오류다 뭐지 ? 이 원인은 우분투(u..