인프런 커뮤니티 질문&답변
보안그룹질문입니다.
작성
·
24
·
수정됨
0
로드밸런서용 보안그룹랑 EC2용 보안그룹 인바운드 규칙을 0.0.0.0/0이렇게 두니까 불안해서 혹시 아래처럼 설정하는것 맞자요?
ec2에서 보안그룹을 아래처럼 냅두면 https로 접속이 안되는데요. 근데 0.0.0.0/0으로 풀어놓으면 됩니다. 어떻게 해야하나요?
ec2에서 ssh를 내 ip로 등록하니까 크롬 aws 에서 접속인안되는데 어떻게 해야하나요? 0.0.0.0/0으로 풀어놓으면 됩니다. 요즘 gpt가 할루시네이션 많이 나와서 여쭤봅니다. 요즘 존댓말로 바꾸라고 하면 내용을 다른 내용으로 바꾸는 경우가 있어서 그대로 질문드립니다.
가장 많이 쓰는 패턴은:
로드밸런서용 보안그룹 (LB-SG)
인터넷에서 LB까지만 열어둠.
EC2용 보안그룹 (EC2-SG)
외부는 막고, LB-SG에서만 접속 허용.
SSH는 필요하면 내 IP에서만 열기.
즉,
인터넷 → [LB-SG] → 로드밸런서 → [EC2-SG] → EC2 인스턴스
이 구조로 흘러가게 만드는 거야.
2. 로드밸런서 보안그룹 설정 (LB-SG)
사진에 있는 규칙은 사실상 로드밸런서 보안그룹에 붙이는 게 맞음 (단, SSH는 필요 없음).
인바운드 예시 (ALB/NLB 공통)
유형프로토콜포트소스HTTPTCP800.0.0.0/0HTTPSTCP4430.0.0.0/0
SSH(22)는 로드밸런서에는 절대 필요 없음, 빼는 게 정답.
아웃바운드는 기본
모든 트래픽 / 0.0.0.0/0그대로 둬도 무방.
콘솔에서 적용 방법
EC2 콘솔 → 왼쪽 메뉴 보안그룹 → 보안 그룹 생성
이름:
lb-sg같은 걸로.인바운드 규칙에 위 표대로 추가.
로드밸런서 선택 → 보안 → 보안 그룹 편집 → 방금 만든
lb-sg선택.
3. EC2 인스턴스 보안그룹 설정 (EC2-SG)
EC2는 직접 인터넷에 안 열고, 로드밸런서 보안그룹에서만 열어주는 게 포인트.
인바운드 예시
유형프로토콜포트소스HTTPTCP80LB-SG (보안 그룹 선택)HTTPS (필요 시)TCP443LB-SGSSHTCP22내 IP주소/32 (예: 123.123.123.123/32)
여기서 중요한 건 소스를
0.0.0.0/0가 아니라“보안 그룹” →
lb-sg선택으로 설정하는 거야.
콘솔에서 적용 방법
EC2 콘솔 → 보안그룹 생성 → 이름
ec2-sg인바운드 규칙에 위 표대로 추가
HTTP/HTTPS 규칙 추가할 때 소스 타입을 “사용자 지정” 말고 “보안 그룹”으로 바꾸고
lb-sg선택
EC2 인스턴스 선택 → 작업 → 보안 → 보안 그룹 변경 →
ec2-sg붙이기
(기존에 0.0.0.0/0 열려있는 보안그룹 있으면 떼버려도 됨).
답변 2
0
안녕하세요 ! 질문 잘해주셨어요 !
답변 알림이 누락되어 늦게 질문 확인한 점 죄송합니다ㅠㅠ!
질문해 주신 내용에 대해 하나씩 답변드려볼게요 ~
"1. 로드밸런서용 보안그룹랑 EC2용 보안그룹 인바운드 규칙을 0.0.0.0/0이렇게 두니까 불안해서 혹시 아래처럼 설정하는것 맞자요?"
-> 네 맞아요 ! 말씀해 주신 패턴이 AWS에서 권장하는 방식에요 !
LB-SG에서만 외부 트래픽을 받고, EC2-SG는 LB-SG로부터만 트래픽을 허용하는 구조가 보안상 훨씬 안전해요 :)
"2. ec2에서 보안그룹을 아래처럼 냅두면 https로 접속이 안되는데요. 근데 0.0.0.0/0으로 풀어놓으면 됩니다. 어떻게 해야하나요?"
-> EC2 보안그룹의 HTTP/HTTPS 인바운드 규칙 소스를 로드밸런서 보안그룹(LB-SG) 으로 설정하셔야 해요 !
소스 타입을 "사용자 지정"이 아니라 "보안 그룹" 으로 선택하고 거기서 lb-sg를 선택해주시면 돼요 !
이렇게 하면 인터넷 → 로드밸런서 → EC2 순으로 트래픽이 흐르게 되어 0.0.0.0/0으로 안 열어두셔도 정상적으로 접속이 돼요 :)
"3.ec2에서 ssh를 내 ip로 등록하니까 크롬 aws 에서 접속인안되는데 어떻게 해야하나요? 0.0.0.0/0으로 풀어놓으면 됩니다."
-> 우선 해당 상황은 정상적인 동작이에요! AWS 콘솔에서 브라우저로 SSH 접속하는 기능(EC2 Instance Connect)은 AWS의 IP 대역에서 접속을 시도하기 때문에, 내 IP만 열어두면 당연히 막히게 돼요 !
해결 방법은 간단해요 ! SSH(22번 포트) 인바운드 규칙의 소스를 0.0.0.0/0으로 변경해 주시는 거예요 !
보안상 SSH를 전체 공개하는 게 걸리실 수도 있는데, SSH 키 인증 방식을 사용하고 계시기 때문에 키 파일 없이는 접속이 불가능해서 충분히 안전해요!! 실무에서도 대부분 SSH 키 인증으로 보안을 유지하면서 0.0.0.0/0으로 열어놓고 사용하는 편이에요:)
추가로 궁금하신 점 있으시면 언제든 편하게 질문 주세요~~
0
안녕하세요, 인프런 AI 인턴입니다.
zzzzz님, AWS 환경에서 보안 그룹 설정에 대해 질문을 주셔서 감사드립니다. 질문에 맞는 설정을 설명해드리겠습니다.
로드밸런서 용 보안 그룹(LB-SG) 설정:
- HTTP와 HTTPS 트래픽을 인터넷에서 로드밸런서까지 허용하려면 인바운드 규칙에 다음을 추가하세요:
- HTTP (포트 80): 소스를
0.0.0.0/0으로 설정
- HTTPS (포트 443): 소스를
0.0.0.0/0으로 설정
- HTTP (포트 80): 소스를
- SSH는 로드밸런서에 필요 없으므로 인바운드 규칙에 추가하지 마세요.
- HTTP와 HTTPS 트래픽을 인터넷에서 로드밸런서까지 허용하려면 인바운드 규칙에 다음을 추가하세요:
EC2 인스턴스 보안 그룹(EC2-SG) 설정:
- EC2 인스턴스는 인터넷에서 직접 접속을 차단하고, 로드밸런서 보안 그룹(LB-SG)에서만 접속을 허용하세요.
- 인바운드 규칙 설정:
- HTTP와 HTTPS 트래픽은 소스로 로드밸런서 보안 그룹(LB-SG)을 선택
- SSH는 필요 시에만 내 IP 주소(예:
123.123.123.123/32)로 제한
- HTTP와 HTTPS 트래픽은 소스로 로드밸런서 보안 그룹(LB-SG)을 선택
- EC2 인스턴스는 인터넷에서 직접 접속을 차단하고, 로드밸런서 보안 그룹(LB-SG)에서만 접속을 허용하세요.
SSH 접속 문제:
- 내 IP로 SSH 접속을 등록하셨다면 PC IP 변경 시 AWS 콘솔에서 해당 보안 그룹을 업데이트 해주셔야 합니다.
- 일시적으로
0.0.0.0/0으로 풀어둘 수 있지만, 보안상 권장하지 않습니다. 외부 IP가 변경될 경우마다 보안 그룹을 업데이트하여 안전하게 유지하세요.
- 내 IP로 SSH 접속을 등록하셨다면 PC IP 변경 시 AWS 콘솔에서 해당 보안 그룹을 업데이트 해주셔야 합니다.
이와 같은 설정을 통해 보안 그룹을 효과적으로 관리할 수 있습니다. 추가적인 문서나 블로그를 참고하시려면 공식 문서 링크를 참조하시기 바랍니다. AWS 보안 그룹 설정 공식 문서에서 자세한 정보를 확인할 수 있습니다. 좋은 학습 되시기 바랍니다!




