본문 바로가기

전체 글45

Azure PaaS로 구축하는 3-Tier 이미지 업로드 웹 서비스 — 엔터프라이즈 아키텍처 완전 가이드 이 글에서 다루는 내용:Azure App Service · Blob Storage · VNet 분리 · Deployment Slot(Blue/Green 배포) · Private Endpoint · 보안 설계까지실무 수준의 3-Tier 클라우드 아키텍처를 처음부터 끝까지 설계합니다. 1. 왜 PaaS 기반 3-Tier 아키텍처인가?클라우드 서비스를 공부할 때 많은 분들이 단순한 VM 배포, 또는 단일 Web App 구성에서 멈춥니다. 하지만 실제 기업 환경에서는 다음 요소들이 반드시 요구됩니다.역할 분리: Frontend, Backend API, Storage가 명확하게 분리된 계층 구조네트워크 격리: 외부에 노출되어서는 안 되는 리소스를 VNet으로 보호무중단 배포: 서비스 중단 없이 새 버전을 릴리스할.. 2026. 3. 18.
Azure VM에서 OpenAI API를 안전하게 연결해 AI 챗봇을 완성하는 방법 Azure VM 2대로 FE/BE를 분리하고 OpenAI API를 안전하게 연결해 AI 챗봇을 완성하는 전 과정을 정리했습니다. API Key 보호 구조, NSG 포트 설정, IIS Reverse Proxy, Node.js 서버 구성, PM2 배포까지 단계별로 설명합니다.1. 실습 목적 — 이 글이 다루는 범위AI 챗봇을 만드는 방법은 많다. 하지만 대부분의 입문 예제는 "작동하는 것"에만 집중하고, 실제 서비스 환경에서 필요한 보안 구조를 다루지 않는다.이번 실습의 목표는 다음과 같다.Azure에서 VM 2대(FE / BE)를 분리해 역할별 서버 구조 구성하기OpenAI API Key를 브라우저에 노출하지 않고 서버에서만 관리하기Azure 콘솔에서 OpenAI 리소스를 생성하고 모델을 배포하는 절차 이.. 2026. 3. 2.
Azure에서 FE/BE VM 분리했을 때 외부 접속이 안 되는 이유와 Reverse Proxy 설정법 Azure에서 VM을 2대로 구성했는데 내부 IP로 외부 접속이 되지 않는 문제를 해결한 과정입니다. 공인 IP와 사설 IP 차이, IIS Reverse Proxy 설정, ERR_CONNECTION_TIMED_OUT 원인까지 정리했습니다.1. 실습 목적 — 왜 이 구성을 시도했는가단순히 챗봇 하나를 만드는 게 목적이었다면 VM 한 대로도 충분했을 것이다. 하지만 이번 실습에서는 실제 서비스와 유사한 3계층 아키텍처(Frontend / Backend / API) 를 직접 경험하는 것이 목표였다.구체적으로는 다음 네 가지를 확인하고 싶었다.Azure VM 2대를 역할별로 분리해 서비스 구조를 구성할 수 있는가공인 IP와 사설 IP(Private IP)의 실질적인 차이를 체감할 수 있는가내부망 서버를 외부에서.. 2026. 3. 2.
Azure 부하분산기 실습 — 새로고침할 때마다 서버1, 서버2가 번갈아 나오는 구조 직접 만들어봤다 오늘 실습 목표는 하나였다. 브라우저에서 ALB 공인 IP로 접속하고 새로고침을 누를 때마다 "서버1 작동중"과 "서버2 작동중"이 번갈아 나오게 만드는 것. 이게 되면 부하분산이 실제로 동작한다는 증거다.AWS 실습 때 ALB를 배웠는데, Azure는 구성 방식이 달랐다. 특히 가용성 집합(Availability Set) 개념이 AWS의 Auto Scaling Group이랑 다르게 동작해서 처음엔 헷갈렸다. 실습 순서대로 기록한다.전체 실습 구조시작 전에 전체 흐름을 먼저 그려놨다.리소스를 만드는 순서가 중요하다. 의존성이 있어서 순서가 틀리면 중간에 막힌다. 오늘 실습에서 정리한 순서:실습 진행 순서1. Resource Group 생성2. VNet + 서브넷 생성3. 가용성 집합(Availabilit.. 2026. 2. 23.
프라이빗 EC2에 SSH 없이 접속하는 법 — NAT Gateway 끊고 SSM으로 바꾼 이유 NAT Gateway 요금 청구서를 처음 봤을 때 잠깐 멈췄다. 실습 환경인데 한 달에 생각보다 많이 나왔다. 강사님이 수업 때마다 "NAT Gateway는 켜두면 돈이 나간다"고 하셨는데, 직접 보고 나서야 그 말이 실감났다.그러다 강사님이 SSM(AWS Systems Manager Session Manager)을 소개해주셨다. 처음엔 그냥 또 다른 접속 도구인 줄 알았다. 근데 구조를 이해하고 나서 생각이 바뀌었다. 단순히 SSH 대체가 아니라, 설계 자체가 달라지는 이야기였다.기존 구조의 문제 — 배스천 호스트와 NAT GatewayAWS 실습 초반에 만든 구조는 이랬다.인터넷 ↓퍼블릭 서브넷 └── 배스천 EC2 (공인 IP, 22포트 개방) ↓ SSH 터널프라이빗 서브넷 └──.. 2026. 2. 23.
Azure 첫 실습 — AWS만 하던 사람이 느낀 충격적인 차이점 오늘 처음으로 Azure 실습을 했다. 솔직히 "AWS랑 비슷하겠지, 이름만 다르겠지"라고 생각했다. 근데 콘솔 켜자마자 첫 번째 당황이 왔다. 뭘 먼저 만들어야 하는지 메뉴가 너무 흩어져 있었다.AWS는 VPC 들어가면 서브넷, IGW, 라우팅 테이블이 왼쪽 사이드바에 순서대로 있다. Azure는 검색창에 직접 쳐야 한다. Virtual Network인지 VNet인지도 처음엔 헷갈렸다. 메뉴 구조 익히는 데만 20분 걸렸다.근데 실습 끝나고 나서는 생각이 달라졌다. 불편한 게 아니라 설계 철학 자체가 달랐다. 오늘 만든 구조강사님이 제시한 실습 구조는 이랬다.Resource Group: rg-practice-01└── VNet: vnet-main (10.20.0.0/16) ├── Public Su.. 2026. 2. 19.
멀티클라우드 아키텍처가 머릿속에 안 그려질 때 — AWS 실습으로 직접 부딪혀봤다 수업에서 "멀티클라우드 아키텍처"라는 말을 처음 들었을 때 솔직히 감이 없었다. VPC가 뭔지, 서브넷이 뭔지 하나씩은 이해가 되는데, 그게 전체적으로 어떤 그림을 이루는지는 잘 안 보였다. 강사님이 "구조를 봐야 한다"고 하셨는데 그 말 자체가 뭔 말인지 몰랐다.그 감각이 생긴 건 실습에서 직접 망가뜨려보고 나서였다."나눈다"는 게 뭔지 — 실습에서 처음 느꼈다VPC 설계 실습 과제에서 강사님이 이런 조건을 주셨다."웹서버, DB, 관리용 배스천 호스트를 배치해라. 어떻게 나눌지는 각자 결정해라."처음엔 그냥 EC2 세 개 다 같은 서브넷에 넣으려 했다. 어차피 같은 VPC 안이면 통신 되는 거 아닌가 싶어서. 그렇게 했더니 강사님이 지나가시면서 한마디 하셨다."DB가 퍼블릭 서브넷에 있으면 인터넷에서.. 2026. 2. 19.
AWS 배우면서 Azure 시작한 멀티클라우드 입문자의 현실 기록 솔직히 말하면 수업 첫날 "멀티클라우드 엔지니어"라는 말 들었을 때 그냥 클라우드 여러 개 쓸 줄 알면 되는 거 아닌가 싶었다. 근데 AWS VPC 설계 실습 한 번 해보고 나서 생각이 바뀌었다. 클라우드 하나도 구조를 이해하는 데 이렇게 시간이 걸리는데, 이걸 여러 개를 동시에 다룬다는 게 어떤 의미인지 조금씩 감이 오기 시작했다.현재 상황을 정리하면 이렇다. AWS 기본 설계는 실습까지 마쳤고, 이번 주부터 Azure를 배우기 시작한다. GCP는 개념 수준으로만 알고 있다. 이 글은 그 과정에서 직접 겪은 것들, 강사님한테 들은 현업 이야기, 그리고 Azure와 GCP를 비교 조사하면서 이해한 것들을 섞어서 쓴 기록이다.AWS 실습에서 처음으로 막혔던 순간VPC 설계 실습에서 퍼블릭 서브넷이랑 프라이.. 2026. 2. 19.
IaaS, PaaS, SaaS를 직접 실습하며 책임 경계를 정리해본 기록 클라우드 수업 초반에 IaaS, PaaS, SaaS를 배웠다. 정의는 어렵지 않았다. 문제는 실제 설계할 때였다. “이 서비스는 내가 어디까지 책임지는 거지?” 멀티 AZ(가용영역 다중화) 웹 서비스를 직접 구성하면서 이 질문에 제대로 답하지 못해 몇 번 설계를 다시 했다. 이번 글은 개념 설명이 아니라, 직접 실습하면서 책임 경계를 정리한 기록이다. 1) IaaS 실습 — 내가 운영체제를 책임질 때실습 환경(구체 설정값)VPC CIDR: 10.0.0.0/16Public Subnet: 10.0.1.0/24Private Subnet: 10.0.2.0/24EC2 AMI: Amazon Linux 2인스턴스 타입: t3.micro보안그룹(SG, Security Group=가상 방화벽)인바운드 80(HTTP): .. 2026. 2. 18.