안녕하세요 그동안 AWS 콘솔에서 직접 VPC, EC2, S3, IAM 등 여러 서비스를 생성해서 사용해왔습니다. 최근 Terraform 강의를 들으면서 코드 기반으로 인프라를 관리하고 싶다는 생각이 들었습니다. 이미 콘솔에서 생성된 기존 리소스들을 Terraform으로 가져와서 관리하는 게 가능한지 궁금합니다. 가능하다면 어떤 방식으로 진행하는 게 좋을지도 알려주시면 감사하겠습니다.
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 인스턴스를 삭제해서 그런지, 대상 그룹 내부에 등록된 대상은 지금은 없다고 뜨긴 합니다.
intelilJ 에서 어플리케이션 실행시 application.yml 프로파일에 default 부분이 깃허브에 올라온 파일에는 prod로 되어있고 그대로 실행하면 mysql에서 ordersystem 테이블 생성이 정상적으로 되지 않아서 강의를 상세하게 보니 코드부분에 local로 실행을 시키셔서 그것을 바꾸고 실행하니 테이블 안에 member , ordering , product는 생성되었는데 포스트맨에서 로그인 테스트시 임의로 만든 이메일 계정 조회시 404가 뜨는데 제가 어느부분을 놓쳐서 정상적으로 작동이 안되는걸까요? 그부분 상세하게 설명 부탁드리겠습니다.
안녕하세요! 항상 좋은 강의 잘 듣고 있습니다! 서버 인프라를 어떻게 설계해야할 지 판단이 잘 안서서 이렇게 질문드립니다. 제가 개념이 미숙하다보니 제 생각에 대한 설명이 뭔가 중구난방할 수 있다는 점 양해부탁드립니다. 일단 첫번째로 생각하고 있는건 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
안녕하세요, 강의 잘 듣고 있습니다. 강의를 듣는 중 궁금한 점이 있어 문의드립니다. 현재까지는 EC2에 Spring Boot를 배포하고, EC2 인스턴스에 S3 접근 권한을 가진 IAM 역할을 부여해 S3 업로드 기능을 구현해 왔습니다. 이번에 처음으로 EKS를 사용해보려고 하는데요, EKS에서도 EC2 워커 노드에 IAM 역할을 부여해 S3 접근 권한을 줄 수 있는지 궁금합니다. 또는 일반적으로는 어떤 방식으로 S3 접근 권한을 설정하는지 알고 싶습니다.
먼저 유사한 질문이 있는지 검색해보세요. 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 핑계지만 여러사정상 이제서야 수강 하려고 하는데 기간이 얼마 남지 않아서요... 꼭 강의 듣고 합격해서 합격 수기 수강평 남겨놓겠습니다 ㅠㅠ 부탁드립니다
HTTPS 적용 이후엔 api.jscode-test.net/로 접속하니 정상적으로 HTTPS가 적용됩니다. 그런데 아이피인 43.200.101.5 혹은 43.200.101.5:80 혹은 43.200.101.5:3000으로 접속하면 HTTPS가 적용이 안 되어 있습니다. 이유가 뭘까요? cmd에서 nslookup으로 www.google.com 아이피를 알아낸 다음에 아이피로 접속하면 처음엔 이렇게 뜨지만 '사이트로 이동' 버튼을 누르면 HTTPS가 적용이 되더라고요. 왜 구글은 아이피로 접속해도 HTTPS가 되고 제 사이트는 안 되는 걸까요? 구글은 뭔가 다른 설정을 더 했기 때문인가요?
이 사진은 24. 비용 나가지 않게 EC2 깔끔하게 종료하기 스크린샷이고 이 스크린샷은 지금 강의입니다. 둘 다 EC2 인스턴스를 먼저 삭제하고 나서 탄력적 IP를 삭제하려고 하는데 왜 첫 번째 사진에선 탄력적 IP 주소 연결 해제 버튼이 활성화되어 있지 않고, 이번엔 왜 활성화되어 있는 건가요? 강의 잘 보고 있습니다.
저는 jscode-test.net 도메인을 구매했고, 인증서 발급받을 땐 강의에서처럼 api.jscode-test.net로 적었습니다. 이럴 경우 jscode-test.net에 대한 인증서가 아닌 api.jscode-test.net에 대한 인증서만 발급받은 거 맞죠? 현업에서는 인증서를 요청할 때 어떤 식으로 하나요? api.jscode-test.net, temp.jscode-test.net, mail.jscode-test.net 등등 많다면, 각 도메인마다 인증서를 따로 발급하나요?
강사님 안녕하세요:) 강의 들으면서 aws 잘 배우고 있습니다. 한가지 질문이 있는데요, .env 파일에서 PORT를 80으로 변경하고 관리자 권한인 sudo npm start를 실행했는데 커맨드가 not found라고 나오더라구요..! 이럴땐 어떻게 처리해야하는지 궁금합니다.
https://policysim.aws.amazon.com/home/index.jsp?#roles 에서 5개밖에 표시가 되지 않습니다. IAM 정책란에서는 1400개가 표시되는데요. 이유가 뭘까요? 루트계정으로 로그인되어있습니다. AWSServiceRoleForResourceExplorer AWSServiceRoleForSupport AWSServiceRoleForTrustedAdvisor EC2_Full_Access_Role EC2_IAM_ReadOnly_Role