Architecture (7) 썸네일형 리스트형 [AWS] AWS에서의 Public 및 Private Subnet 설정 HTML 삽입 미리보기할 수 없는 소스 개요 도메인을 구입하고 AWS와 연결해야 되는 경우 Route53, ELB, 대상그룹, EC2로 환경을 구성했다. 이러한 구성은 간단하고 빨리 결과를 만들어 노출시키고 싶은 경우 이용하는 방법이었다. 코드를 수정하고 작업 결과를 반영시키기에도 빠른 방법이었는데 이는 EC2에 EIP 혹은 Public 옵션을 주었기에 가능한 일이었다. EC2의 IP가 외부로 노출되는 것이 꺼려지기에 EC2를 Private Instance로 만들었지만 해당 EC2에 접근하기 위해 어떤 환경을 준비하면 될까? 사실 이 내용은 AWS를 공부할 때 접하는 Public/Private Subnet 설정에 관한 것이다. 이 포스팅에서는 이에 관련된 내용을 기록해보려 한다. 1. VPC VPC를 먼.. [DDD] Entity란? HTML 삽입 미리보기할 수 없는 소스 개요 Domain Driven Design(이하 DDD)를 처음 접했을 때 참 매력적인 주제라 생각했다. 개발을 시작하고 2년 차에 접어든 무렵에 알게 된 주제였는데 "코드"를 어떤 관점에서 바라보고 작성해야 되는지의 시야를 넓혀주었기 때문이다. 이때 당시엔 DDD에서 말하는 개념들이 너무 생소한지라 그런가 보다라며 다른 주제에 관심을 돌렸었다. 어느 정도의 시간이 지나고 Sping의 MVC의 패턴을 접하게 되었는데 역할에 따라 구성된 코드 구조를 보면서 이를 Python으로 옮긴다면 단순히 MVC 패턴이 아닌 "무엇"을 더해 코드를 구성하면 좋을까로 고민이 이어졌다. 그러던 와중 예전에 펼쳐서 읽어봤던 "DDD"에 관련한 책을 다시 읽으면서 Python으로 DDD.. [AWS] EC2(Amazon Linux 2023)에 Service 파일 생성하기 HTML 삽입 미리보기할 수 없는 소스 개요 (추후 작업할 때 참고할 용도로 작성하는 글이다.) systemd? 왜 쓰는가? EC2에서는 Django, Flask, FastAPI 혹은 Daemon을 실행시키기 위해서는 system daemon을 이용해야한다. 이는 linux os에서 특정 프로그램을 상시 가동시킬 수 있게 만들어준다. (단순히 코드를 실행시키는 main.py만 실행시키고 terminal session을 종료하면 같이 종료된다) 1. Service File Service File은 대략 다음과 같이 생겼다. [Unit] Description=PROJECT SERVICE After=network.target [Service] User=ec2-user WorkingDirectory=/proje.. [AWS] EC2(Amazon Linux 2023)에 Python 설치하기 HTML 삽입 미리보기할 수 없는 소스 개요 Python Project 배포용으로 AWS EC2의 Amzon Linux 2023을 선택한 경우 사전에 필요한 명령어들이다 1. Setting Command 패키지 업데이트 sudo yum update -y sudo yum groupinstall "Development Tools" -y sudo yum erase openssl-devel -y 이후 Python을 설치하기 전 필요한 패키지들을 설치해주자. sudo yum install openssl-devel libffi-devel bzip2-devel wget -y 2. Python 설치하기 다음은 Python3.10 버전의 Source를 받아 Compile 을 통해 설치하는 경우이다. wget https.. [GCP] GCP Project 설정하기 HTML 삽입 미리보기할 수 없는 소스 개요 Google API를 사용하기 위한 GCP 설정에 대해 기술한 글입니다. GCP Setting 먼저 Google API, 그중에서 Youtube API를 사용하기 위한 GCP Setting에 대한 방법을 나열하겠습니다. GCP Project 생성하기 이후 Project가 생성된 “Google Cloud” 로고를 클릭해서 생성한 Project로 이동하면 다음과 같은 화면이 나옵니다. GCP Library Setting “개요”에서 언급했듯이 제가 사용할 Google API는 Youtube와 관련된 API입니다. 빨간색 박스로 표시한 “라이브러리” 탭을 클릭하면 다음과 같은 화면이 나옵니다. “Youtube”라는 키워드로 검색하면 결과가 여럿 나오지만 그중에서 필.. [AWS]ECS에 Python Script Scheduling 적용하기 개요 요즘엔 프로젝트나 개인 Repository에도 소스를 작성하면 거의 도커라이징을 적용하고 있습니다. 어떤 환경(집, 카페, 다른 장소)에서든 스펙에 맞춰 실행하면 빠른 개발 환경을 구성할 수 있어 편리하기 때문이죠. 보통 Django나 Flask를 도커라이징을 많이 적용했습니다만 이번에 겪은 일은 특정 시간에 한 번만 실행하는 Python Script를 컨테이너로 만들어서 ECS에 올려야 했습니다. ECS가 뭔데? ECS는 Elastic Container Service로 클러스터에서 컨테이너를 쉽게 실행, 중지, 및 관리할 수 있게 해주는 컨테이너 관리 서비스입니다. ECS를 사용하기 이전에 먼저 설정해줘야 하는 부분들이 있는데 바로 'ECR'과 'Task Definition'입니다. ECR은 El.. [AWS] App Runner를 사용해보자. AWS App Runner를 사용하면 컨테이너나 인프라를 배포하고 관리하는 경험이 없는 팀에서 조차도 작성된 언어에 관계없이 웹 앱과 API를 클라우드에 쉽게 배포할 수 있습니다. 이 서비스에는 AWS 운영 및 보안 모범 사례가 내장되어 있으며, 즉시 자동 확장 또는 축소되므로 완전 시작을 걱정할 필요가 없습니다. ... https://aws.amazon.com/ko/blogs/korea/app-runner-from-code-to-scalable-secure-web-apps/ HTML 삽입 미리보기할 수 없는 소스 개요 재미난 주제 없나 하고 구글링 하던 중 AWS App Runner에 대해 접하게 되었습니다. 과거 ECS에서 Fargate랑 EC2를 이용해 컨테이너를 올려봤던 게 생각났는데 인용문에서도.. 이전 1 다음