JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
과외유튜브블로그후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

비전공자도 이해할 수 있는 AWS 중급/실전 (보안 가용성편)

서비스 운영에 필수적인 네트워크 구성 방법 (VPC)

목표 설정
VPC란? / VPC를 왜 쓰는 걸까?
CIDR이란? / CIDR 표기법 해석 방법
[예제] CIDR 표기법 해석하기
사설 IP(프라이빗 IP) vs 공인 IP(퍼블릭 IP)
[실습] 사설 IP(프라이빗 IP)로 통신해보기
[실습] VPC 생성하기
서브넷이란 ?
[실습] 서브넷 생성하기
[실습] 퍼블릭 서브넷에 EC2 배치해보기
인터넷 게이트웨이란?
[실습] 인터넷 게이트웨이 생성하기
라우팅 테이블이란?
[실습] 라우팅 테이블 생성하기
AWS 아키텍처 그림으로 표현해보기
[복습] 퍼블릭 서브넷에 EC2 배치하기

외부 접근을 차단해 보안 강화시키기 (프라이빗 서브넷)

NAT 게이트웨이란 ?
[실습] NAT 게이트웨이 생성하기
[실습] 프라이빗 서브넷에 EC2 배치해서 외부 접근 차단하기
[실습] 프라이빗 서브넷의 EC2에 접속하는 방법
Bastion Host란?
[실습] 퍼블릭 서브넷에 Bastion Host 배치하기

서비스 장애 예방하기 (고가용성, 시스템 이중화)

가용성이란 ? / 시스템 이중화란 ?
가용 영역이란 ?
[실습] 가용 영역 2개를 활용해 VPC 구성하기
[실습] 새로운 가용 영역에 EC2 배치하기
[실습] 프라이빗 서브넷에 RDS 인스턴스 추가하기
[실습] 프라이빗 서브넷에 있는 RDS에 접속하는 방법
[실습] EC2 인스턴스에 Spring Boot 프로젝트 배포하기
[실습] ELB 추가하기
RDS의 다중 AZ 배포란?
[실습] RDS에 다중 AZ 배포 설정으로 장애 대비하기

접근 범위를 제한해서 보안 강화시키기 (보안 그룹)

최소 권한의 원칙(PoLP)이란?
보안 그룹이란?
[실습] 로드 밸런서(ALB)의 보안 그룹 수정하기
[보충 강의] 보안 그룹에 포함되지 않은 주체가 요청을 보내면 어떻게 작동할까?
[실습] EC2(Bastion Host)의 보안 그룹 수정하기
[실습] EC2(백엔드 서버)의 보안 그룹 수정하기
[실습] RDS(데이터베이스 서버)의 보안 그룹 수정하기

현업에서 자주 사용하는 AWS 인프라 아키텍처 직접 구축하기

[최종 미션] 현업에서 자주 사용하는 AWS 인프라 아키텍처 직접 구축해보기
[해설 강의] VPC 구성하기
[해설 강의] Bastion Host 배치하기
[해설 강의] RDS 배치하기
[해설 강의] 백엔드 서버 배치하기
[해설 강의] ALB 배치하기
[해설 강의] 보안 그룹 타이트하게 수정하기 (Bastion Host, ELB, 백엔드 서버, RDS)
← 블로그 목록으로 돌아가기

[실습] EC2(백엔드 서버)의 보안 그룹 수정하기

JSCODE 박재성
JSCODE 박재성
2026. 03. 14.
author
JSCODE 박재성
category
AWS
createdAt
Dec 6, 2025 03:51 AM
isPublic
isPublic
series
비전공자도 이해할 수 있는 AWS 중급/실전 (보안 가용성편)
slug
exercise-modify-backend-security-group
type
post
updatedAt
Mar 14, 2026 09:00

✅ 아키텍처 그림 살펴보기

notion image
  • Bastion Host가 EC2 인스턴스(백엔드 서버)에 접근한다.
  • 사용자로부터 ALB가 전달받은 트래픽을 EC2 인스턴스(백엔드 서버)로 전달한다.
 
 

✅ EC2(백엔드 서버)에 설정해야 할 보안 그룹 규칙

  • EC2 인스턴스(백엔드 서버)는 Bastion Host가 SSH(22번 포트)로 접속할 수 있게 허용해야 한다.
  • EC2(백엔드 서버)는 사용자로부터 직접적으로 요청을 전달받지 않는다. 오로지 ALB를 통해서 요청을 전달받는다. 따라서 EC2 인스턴스(백엔드 서버)는 ALB가 EC2(백엔드 서버)의 HTTP(80번 포트)로 요청을 보낼 수 있게 허용해야 한다.
 
 

✅ [실습] EC2(백엔드 서버)의 보안 그룹 생성하기

  1. 보안 그룹 생성하기
    1. notion image
      인바운드 규칙에 소스 항목을 IP가 아닌 보안 그룹으로 설정했다. 이 규칙을 어떻게 해석해야 하는 지 알아보자.
      • 유형 : SSH / 포트 범위 : 22번 / 소스 : instagram-bastion-host-security-group
        • → instagram-bastion-host-security-group이라는 보안 그룹에 속한 AWS 리소스는 SSH 프로토콜(22번 포트)로 접속하는 걸 허용한다.
      • 유형 : HTTP / 포트 범위 : 80 / 소스 : instagram-elb-security-group
        • → instagram-elb-security-group이라는 보안 그룹에 속한 AWS 리소스는 HTTP 프로토콜(80번 포트)로 접속하는 걸 허용한다.
       
  1. EC2(백엔드 서버)의 보안 그룹 변경하기
    1. instagram-server 인스턴스의 보안그룹 변경
      1. notion image
        notion image
         
    2. instagram-server-b 인스턴스의 보안그룹 변경
      1. notion image
        notion image
       
  1. 정상적으로 요청이 잘 보내지는 지 확인
    1. notion image
       
  1. 보안그룹이 정상적으로 작동하는 지 확인
    1. notion image
      Bastion Host에서 HTTP(80번 포트)로 요청을 보냈더니 응답이 오지 않는다. 보안 그룹에 트래픽이 막힌 것이다.
       
  1. 정말 보안 그룹 때문인지 확인해보기
    1. 아래와 같이 모든 IP에 대해 HTTP 요청을 받을 수 있게 설정을 수정해보자.
      notion image
정상적으로 요청에 대한 응답이 잘 날라오는 걸 확인할 수 있다.
notion image
 
  1. 보안 그룹을 원래 설정으로 다시 돌려두기
    1. notion image
 
 
 

✅ 설정한 보안 그룹을 아키텍처 그림으로 표현하기

notion image
 
다음 강의에서는 RDS(데이터베이스 서버)의 보안 그룹을 수정해보자.
 
📎
이 글은 비전공자도 이해할 수 있는 AWS 중급/실전 (보안, 가용성편) 강의의 수업 자료 중 일부입니다.