프론트엔드 개발자의 시선으로 바라본 AWS의 전체 구조

2026. 4. 30. 21:14개발

  • 그림으로 이해하는 AWS 구조와 기술 서평

1. 서론

프론트엔드 개발자로 실무를 경험하면서 가장 크게 느낀 점 중 하나는,
“나는 화면을 만들고 있지만, 서비스 전체 구조는 잘 모른다”는 한계였다.

 

React 기반으로 UI를 구현하고 API를 호출하는 작업에는 익숙해졌지만,
그 API가 어디에서 실행되고, 정적 파일이 어떻게 사용자에게 전달되는지에 대해서는
명확하게 설명하기 어려웠다.

 

이러한 상황에서 AWS 전반 을 다루는 이 책은
단순한 인프라 학습을 넘어,
프론트엔드 개발자가 서비스의 전체 흐름을 이해하기 위한 입문서로 읽게 되었다.


2. 책의 구성과 특징

이 책은 AWS의 개념부터 시작해 컴퓨팅, 스토리지, 네트워크, 서버리스까지
전체 서비스를 폭넓게 설명하는 구조로 이루어져 있다.

 

특히 인상적이었던 점은 AWS를 단순한 기능 모음이 아니라
“서비스들의 조합으로 시스템을 구성하는 구조” 로 설명한다는 점이다.

 

책에서는 AWS에서 사용할 수 있는 자원을 ‘리소스’라고 정의하며,
각 요소를 조합해 하나의 시스템을 만들어간다는 관점을 제시한다.

 

 

이 설명은 이후 내용을 이해하는 핵심 전제가 되었고,
각 서비스를 개별적으로 외우는 것이 아니라
“어떻게 연결되는가”에 집중하게 만들어 주었다.


3. 프론트엔드 개발자가 주목할 내용

3.1 정적 파일 배포 구조 (S3 + CloudFront)

프론트엔드 개발자로서 가장 크게 와닿았던 부분은
정적 파일이 실제로 사용자에게 전달되는 과정이었다.

 

그동안은 React로 빌드한 결과물을 “서버에 배포한다”는 정도로만 이해하고 있었는데,
이 책을 통해 그 결과물이 S3에 저장되고, CloudFront를 거쳐 사용자에게 전달된다는 흐름을 처음으로 명확하게 그릴 수 있었다.

S3는 단순히 파일을 저장하는 공간이 아니라
버킷 설정과 접근 권한, 도메인 연결을 통해
정적 웹사이트 자체를 구성할 수 있는 기반이 된다.

 

여기에 CloudFront가 붙으면 상황이 완전히 달라진다.
사용자가 요청할 때마다 원본 서버에서 파일을 가져오는 것이 아니라,
가까운 에지 서버에 캐싱된 콘텐츠가 바로 응답된다.

 

이 부분을 읽으면서,
지금까지 내가 했던 “성능 개선”이 대부분 코드 레벨에만 머물러 있었다는 걸 느꼈다.
이미지 최적화나 lazy loading도 중요하지만,
애초에 어디에서 파일이 내려오느냐에 따라 체감 속도는 훨씬 크게 달라진다.

 

결국 프론트엔드 성능은 코드만의 문제가 아니라
배포 구조까지 포함해서 결정된다는 점을 이해하게 되었고,
이게 이 장에서 얻은 가장 큰 수확이었다.


3.2 API 호출 구조 (API Gateway + Lambda)

프론트엔드에서 API를 호출할 때, 그 요청이 실제로 어디로 가는지에 대해서는
그동안 깊게 고민해본 적이 없었다.
단순히 “백엔드 서버에 요청을 보낸다” 정도로만 이해하고 있었기 때문이다.

이 책을 통해 그 흐름이 훨씬 구체적으로 보이기 시작했다.


API Gateway와 Lambda를 조합하면,
별도의 서버를 운영하지 않고도 API를 구성할 수 있다는 점이 특히 인상적이었다.

Lambda는 요청이나 이벤트가 발생했을 때만 실행되는 구조라서
항상 켜져 있는 서버를 전제로 하지 않는다.
API Gateway는 그 앞단에서 요청을 받아 적절한 Lambda 함수로 연결해준다.

 

이 구조를 이해하면서,
지금까지 당연하게 생각했던 “API = 서버”라는 인식이 깨졌다.

프론트엔드 입장에서도
어떤 방식으로 백엔드를 구성하느냐에 따라
응답 속도, 비용, 확장 방식이 달라질 수 있다는 점을 알게 되었고,
단순히 API를 소비하는 역할을 넘어서
구조 자체를 이해하는 것이 필요하다는 생각이 들었다.


3.3 인증과 사용자 관리 (Cognito)

로그인 기능 역시 단순히 API를 호출하는 과정이라고만 생각하고 있었는데,
이 책을 통해 그 뒤에 별도의 인증 시스템이 존재한다는 점을 처음으로 제대로 인식하게 되었다.

 

그동안은 토큰을 받아서 저장하고, 요청에 실어 보내는 흐름에는 익숙했지만
그 토큰이 어떻게 발급되고, 어떤 기준으로 권한이 나뉘는지까지는 깊게 생각해보지 않았던 것 같다.

Cognito는 이러한 과정을 담당하는 서비스로,
사용자 풀을 통해 로그인과 사용자 관리를 처리하고,
자격 증명 풀을 통해 실제 AWS 리소스에 접근할 수 있는 권한을 제어한다.

 

이 부분을 읽으면서
인증(Authentication)과 인가(Authorization)가 분리되어 있다는 개념이
단순한 이론이 아니라 실제 서비스 구조에서 중요한 기준이라는 점을 이해하게 되었다.

 

특히 로그인 기능을 구현할 때도
단순히 “로그인 API를 붙인다”는 수준이 아니라,
사용자의 권한과 접근 범위를 어떻게 나눌 것인지까지 함께 고려해야 한다는 점이 인상 깊었다.


3.4 네트워크와 보안 (VPC, 보안 그룹)

그동안 네트워크와 보안 영역은 프론트엔드 개발과는 거리가 있는 영역이라고 생각해왔다.
API가 정상적으로 동작하지 않으면, 대부분은 요청 코드나 응답 데이터부터 의심하는 식이었다.

이 책을 통해 API 요청이 단순히 서버로 전달되는 것이 아니라,
VPC, 서브넷, 라우팅, 보안 그룹과 같은 여러 단계를 거쳐 전달된다는 흐름을 이해하게 되었다.

 

VPC는 AWS 상에서 구성되는 가상 네트워크로,
서비스를 외부와 분리된 환경에서 운영할 수 있게 해준다.
그 안에서 서브넷으로 네트워크를 나누고,
보안 그룹과 네트워크 ACL을 통해 어떤 요청을 허용하거나 차단할지 설정한다.

 

 

이 구조를 보고 나니,
예전에 겪었던 “요청은 보내지는데 응답이 오지 않던 상황”들이
단순한 코드 문제가 아니라 네트워크 설정 문제였을 가능성도 떠올랐다.

 

프론트엔드 입장에서는 여전히 직접 설정할 일이 많지는 않지만,
요청이 어떤 경로를 거쳐 전달되는지를 알고 있는 것만으로도
문제를 바라보는 방식이 달라진다.

 

이제는 오류가 발생했을 때
코드뿐만 아니라 네트워크와 인프라 설정까지 함께 의심해볼 수 있는 시야가 생겼다는 점이
이 장에서 얻은 가장 큰 변화였다.


3.5 배포와 DevOps (Amplify, CI/CD)

서비스가 사용자에게 전달되는 과정 역시
그동안은 “배포 버튼을 누르면 끝난다”는 정도로만 인식하고 있었다.

이 책을 통해 배포가 단순한 마지막 단계가 아니라,
코드 변경부터 빌드, 테스트, 배포까지 이어지는 하나의 흐름이라는 점을 이해하게 되었다.

 

AWS Amplify는 이러한 과정을 비교적 단순하게 구성할 수 있도록 도와주는 서비스이고,
CodePipeline과 같은 도구들은 코드 변경이 발생했을 때
자동으로 빌드와 배포가 이어지도록 만든다.

이 부분을 읽으면서
지금까지는 로컬에서 개발하고 수동으로 배포하는 흐름에 익숙해져 있었지만,
실제 서비스에서는 이 과정이 자동화되어야 한다는 점이 더 크게 와닿았다.

 

특히 협업 환경에서는
배포 과정 자체가 하나의 시스템처럼 관리된다는 점이 중요하다는 것을 느꼈고,
프론트엔드 개발자 역시 코드 작성에만 집중하는 것이 아니라
그 코드가 어떻게 배포되고 운영되는지까지 이해할 필요가 있다고 생각하게 되었다.


4. 아쉬운 점

이 책은 AWS의 다양한 서비스를 폭넓게 다루는 만큼,
각 서비스에 대한 깊이는 제한적인 편이다.

 

개념 중심으로 설명이 이루어지기 때문에,
실제 서비스를 직접 구축해보려면 추가적인 학습이 필요하다.

 

또한 서비스 종류가 많다 보니
처음 접하는 입장에서는 무엇부터 적용해야 할지 판단하기 어려운 부분도 있었다.


5. 실무에 대한 인사이트

이 책을 통해 가장 크게 달라진 점은
내가 작성한 코드가 실제 사용자에게 전달되는 과정을
구체적인 흐름으로 그릴 수 있게 되었다는 것이다.

 

이전에는 프론트엔드와 백엔드를 분리된 영역으로 인식했다면,
이제는 하나의 흐름 안에서 이해하게 되었다.

  • React → S3 → CloudFront → 사용자
  • React → API Gateway → Lambda → Database

이 구조를 머릿속에 그릴 수 있게 되면서,
성능 문제는 어디에서 발생할 수 있는지,
요청이 왜 실패하는지,
배포 이후 어떤 과정이 이어지는지를
더 넓은 관점에서 생각하게 되었다.

 

특히 “프론트엔드는 API를 사용하는 역할”이라는 인식에서 벗어나,
서비스 구조 전체를 이해해야 한다는 필요성을 느끼게 된 점이 가장 큰 변화였다.


6. 결론

이 책은 AWS를 깊이 있게 다루기보다는
전체 구조를 이해하는 데 초점을 맞춘 입문서에 가깝다.

 

하지만 프론트엔드 개발자의 입장에서 보면,
이 책은 단순한 인프라 설명서가 아니라
내가 작성한 코드가 어떤 과정을 거쳐 사용자에게 전달되는지를 이해하게 해주는 출발점이었다.

 

실무 경험이 쌓일수록
코드 바깥의 영역을 이해하는 것이 중요해지는데,
이 책은 그 첫 단계를 만드는 데 충분한 역할을 한다고 생각한다.