47. (실습포함) EC2 사이즈 변경 과정 중 실패 하여 글 남깁니다. 아래 과정에서 실패가 발생하였습니다. t2.medium 인스턴스 중지 -> 스냅샷 -> AMI 생성 AMI -> ami 로 인스턴스 시작 -> m7g.medium 선택 후 생성(기타 인바운드, 아웃바운드는 모두 열림으로 생성) 인스턴스 -> 생성된 인스턴스(m7g.medium) 선택 -> 연결 -> 실패(아래 로그) 연결 실패로, 시스템 로그 확인(아래 4번 인스턴스 로그) 3번 실패 에러 Failed to connect to your instance Error establishing SSH connection to your instance. Try again later. 4번 인스턴스 로그 UEFI firmware (version built at 09:00:00 on Nov 1 2018) [2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[0m[35m[40m[0m[37m[40mNo bootable device found. Dropping to the EFI Shell. Exiting the UEFI shell will restart the system.[2J[01;01H[01;01HUEFI Interactive Shell v2.2 EDK II UEFI v2.70 (EDK II, 0x00010000) [1m[33m[40mMapping table[0m[37m[40m [1m[33m[40m FS0:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40mHD0fd:;BLK3: PciRoot(0x0)/Pci(0x4,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)/HD(128,GPT,6757D47D-EB20-4D37-B258-B2BBDAC921FF,0x800,0x5000) [1m[33m[40m BLK0:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x4,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00) [1m[33m[40m BLK1:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x4,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)/HD(1,GPT,3DDB972E-155C-4F75-A42C-4007A119B4C1,0x6000,0xFF9FDF) [1m[33m[40m BLK2:[0m[37m[40m [1m[37m[40mAlias(s):[0m[37m[40m PciRoot(0x0)/Pci(0x4,0x0)/NVMe(0x1,00-00-00-00-00-00-00-00)/HD(127,GPT,AF191D5A-F9A1-40A8-9164-B216701312F3,0x5800,0x800) [16;01HPress [1m[37m[40mESC[0m[37m[40m in 5 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[16;01HPress [1m[37m[40mESC[0m[37m[40m in 4 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[16;01HPress [1m[37m[40mESC[0m[37m[40m in 3 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[16;01HPress [1m[37m[40mESC[0m[37m[40m in 2 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue.[16;01HPress [1m[37m[40mESC[0m[37m[40m in 1 seconds to skip [1m[33m[40mstartup.nsh[0m[37m[40m or any other key to continue. [17;01HThe system will reboot in 60 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 59 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 58 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 57 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 56 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 55 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 54 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 53 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 52 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 51 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 50 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 49 seconds. Press any key [2025-12-27T13:17:04.737361]to run interactive shell.[17;01HThe system will reboot in 48 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 47 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 46 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 45 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 44 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 43 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 42 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 41 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 40 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 39 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 38 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 3[2025-12-27T13:17:16.737450]7 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 36 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 35 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 34 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 33 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 32 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 31 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 30 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 29 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 28 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 27 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 26 seconds. Press any key to run interactive shell.[17;01HTh[2025-12-27T13:17:28.737525]e system will reboot in 25 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 24 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 23 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 22 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 21 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 20 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 19 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 18 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 17 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 16 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 15 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 14 seconds. Press any key to run int[2025-12-27T13:17:39.837609]eractive shell.[17;01HThe system will reboot in 13 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 12 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 11 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 10 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 9 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 8 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 7 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 6 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 5 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 4 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 3 seconds. Press any key to run interactive shell.[17;01HThe system will reboot in 2 seconds.[2025-12-27T13:17:51.837681] Press any key to run interactive shell.[17;01HThe system will reboot in 1 seconds. Press any key to run interactive shell. UEFI firmware (version built at 09:00:00 on Nov 1 2018) [2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[2J[01;01H[=3h[2J[01;01H[0m[35m[40m[0m[37m[40mNo bootable device found. Dropping to the EFI Shell. Exiting the UEFI shell will restart the system.[2J[01;01H[01;01HUEFI Interactive Shell v2.2 EDK II
초반 dmg로 다운받을때도 , 다운받고 뭐 초기셋팅 진행해서 해당 로그처럼 서버 데이터 베이스 선택하는거 psql에 없었는데, 명령어 찾아서 아이디 만들고 권한주고 db만들고 꾸역꾸역해서 jdbc 연결했더니 테이블안생김.. ㅈㄴ 스트레스받음. 노션에 있는거 긁어서 그대로 해서 틀린거없음 커서에서 검증도함 대체 원인을 모르겟
로드밸런서용 보안그룹랑 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 공통) 유형프로토콜포트소스HTTPTCP80 0.0.0.0/0 HTTPSTCP443 0.0.0.0/0 SSH(22)는 로드밸런서에는 절대 필요 없음 , 빼는 게 정답. 아웃바운드는 기본 모든 트래픽 / 0.0.0.0/0 그대로 둬도 무방. 콘솔에서 적용 방법 EC2 콘솔 → 왼쪽 메뉴 보안그룹 → 보안 그룹 생성 이름: lb-sg 같은 걸로. 인바운드 규칙에 위 표대로 추가. 로드밸런서 선택 → 보안 → 보안 그룹 편집 → 방금 만든 lb-sg 선택 . 3. EC2 인스턴스 보안그룹 설정 (EC2-SG) EC2는 직접 인터넷에 안 열고 , 로드밸런서 보안그룹에서만 열어주는 게 포인트. 인바운드 예시 유형프로토콜포트소스HTTPTCP80 LB-SG (보안 그룹 선택)HTTPS (필요 시)TCP443 LB-SG SSHTCP22 내 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 열려있는 보안그룹 있으면 떼버려도 됨).
이 강의를 통해 HTTPS를 적용하기 전에, CloudFront의 배포 도메인 이름(https://d3~~~~~~.cloudfront.net/)으로 접속을 해 봤는데 https가 적용이 됐었습니다. 이유가 무엇인가요? 이 강의에서 HTTPS를 적용하는 거랑, 적용 안 하고도 https로 접속이 되는 것이 어떠한 차이인지 궁금합니다! 강의 잘 보고 있습니다.
여기선 HTTP 프로토콜을 선택하고 HTTP로 오면 HTTPS로 리다이렉트로 하겠다고 선택하였는데 이것이 의미하는 정확한 의미가 궁금합니다. 이 설정에선 HTTP만 허용하고, HTTP로 온 걸 HTTPS로 리다이렉트하긴 하지만, 사용자가 HTTPS 요청을 보내는 거에 대해선 허락하지 않은 건가요?
Postman으로 요청을 보내는 게 첫 번째 사진에서 '사용자 -> EC2', 그리고 2번째 사진인 Postman으로부터 받은 응답은 'EC2 -> 사용자' 맞죠? S3가 EC2엔 저 URL을 보내고, 서버에서 다시 가공해서 사용자에게 응답한 게 2번째 사진이 맞는지 궁금합니다. 좀 당연하다고 생각하고 있는데 혹시 제가 헷갈려서 틀렸을까 봐 확인차 질문드립니다.
사이트에 들어온 사용자가 화면에 뜨는 이미지들을 보려면 퍼블릭 액세스 차단을 다 풀어서 퍼블릭 액세스를 허용해야 한다면, 퍼블릭 액세스 차단을 해야 하는 경우는 어떤 상황일 때 사용하는 건지 궁금합니다. 현업에선 S3 버킷을 보통 여러 개 만들고, 퍼블릭 액세스 허용하는 버킷과 차단하는 버킷들로 나뉘나요?
RDS 파트 다 듣고 삭제까지 하고 궁금해져서 직접 확인을 못 했는데 퍼블릭 액세스에 체크를 하면 퍼블릭 IP 주소가 할당된다고 나와 있는데, RDS에도 탄력적 IP처럼 공인 IP가 있나요? 노션 자료엔 엔드포인트만 있고 IP 주소가 안 보여서 질문드립니다. +) 강의 순서가 CI/CD -> Docker인데 Docker 먼저 듣는 건 비추하시나요? Docker 강의 자체가 CI/CD 강의를 이미 수강한 사람들이라 가정하고 만들어진 강의인지, 아니면 우선순위 자체가 CI/CD가 먼저인 건지 궁금합니다. 잘은 모르겠는데 CI/CD 강의 중에 Docker를 활용하는 부분이 있길래... 그냥 Docker 먼저 듣는 게 나을까 생각이 드는데, 아무래도 그냥 로드맵 순서대로 하는 게 나을까요?
800명이 넘는 AWS 강의실 오픈채팅방 에 오시면 더 좋은 답변을 실시간으로 받아보실 수 있습니다. 질문내용은 상세하고 자세하게 부탁드립니다. 예시 : "Amazon EC2의 t2.micro 타입으로 Amazon Linux 2023타입으로 퍼브릭 서브넷에 프로비전 했습니다. 키페어와 같이 프로비전해서 SSH로 접속하고 싶은데 접속 요청시 Timeout이 발생합니다. 어디를 확인하면 될까요?" RDS 접속 강의를 수강 중인데요. 선생님과 같이 해도 저는 Test Connection을 해도 Connection Failed가 뜹니다. 뭘 놓친 걸까요?
복습하다가 궁금한 점이 생겼습니다. 강의에서 ELB 리스너에서 프로토콜을 HTTPS로 구성했는데 대상 그룹은 이전에 HTTP로 설정한 대상 그룹으로 지정한 거 맞죠? 근데 이전 자료(ELB란? / TLS, SSL과 HTTPS)에서 "HTTPS 인증을 받은 웹 사이트가 백엔드 서버와 통신하려면, 백엔드 서버의 주소도 HTTPS 인증을 받아야 한다." 이거 때문에 좀 헷갈리네요. HTTPS에 대한 대상 그룹을 새로 만들 필요는 없나요? 제가 이 부분에 대한 이해가 아직 부족한 것 같습니다. 강의에서 한 대로면 ELB의 HTTPS 리스너로 요청을 받으면 그걸 다시 대상 그룹으로 보낼 땐 HTTP로 보낸다고 생각하면 되나요? EC2 인스턴스 인바운드 규칙에도 HTTPS 말고 HTTP만 설정했던 거 같고... 지금은 인스턴스를 삭제해서 제가 어떻게 설정했었는지, 강의 그대로 하긴 했는데 다시 확인을 못 하네요.. +) 로드 밸런서는 삭제했는데, 대상 그룹은 굳이 삭제 안 해도 비용 발생은 안 하나요? EC2 인스턴스를 삭제해서 그런지, 대상 그룹 내부에 등록된 대상은 지금은 없다고 뜨긴 합니다.
안녕하세요! 항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다. 제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 일단 첫번째로 생각하고 있는건 ELB, Nginx에 대한 고민입니다. 내용이 길어서 질문은 나눠서 올리려고 합니다. 제 머릿 속에 있는 걸 그냥 그대로 끄집어낼게요. ELB로 EC2에 직접 접근 (Client -> ELB -> Spring Boot) ELB를 80/443 으로 열고, http에 대한 타겟그룹을 8080로 설정한 후 EC2 쪽 인바운드는 8080만 열어야 하는가? ELB는 WAS가 아니라서 Nginx처럼 리액트 빌드 결과물 (정적파일)을 서빙 못하지 않을까? 그럼 S3 파트에서 배웠던 내용대로 S3 + Cloud Front 방식으로 리액트 결과물 내보내야 할까? https 설정은 Nginx 대비 이게 더 편한거같음 Nginx만 사용 (Client -> WAS (Nginx) -> Spring Boot & React) ELB 대비 https 인증이 경험 상 상당히 까다로웠음 (자동 인증사 만료 처리도 해야하고...) EC2 안에서 React까지 처리하기 좋았음 이 경우는 인바운드를 80/443 열고 nginx 에서 reverse proxy ELB + Nginx 사용 (Client -> ELB -> Nginx -> Spring Boot & React) ELB는 로드밸런서 역할과 https 인증 담당용 (로드밸런싱은 추후 확장가능성 염두, https 인증은 elb가 더 쉬우니까) Nginx는 내부에서 리버스 프록시 적용 https 처리는 elb가 쉬우니까 이거 쓰고, 리버스프록시와 정적 파일 서빙은 nginx에게 위임하겠다는 취지 만약 이럴 경우, ELB는 80/443 열고 EC2는 80만 허용하면 되는건가? 그러면 80->443 리다이렉션하고 443은 타겟그룹 80을 향해 들어가면, EC2에서 80으로 들어온 요청을 nginx가 리버스 프록시 어떤게 적절한 선택일지 고민중입니다. 서버 인프라를 구성하기 위해 참조할 만한 자료로 깃헙을 찾아보니, 다른 프로젝트 아키텍처 보면 다 2번처럼 하는 것 같았습니다. 근데 실습을 했을 때 ELB가 https 인증이 너무 쉽게 되었던게 매력적이었어서 차마 2번 방식에는 손이 잘 안갑니다. 근데 1번만 하자니, 과연 1번만으로 충분할까? 라는 의문이 들었습니다. 그래서 ELB랑 Nginx를 혼합해서 쓸까라는 생각까지 이어진건데요. 3번은 저 생각대로면 각자의 편의를 챙겨가기는 하지만 좀 더 복잡한 아키텍처같은 생각도 들어요. 우선 각각의 생각에 오류가 있는지, 그리고 전문가의 식견으로 봤을 때 어떤게 더 나은 접근인지 여쭤보고싶습니다. 어려운게 있으면 항상 박재성님 강의부터 찾습니다. 늘 도움받아갑니다. 감사합니다.
안녕하세요! 항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다. 제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 고민하고 있는건 EC2 등 모델 선정입니다. 그리고 RDS, ElastiCache 도입여부 또한 고민중입니다. 제 프로젝트는 거의 싸이월드 같은 사이트를 만들어야 하는 상황입니다. 알림, 조회수, 좋아요 기능, 파일 업로드, 스트리밍, 게시판, 댓글 등이 주된 기능입니다. (이때 파일 업로드는 multipart/form-data 업로드와, 동영상과 같은 대용량 파일 처리를 위한 AWS Multipart Upload 방식으로 나뉩니다.) 한번 AWS 강의에서 배운걸 다 써먹어보고 싶어서 EC2, RDS, S3, ElastiCache 도입을 상정해봤습니다. 초기 단계 모델을 먼저 결정한 후 K6 등으로 동시접속자 수 100명 200명 300명 순으로 테스트를 진행해서 스케일업을 고려중입니다. (데모 시연도 하고, 실제로 한달 간 출시도 해봐야해서요) 구상중인건 다음과 같습니다. 1단계 (개발 중) :: CI/CD용 : t4g.small (EBS 있으니까 여기 안에서 Redis랑 DB, 서버 다 돌림) + S3 2단계 (개발 완료 후 배포) :: 실제 운영 테스트용 : Case 1. t4g.small + S3 (CI/CD용 그대로) Case 2. t4g.small + RDS + S3 (Redis는 EC2 안) (RDS는 EC2모델과 같은 사양으로) Case 3. t4g.small + RDS + S3 + ElastiCache Case 4. t4g.medium + RDS + S3 + ElastiCache 근데 Case 3까지만 가도 AWS 계산기 돌려보니 월 10만원이 조금 넘더라구요. RDS에서 프록시나 Insights 설정 빼고 SingleAZ로 변경한게 저 수준이었습니다. 너무 비싸더라구요. Case 4는 한 17만 7천원 나오더라구요... RDS가 많이 비싼 것 같습니다. 비용이 비정상적인게 아니라면, 그대로 진행해도 전 좋습니다. 배움에 돈아끼면 안된다고 생각하거든요. 근데 그게 오버스펙이나 비정상적인 설계로 비용이 많이 나오는건 별개의 문제잖아요. 그래서 결국 어떻게 서버 인프라를 구축할지에 대한 고민이 많습니다. 비용이 제 기준에서는 높지만 남들 기준에선 높은게 아닐 수도 있고, 아니면 정말로 너무 높게 나온걸 수도 있어서 정상적으로 프로젝트에 맞게 아키텍처를 구축한게 맞는지, 잘못되었다면 어떻게 조정해야할지에 대한 판단이 어렵습니다. 실례가 안된다면, 지금 제가 어떤 문제가 있는지, 제 상황에선 어떤 아키텍처가 적절한지 설명부탁드려도 될까요? 이건 저 생각이 들기까지의 내용들을 정리한 노션 페이지입니다. https://hooby.notion.site/Server-Infra-Setup-28af6c063f3e80b7a8c3d653add0c068