본문 바로가기

Infra5

🌐AWS VPC 네트워크 구성 - 실무형 설계 Best Practice 시작하며클라우드를 처음 접하면 '서버만 띄우면 되는 거 아냐?' 라고 생각할 수 있다.하지만 실제 서비스에서는 어디에 서버를 두고, 어떻게 보안을 지킬지, 내부 서버끼리는 어떻게 통신할지 등 여러 가지 네트워크 설계가 필요하다.오늘은 AWS에서 클라우드 인프라를 설계할 때 핵심이 되는 VPC (Virtual Private Cloud)와 그 안의 구성 요소들에 대해 알아보자. "왜 퍼블릭과 브라이빗 서브넷을 나눠야 하는지?""왜 NAT 게이트웨이를 사용하는 게 보안상 좋을까?""RDS는 어떤 서브넷에 넣는 게 맞을까?" 이와 같은 질문에 답할 수 있는 기준을 살펴보자 VPC란? : 내가 직접 만든 가상 사설 네트워크쉽게 말해 AWS 안에 나만의 네트워크 공간을 만드는 것이다.예를 들어, 아파트 단지.. 2025. 5. 21.
[AWS] EC2 인스턴스 성능 비교 실험 (ARM vs x86) 실험 목적이번 실험의 목적은 동일한 코드와 워크로드를 다양한 AWS EC2 인스턴스 환경에서 실행해봄으로써, 인스턴스 패밀리 유형, vCPU 수, RAM 용량, 아키텍처에 따라 실제 체감 성능이 어떻게 달라지는지를 분석하는 것이다. 클라우드 환경에서는 비용 최적화가 중요한 이슈인 만큼, 단순히 높은 사양의 인스턴스를 선택하는 것이 아닌, 워크로드의 특성과 인스턴스의 특성 간의 궁합을 이해하고자 했다. 특히 Gravition2 기반 ARM 인스턴스가 비용 대비 성능에서 주목받고 있는 가운데, 기존 ML/AI 연산 중심의 라이브러리(PyTorch)가 ARM에서도 동일한 퍼포먼스를 내는지, 혹은 어떤 부분에서 병목이 발생하는지 등을 직접 측정하여 비교해보고자 한다. 워크로드 = 서버가 처리해야 하는 작업(코.. 2025. 5. 8.
AWS 보안 기본 - 루트 사용자 보호와 IAM 이해하기 AWS 인프라의 보안을 유지하려면 인증(Authentication), 권한 부여(Authorization), IAM(Identity and Access Management) 에 대한 명확한 이해가 필요하다. AWS 루트 사용자 보호Authentication vs AuthorizationAuthentication(인증) : 사용자가 누구인지 확인하는 과정. 예를 들면, 로그인할 때 사용자 이름과 비밀번호를 입력하는 것Authorization(권한 부여) : 인증된 사용자가 무엇을 할 수 있는지를 결정하는 과정. 예를 들어, 특정 S3 버킷을 읽을 수 있는 권한을 갖고 있는지 확인하는 것인증사용자의 ID와 비밀번호, MFA를 사용해 신원을 증명AWS에서는 주로 AWS Management Console,.. 2025. 4. 30.
[AWS] 입문! - AWS에 배포하기 https://sou330.tistory.com/73 [Docker] 입문! - Spring, FastAPI, MySQL 환경설정을 한 번에Docker란?한 마디로 말하면, "앱이 실행되는 환경을 통째로 담은 상자"다. 왜 필요한가?우리가 앱을 실행하려면 여러 설치물이 필요하다. (운영체제 버전, 언어 런타임, 외부 라이브러리, 포트 설sou330.tistory.com지난 포스트에서 Docker로 Spring, FastAPI, MySQL 환경을 컨테이너화했다면,이제는 그걸 AWS에 올려보자. AWS 배포 흐름을 제대로 이해하려면, 기본적인 개념부터 알고 있는 것이 중요하다.단순히 따라하기보다는 각 기능의 역할을 이해해두면, 에러 발생 시에도 원인을 빠르게 파악하고 스스로 해결할 수 있다. AWS.. 2025. 4. 16.
[Docker] 입문! - Spring, FastAPI, MySQL 환경설정을 한 번에 Docker란?한 마디로 말하면, "앱이 실행되는 환경을 통째로 담은 상자"다.  왜 필요한가?우리가 앱을 실행하려면 여러 설치물이 필요하다. (운영체제 버전, 언어 런타임, 외부 라이브러리, 포트 설정 등)이걸 다 설치하고 맞추는 게 너무 번거롭고, 누군가한테 똑같이 넘겨주기도 어렵다.프로젝트를 하다보면 나한테는 잘만 돌아가는 코드가 다른 팀원에는 오류 투성이일 때가 있다. 이게 환경차이 때문인데,Docker는 이 모든 걸 미리 설정한 환경으로 포장해서 누구든 어디서든 "똑같은 환경에서" 실행할 수 있게 해준다.     핵심 개념Dockerfile : "이 앱은 이런 환경에서 실행돼요"라는 설정 파일(레시피)이미지 : Dockerfile로 만든 앱 실행 설계도컨테이너 : 이미지를 실행시킨 실제 인스턴스.. 2025. 3. 29.