목록전체 글 (8)
Re:Build
5월 8일 밤 11시.알바 퇴근하고 집에 들어와 맥북을 열었는데, 인터넷이 안 됐다. 가장 먼저 한 건 macOS의 networkQuality 명령어로 속도 측정. 평소에도 Wifi가 좀 이상하다 싶을 때 바로 꺼내는 명령어다. 근데 딜레이가 있더니, 그냥 끊겼다. 측정 자체가 안 됐다.공유기 점검종종 공유기가 맛이 가는 경우가 있으니까, 일단 인터넷 포트에 꽂힌 랜선을 뺐다가 다시 껴봤다. 재측정. 역시 안 됐다. 공유기 재부팅, 초기화, 전원 뽑았다 다시 켜기. 다 해봤다. 다 안 됐다. 그래서 게이트웨이로 ping을 날려봤다. 패킷 손실이 몇 개 있긴 했지만, ping 자체는 통했다. 근데 ping 8.8.8.8, ping google.com은 전부 막혔다. 외부와 연결이 아예 안 되는 상태였다.마..
돌이켜 보면, 4월은 꽤 많이 움직인 달이었다. 프로젝트 하나를 끝내면 다음 프로젝트가 이어졌고, 그 흐름이 계속 이어져 갔다. 뭔가 대단한 걸 완성했다는 느낌보다는, 조금씩 쌓이고 있다는 감각. 그게 이번 달의 전부였던 것 같다.두 번째 프로젝트 → 세 번째 프로젝트로컬 VM에서 만들었던 방명록 웹 페이지를 AWS EC2 3대로 옮기면서 두 번째 프로젝트를 마무리했다. VPC, 서브넷, IGW, 라우팅 테이블, NAT 인스턴스. 직접 손으로 만지면서 AWS가 어떻게 생겼는지 처음으로 제대로 감을 잡았다. 세 번째 프로젝트에서는 본격적으로 확장했다. RDS, ALB, EC2(ASG), S3, CloudFront를 붙여서 클라우드 네이티브 인프라 형태로 배포해봤다. 이 단계의 목표는 딱 하나, 데이터가 어..
4월 8일 마지막 포스팅 이후 꽤 오랜 시간이 지났다. 그동한 단순히 이론 공부만 한 것이 아니라, 실제 서비스 환경을 구축해 보며 AWS와 Terraform에 익숙해지는 시간을 가졌다. 처음에는 기존 VM(Rocky Linux 9) 환경의 방명록을 AWS EC2 3대로 옮기는 마이그레이션을 진행했고, 이후 본격적으로 인프라 자체를 클라우드 환경에 최적화하는 Cloud Native 프로젝트로 확장했다. 인프라 구성이 거의 완성될 즈음, 작성한 코드를 혼자 리뷰하며 훑어보는데 가장 기초가 되는 VPC 설정에서 이런 의문이 들었다."왜 cidr_block의 값은 10.0.0.0/16이지?"resource "aws_vpc" "vpc" { cidr_block = "10.0.0.0/16" # 바로 이 부분! ..
저번 포스팅에서 DB 서버 구축에 대해 다뤘다. 이번 글에서는 내 프로젝트 마지막 구성요소인 WAS 서버 구축, 그리고 Web 서버 리버스 프록시 설정과 최종 결과물에 대해 작성하고자 한다. Python & FastAPIWAS 서버에 배포할 백엔드 프레임워크는 FastAPI다. 대학교 졸업 작품 프로젝트에서 우리 팀은 빠르게 구현할 수 있는 FastAPI를 사용하기로 했었는데, 그 덕에 uvicorn 명령어를 질리도록 입력해 본 경험이 있다. 그래서 나에게 익숙하기도 하고, 빠르게 배포할 수 있는 FastAPI를 사용하기로 했다. 우선 아래의 명령어로 필요한 라이브러리를 설치했다.sudo dnf install -y python3-pipsudo pip3 install fastapi uvicorn mysql..
지난 포스팅에서는 Web 서버에 Nginx를 설치하고, 방화벽 설정과 SELinux 설정을 통해 웹 사이트를 배포하는 내용에 대해 작성했다. 다음으로 다룰 내용은 DB 서버 구축이다. 3-Tier 서버 구축에 대한 순서를 알아보다가 실제로는 DB-WAS-Web 순으로 구축한다는 것을 알게 되었고, 나는 이미 Web 서버를 먼저 구축했지만 이 순서를 지키기 위해 DB 서버 구축을 시작했다.하위 계층(Data)이 먼저 준비되어야 상위 서비스(WAS, Web)가 실행될 때 연결 오류 없이 정상적으로 로드될 수 있다는 이유 때문이라고 한다.MariaDB일단 DB 서버 구축에서 제일 중요한 것은 이름부터 알 수 있듯이 '데이터베이스' 구축이다. 나는 MariaDB를 사용해 보기로 했다. 많은 RDBMS(관계형 데..
지난 4월 4일의 포스팅 때, AWS SAA 자격증 시험을 본격적으로 준비하기 앞서, 일단 로컬 VM으로 간단한 프로젝트를 먼저 해보겠다고 말했다. 지난 3일 동안 열심히 삽질을 했고, 어느 정도 완성되었다. 프로젝트를 진행하면서 느꼈던 어려움들을 공유하고, 몰랐던 개념들을 정리하고자 첫 번째 인프라 구축 프로젝트 포스팅을 작성하게 되었다.프로젝트 주제주제는 간단한 방명록 웹 사이트로 잡았다. 화려한 기능은 없고, 웹 서버에서 텍스트 작성 후 등록 버튼을 누르면 WAS로 넘어가고, WAS가 DB 서버에 접근하여 GET or POST 요청을 대신 날리는 간단한 서비스다. 복잡하고 많은 기능을 구현하기엔 인프라 구축보다 웹 서비스 개발에 힘을 더 많이 쓸 것 같아서 최대한 생성형 AI의 도움을 받을 수 있는..
3월이 끝났다.1월부터 쭉 되돌아보면 꽤 바빴던 것(?) 같다. 3개월간 내가 이룬 것들이 사소할지언정, 이런 것들도 기록으로 남기려고 한다.한 줄 요약"하면 된다."리눅스마스터 2급, 합격3월 14일, 시험을 치렀다. 가채점 결과는 83.75점. 가채점과 동일한 점수로 4월 3일, 공식 합격 통보를 받았다. 대학교 2학년 때 전공 과목으로 리눅스를 배우긴 했다. 그런데 막상 리눅스마스터 2급을 준비하면서 느낀 건, 그때 배운 건 정말 '수박 겉핥기'에 가까웠다는 것이다. 파일 시스템 구조, 네트워크 설정 등 그때는 몰랐던 것들이 많았다. 클라우드 엔지니어를 목표로 잡고 나서 리눅스마스터를 첫 번째 목표로 세운 건, 지금 생각해도 잘한 선택인 것 같다. 리눅스는 인프라의 기초이고, 이걸 제대로 다지지 않..
날씨가 많이 따뜻해졌다. 졸업 유예를 하고 맞이하는 첫 봄인데, 나는 유난히 봄을 많이 타는 것 같다. 새로운 목표인 클라우드 엔지니어를 향해 나아가고 있으면서도 마음 한켠이 싱숭생숭한 건, 계절 탓만은 아닌 것 같기도 하다. 이런 마음을 어떻게 다스릴까 고민하다가, 공부 기록을 블로그에 써 내려가다 보면 조금은 정리가 되지 않을까 싶어 이 글을 시작한다.나는 어떤 사람인가2019년, 사물인터넷(IoT)학과에 입학했다. 사실 원래 지망한 건 건축학과였다. 수시 5장을 건축학과에 썼고, 나머지 한 장을 재밌어 보인다는 이유로 사물인터넷학과에 냈다. 결과는 예상 밖이었다. 건축학과는 전부 떨어졌고, 사물인터넷학과에 붙었다. 그때 크게 흔들리지 않았던 건, 어릴 때부터 컴퓨터를 좋아했기 때문이다. 재수는 고민..