#ec2

질문 17
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

4달 전 · 하이린 님의 새로운 답변

포트폴리오에서 중요한 것에 대해 조언 부탁드립니다

안녕하세요 현재 졸업예정 전공생입니다 요즘 개발자 취업 시장이 힘들다보니 수준도 많이 올라가고 요구하는 것들도 많아지고 있는 것 같습니다 이전에 했던 프로젝트들은 솔직히 별 볼일 없는 CRUD 기능 구현에만 집중한 프로젝트고 그것 이외에 성능에 대한 고민이라던지 그런 흔적이 전혀 없습니다 이런 수준으론 중소 서류도 불가능 할 것 같아서 하반기까지 새로운 프로젝트를 준비하려고 합니다 그래서 이전 것들 다 버리고 딱 하나만 제대로 만들고 싶습니다 주제 자체는 디스코드 같은 메신저를 만들 것이고 프론트는 웹으로 간단하게만 보여줄 생각입니다 Java, spring, mybatis, mysql Aws ec2, Docker, Jenkins 크게 봤을 때 이정도 스택을 사용할 것입니다 사실 주제나 스택보다는 이 프로젝트를 진행하면서 제 고민을 녹여낸 흔적을 만들고 싶습니다 대용량, 동시성 등등.. 기업 입장에서 좋게 볼 수 있는 고민거리에 대해 여쭤보고 싶습니다 물론 그것을 위한 cs 공부는 하고 있습니다 +추가로.. 이렇게 하반기까지 준비를 했을 때 확실히 차이가 생기겠죠? 취업에 대한 불안감 때문에 하면서도 너무 힘들어서 질문드립니다 요약 1. 기업에서 지원자의 포트폴리오를 볼 때 좋게 볼 수 있는 것들이 있을까요 2. 위 글대로 하반기까지 준비를 했을 때 제 취업에 차이가 생길까요(불안해서 여쭤봅니다)

개발자

#취업

#개발자

#포트폴리오

#프로젝트

답변 2

댓글 0

조회 106

4달 전 · 이성원 님의 새로운 답변

아마존 Ec2 성능

개인적으로 사용할 테스트용서버를 구하고 있습니다. 아무래도 개인적으로 상용하기위한 서버이기 때문에 월에 만원 안쪽으로 사용가능한 서버를 찾고 있으며 Ec2의 경우는 최초1년 무료로 사용가능한것으로 알고 있어 고려중입니다. 혹시 Ec2를 사용해본 경험이 있으신분들 중에 성능에 대해서 문의드립니다. Docker기반 파이썬 fastAPI서버 1기 Java Spring 서버 1기 (jar 기동 고려중이며 추후 Doker로 올릴 가능성 있음) DB서버 1기 (Docker 기반 postgerSQL 고려중) 일단 생각나는것은 이렇게 3가지 입니다. 아직 외부접속같은것은 필요 없기에 아파치와 같은 설정은 생각없습니다. Ec2가 충분히 위 사양을 버텨줄까요? 물론 요청이 많아지면 힘들어지는건 당연할듯합니다만, 일 요청건수 100 ~ 1000건 이내로 고민중입니다.

투표

개발자

#amazon

#ec2

#server

답변 2

댓글 1

조회 1,278

6달 전 · 익명 님의 질문

자바 메모리 누수 문제

프로젝트를 끝내고 aws 의 ec2 t2.micro 를 이용해서 배포를 했는데 메모리 누수가 심한 것 같습니다 docker 를 이용해서 배포해주고 있는데 heep space 에러가 메인 페이지 를 새로고침 몇번 하다보면 나더라구요 가상 메모리를 사용해서 메모리를 늘려주거나 코드에서 필요없는 변수를 지워주는 등 해봤는데 효과가 미미한것 같아요 본질 적인 문제는 어떤 시선으로 바라봐야 풀 수 있을까요?? 막막하네요 ㅜㅜㅜ

개발자

#java

답변 0

댓글 0

조회 29

7달 전 · aigoia 님의 댓글 업데이트

웹디자인 회사의 첫 개발자로 들어가게 되었어요. 조언 부탁드립니다!ㅠㅠ

안녕하세요. 취준 끝에 한 웹디자인 회사에 들어가게 된 신입 프론트엔드 개발자입니다. 회사에 대해 간단히 말씀드리면 원래는 웹 디자인만 하고 홈페이지 개발은 외주에 맡기던 회사였어요. 근데 이제는 개발자를 뽑아서 직접 홈페이지 개발도 하기로 하였고, 제가 첫 개발자로 뽑히게 되었습니다. 사실상 작은 외주업체라고 보면 될 것 같습니다 백엔드 개발자는 없기에 제가 어찌저찌.. 풀스택을 하게 될 것 같은데 걱정도 되지만 잘하고 싶은 마음도 큽니다. 그래서 몇 가지 궁금한 점 여쭙고 싶습니다. 1. 프론트엔드가 백엔드를 빠르고 쉽게 구현하는 방법이 있을까요? 실무에 firebase를 사용하면 욕먹을 짓인가요? - > 백엔드 지식이 거의 없습니다. 학습과 개발을 병행해야 하는 비용이 크면 회사에도 지장이 갈 것 같습니다. 그래서 당장은 'firebase로 먼저 시작을 하자' 인데, 사이드 프로젝트에서 사용한 것은 봤어도 풀스택개발자가 사용하는 경우는 못 본 것 같아서 고민이 됩니다. (구현하게 된다면 퍼블리싱, 애니메이션, 입력폼, 지도, 관리자페이지, 회원관리, 소셜로그인 등 정도의 기능이 다 라고 보면 될 것 같습니다.) 2. 제가 당장 해야 할 일의 순서와 중요도를(또는 방향성을) 선배님들께서 알려주시면 정말 감사하겠습니다. 서버는 AWS EC2로 충분할지, 보안은 SSL 인증서 적용으로 충분할지, firebase로도 운영툴을 만들 수 있는지, CI/CD는 지금 상황에선 비효율적인지 등의 걱정들로 머릿속이 아주 복잡합니다. 3. 사수가 없어서 아쉽지만, 그만큼 배워갈 것도 많다고 생각합니다. 1년은 꼭 다니고 싶은데 어떤 포인트를 잡고 무얼 얻어가면 좋을까요? 다음 이직때 물경력이라는 평가를 받고 싶지 않습니다ㅠ 시간 내주셔서 정말 감사합니다.

개발자

#프론트엔드

#백엔드

#풀스택

#취직

#취준

답변 1

댓글 2

추천해요 1

조회 101

7달 전 · 형준 님의 질문 업데이트

프로젝트 경험이 부족한 4학년 전공자 부트캠프를 해야 할까요?

안녕하세요 경기도권 대학 컴퓨터공학과에 재학중인 4학년 학생입니다. 우선 현재 제 상황을 설명해보겠습니다. 프로젝트는 총 두 번 진행했습니다. 첫 번째 프로젝트는 Django와 chatGPT를 이용한 프로젝트이고 전 이 프로젝트에서 기본적인 API 구현, chatGPT 연동 그리고 rabbitMQ와 celery를 이용하여 chatGPT의 답변을 비동기로 가져오는 기능을 구현했습니다. 두 번째 프로젝트는 Springboot와 Flask와 RVC(음성 변환 AI 오픈소스)를 이용한 프로젝트를 진행했습니다. SpringBoot는 REST API를 작성하는 서버이고 Flask는 RVC AI 모델 서빙만을 위한 서버입니다. 이 프로젝트에서 SpringBoot REST API 구현, CRUD 구현과 Flask 서버 구현을 맡아서 진행했고 AWS EC2 배포, S3, RDS, DOCKER(Compose), Nginx, Github Action(CI/CD)도 구현했습니다. 올해 여름 방학에 알고리즘 스터디를 통해서 주요 자료구조와 알고리즘에 대해 공부하고 공부한 내용을 블로그에 정리했습니다. 코테 문제는 대략 100문제 조금 안되게 풀었습니다. 대충 실력은 실버 4~2까지는 어찌저찌 풀 수 있는데 실버 1 골드 5는 쉬운 건 풀고 어려운 건 못 푸는 수준입니다. 현재는 CS 스터디 진행중이고 이제 시작하는 단계입니다. 자격증은 정처기 있고 올해 11월 SQLD 응시 예정입니다. 첫 번째 프로젝트는 포폴로 쓰기 애매하고.. 두 번째 프로젝트는 Devops 경험은 충분한 것 같은데 Spring으로 구현한 기능은 아주 기본적인 REST API밖에 없고 Flask(AI)가 메인이다 보니 제대로 된 Spring 프로젝트가 없습니다.그래서 제대로 된 Spring 프로젝트를 만드는 게 우선이라 생각합니다. 그럼 혼자서 사이드 프로젝트를 하거나 부트캠프에 들어가서 기초부터 차근차근 배운 후 팀 프로젝트를 진행하는 방법이 있는데 어떻게 해야 할지 고민입니다. 부트캠프는 거의 대부분이 기초부터 하는 커리큘럼이다 보니 최소 6개월은 해야 한다는 단점이 있고 혼자 하는 건 주변에 물어볼 곳도 없고 좀 막막합니다. 대신 결과물이 조그 부족하더라도 6개월보단 덜 걸릴 것 같습니다. 조언 부탁드립니다..

개발자

#부트캠프

#국비

#전공자

#취준

#취업

#전공

답변 0

댓글 0

추천해요 1

조회 207

9달 전 · 포크코딩 님의 새로운 답변

Aws 로드밸런스를 통해 https로 변환시 오류가 발생합니다.

정말 몇일째 잡고있는데 도저히 실행이 되지 않아, 질문글을 올립니다. 도와주시면 정말 감사드리겠습니다 ㅠㅠ... 현재 상태에 대해서 말씀드리겠습니다. 1. AWS Route 53을 통해서 도메인 구매 2. 도메인과 ec2에서 인스턴스를 생성한 ipv4와 연결 레코드 생성해서 ip주소 3.39.xxx.xx와 도메인 do-prove.com을 연결하는것까지는 확인 3. Aws Certification Manager를 통해서 인증서 발급 완료 4. 대상그룹 생성과 로드밸런스설정 완료 여기까지 한 상태입니다. 스프링을 그대로 사용하여서 8080포트를 사용하였습니다. 대상그룹에서 상태가 정상으로 뜨고, 상태확인이 healthy로 뜹니다. 인스턴스가 정상적으로 실행으로 뜨고, 3.39.xxx.xx:8080으로 접속시 제대로 접속됩니다. 또한 8080포트를 열어두었습니다. 로드밸런서 상태는 정상이고, 리스너는 해당 사진처럼 설정하였습니다. route53 호스팅영역의 아래 레코드 사진을 첨부하였습니다. https://do-prove.com:8080/으로 접속을 하려면 접속이 안됩니다. http://3.39.226.33:8080/으로 인스턴스로 접속하면 이건 또 됩니다. route53호스팅 레코드에서 A dual-stack지우고 do-prove.com으로 하고 3.39.226.33으로 설정해서 http://do-prove.com:8080/으로 접속하는것이 되는건 확인했습니다. 도대체 어디서 잘못되서 연결이 안될까요.. 부탁드립니다 사람하나 살려주세요 ㅠㅠㅠ

개발자

#spring

#aws

#https

답변 1

댓글 0

조회 54

일 년 전 · 프레드윰 님의 새로운 답변

기술 스택이 진짜 난잡하게 됬는데 이럴땐 어떻게 해야될까요...

저는 8년차 개발자 입니다. 첫회사에서 7년 다음 회사에서 1년의 경력을 가지고 있습니다. 첫회사에서 Spring Framework를 다뤘구요, 웹팀에서 화면 구현에 더 중점을 두고 개발을 하느라 제품에 사용된 spring기술을 전부 파악하니깐 5년차가 되어있었습니다. 그때쯤 되니깐 팀장부터 말단 직원까지 저한테 다 물어보러 오더라구요... 그래서 더이상 성장을 못한다고 판단하고 혼자서 SpringBoot로 이것저것 만들어보고 python도 배우고 node.js도 배워보고 React.js도 배워보고 그러면서 지냈습니다. 그러다가 이직 제안을 받게 되어서 바로 이직하게 되었어요. 두번째 회사는 클라우드, AI 등 최신기술을 사용하는 스타트업 회사였어요. 여기서 내부 서비스를 유지보수하면서 지내다가 회사에 돈이 없어서 SI 프로젝트를 몇개 진행하게 되었는데 제가 총괄을 맡아서 시스템설계, DB 설계, React.js, Flask 전부다 맡아서 진행하게 되었습니다. 이 프로젝트 진행하면서 AWS 서비스를 직접 구축하게 되었는데 그제야 진짜 성장한다고 느껴졌습니다. (VPC, LB, EC2, S3, Amplify, API Gateway 등등등) 직접 하나하나 구축하면서 클라우드서비스 파악도 되고 참 뿌듯했습니다. DB는 왠만한 RDBMS는 다 다뤄본거 같습니다. Mysql/MariaDB, 오라클, PostgreSQL, Cubrid, MS-SQL 까지요 근데 이 DB들 설치하고 쿼리 날려본게 큰 장점은 또 아닌 거 같고.. 그리고 impala, Redis, Elastic Search, InfluxDB 도 해봤구요... 그리고 DB 테이블 설계하고 쿼리 튜닝하는것도 할수는 있는데 이건뭐 짬차면 다 할 줄 아는거라 메리트도 없구요. 이렇다보니 뭐 하나 잘한다는 느낌이 안듦니다... 뭔가 할줄 아는건 많은데 알맹이가 빠져있는 느낌이에요.. 몇군데서 불합격통보를 받으니 좀 답답하네요

개발자

#커리어

#물경력

답변 1

댓글 0

조회 198

일 년 전 · 신진철 님의 새로운 댓글

우분투에서 pip install 시, 다음과 같은 오류가 발생합니다.

안녕하십니까 선배님들. 현재 AWS EC2에서 안드로이드 어플리케이션 용으로 백엔드 서버를 구축하는 도중, 다음과 같은 오류를 맞이했습니다. 현재 사용하는 ubuntu는 24.04 LTS 버전입니다. 도무지 해결 방안을 찾지 못해서 이렇게 조언을 구하고 싶습니다. 감사합니다. pip install git error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.12/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification.

개발자

#서버

#ec2

#ubuntu

답변 2

댓글 2

추천해요 1

조회 816

일 년 전 · 문종호 님의 새로운 답변

fastapi 서버 배포에서 어려움이 있습니다

aws ec2 인스턴스를 사용하고 있는데 파이썬 어플리케이션의 코드 속 디렉토리들이 로컬환경으로 되어있습니다. 디렉토리를 우분투로 변경하려면 어떻게 해야하나요?

개발자

#python

#fastapi

답변 1

댓글 0

조회 85

일 년 전 · 정엽 님의 새로운 댓글

AWS로 프로젝트 진행중입니다.

대학생이고... 프로젝트 과목 1학기 과제로 진행하고 있습니다!! 백엔드를 스프링부트 3.0이상 버전으로 프론트를 리액트로 진행중이고 스프링을 EC2 Ubuntu에 넣고 리액트를 S3로 정적 웹호스팅해서 각각 서버는 열리는데 서로 연동을 어떻게 해야할지 모르겠습니다... 아시는분들 도와주실수 있나요...??

개발자

#spring-boot

#react

#개발-고민

답변 1

댓글 3

조회 66

일 년 전 · 신예찬 님의 새로운 댓글

RCE 보안공격 질문입니다!

안녕하세요 백엔드 취업 준비생입니다 최근 프로젝트를 진행중에 배포서버를 구성해봤습니다 aws ec2에 docker compose로 nginx, WAS, redis를 컨테이너화해 동작시키고, nginx에 의해 3개의 WAS가 로드밸런싱 된 상태입니다(WAS 는 sping boot+spring security+JPA를 사용중입니다) route 53으로 Gabia에서 구매한 도메인을 연결해둬 도메인 접근을 허용해둔 상태입니다 배포 서버가 정상적으로 동작하는지 확인하기 위해 log를 보고 있었는데 이상한 요청이 보였습니다 요청 url에 `chmod 777`이라던지 `rm -rf`가 보여서 식겁해서 일단 서버는 내려뒀습니다 알아보니 RCE라는 공격 방식 같더라고요 그래서 RCE를 막는 최선의 방법이 무엇인지 궁금합니다 또 통상적으로 알고있으면 좋은 보안 방어 기법에는 어떤것들이 있을지 궁금합니다! (가능하면 AWS 과금이 없는방법이면 더 좋을거같아요 😊 😊)

개발자

#nginx

#security

#springboot

#aws-ec2

답변 1

댓글 1

조회 88

일 년 전 · cozy 님의 댓글 업데이트

Docker Container에 실행중인 Jar에서 Logback

logback-spring.xml 파일을 작성하고, jar파일로 패키징해서 ec2에 도커로 서버를 띄워둔 상태입니다. 컨테이너에서 실행중인 java application에서의 file logging을 ec2 내부로 곧바로 할 수 있나요?

개발자

#spring-boot

#docker

#logback

#logging

답변 1

댓글 3

조회 178

일 년 전 · 프레드윰 님의 새로운 답변

AWS 서버 인프라 접속 방법 문의드립니다.

AWS 서버 인프라를 아래와 같이 안내 받았는데요. ( [T2] public subnet ) > ( [T3] > [Amazon RDS] private subnet ) T2는 public ip가 있어서 ssh 접속이 되는데.. T2를 거쳐 T3에 접속해야 WAS에 접속해 PHP 소스를 docker로 배포할 수 있는데 SSH Tunning으로 T2거쳐 T3로 접속 할 수 있다는데, ssh -i "YourKey.pem" -L 8888:T3_Private_IP:22 ec2-user@T2_Public_IP 이런 명령어를 실행하고, localhost:8888로 접속하면 T3에 우회 접속 할 수 있다고 해서 계속 시도해보는데 T2에서 T3로 접속이 안되는거같아서 T2에 pem 파일 올려놓고 terminal에서 ssh 명령어로 T3에 직접 접속해보려고 해도 접속이 안되더라구요. 그래서 이게 저의 방법이 잘못된건지.. 아니면 T3의 SSH 포트번호가 기본 22가 아니라 다른 번호인건지 싶네요.. 그리고 db 접속은 T2 > T3 > RDS 이렇게 3단계를 거쳐야하는거 같은데.. MYSQL Client 프로그램같은데서 이렇게 3단계 설정하는건 못본거같은데.. 이건 그냥 T3 ssh terminal까지 접속 후 커맨드로만 db 접속해서 사용할 수 밖에 없는지.. 경험많은 서버 개발자님들 답변 부탁드릴게요~~ 감사합니다!

개발자

#aws

#ssh

#tunneling

#docker

답변 1

댓글 0

조회 130

일 년 전 · Jeahong 님의 새로운 답변

redis 연결 이슈 입니다!! 제발 도와주세요 ㅠㅠ

문제는 이렇습니다. prodRedisUrl = redis://:password@ec2프라이빗ip:6379/0로 url을 보냅니다. 그리고 ec2 내 redis bind를 ec2 프라이빗 Ip로 설정하고, 리스닝 하고 있는 상태입니다. 그러면 정상적이라면, 서버가 배포 됐을 때 prodRedisUrl로 redis와의 연결이 성공적으로 연결 됩니다. 근데 어이없는 문제가 발생합니다. 요청하지도 않은 localhost로 redis서버에 연결하려고 하는 것입니다. 그래서 시나리오를 세워서 반대로 테스트를 해봤습니다 !!!! prodRedisUrl = redis://:password@127.0.0.1:6379/0로 하고, 일부러 로컬호스트를 보내 봤습니다. 물론 ec2 내 redis.conf의 bind를 수정 했습니다. bind 127.0.0.1 테스트 해봤더니 127.0.0.1로 접속은 완료 됐지만 이제는 반대로 ec2 프라이빗 Ip로 연결을 요청해서 실패하네요 ㅋㅋㅋㅋㅋ ---- === 도대체 요청하지도 않은 ec2에서 그리고 알지도 못하는 프라이빗 ip로 redis서버에 접속하려는걸까요?????? ----------------------------------------- 즉, 정리하자면 요청하지도 않은 host로 Redis서버에 접속한다 !! 입니다. 로컬에서 테스트 할 때는 아무런 문제 없이 잘 작동하더니만 ec2에 배포하고 연결하려고 하니까 이 말썽입니다... 도저히 이해가 되지도 않고 원인 파악도 힘드네요,, 고수님들의 도움이 정말 필요합니다.. 부탁드립니다 ㅠㅠ

개발자

#redis

#nest.js

#node.js

답변 1

댓글 0

조회 130

일 년 전 · 박범수 님의 새로운 답변

AWS 잘알님을 찾습니다) 퍼블릭 IP 3개는 필수일까요?

안녕하세요! 사이드프로젝트를 하고 있는 주니어 개발자입니다. 얼마전 AWS에서 웹사이트를 배포하였는데요, AWS에서 (EC2 제외) 모든 퍼블릭 IP에 과금이 된다고 해서, 필수 IP들만 남겨 두려고 합니다. 현재 EC2 하나에 탄력적IP를 하나 할당했고, 웹사이트에 SSL적용을 위해 로드밸런서를 사용하면서, (최소 2개의 가용영역을 선택해야 하므로) 2개의 네트워크 인터페이스에 퍼블릭 IP가 각각 하나씩 할당되었습니다. 그래서 웹사이트 운영을 위해 이렇게 총 3개의 퍼블릭 IP는 어쩔 수 없이 꼭 사용을 해야하는 것 같은데, 맞는지 궁금하여 여쭤봅니다!! 답변 고맙습니다🙏

개발자

#aws

#웹사이트

#ip

답변 1

댓글 0

조회 115

6달 전 · 백승훈 님의 답변 업데이트

백엔드 개발자로 1년간 취준했던 신입입니다. IT 쪽 개발 전망에 대해 몇가지 궁금한 점이 있습니다.

현재 개발 외 직군으로 입사해서 개발자로 이직을 준비하려고 합니다. stack : java spring 인프라 경험 : aws ec2, mysql 학습내용 인프런 김영한 spring 완전정복코스(https://tinyurl.com/23s6uonc)에서 스프링 입문, 스프링 핵심 원리, HTTP, MVC1, MVC2 김영한의 스프링 부트와 JPA 실무 완전 정복 로드맵(https://tinyurl.com/2dzrelgr)에서 ORM, JPA 활용1, JPA활용2 포트폴리오 1(팀 / 앱개발 프로젝트) - https://github.com/heoeuntaek/capstone-spring 포트폴리오 2(개인/ 웹게시판 프로젝트) - https://github.com/heoeuntaek/project-post 이 정도까지 준비를 했습니다. 서울, 부천 등 인천과 가까운 100개 넘는 자바스택의 백엔드, SI 회사에 지원 - 5개만 서합, 1개 코테, 4개 면접 모두 탈락 2022~2023년 동안 개발자 붐이 일어나 현직 개발자, 개발자 취준생이 많고 AI가 발전함에 따라 어느 정도의 개발을 대체하기에 기업이 신입에게 요구하는 역량이 더 커져 신입 개발자의 문턱이 커진 것 같은데요, 1. IT 업계 전반적으로 전망이 궁금합니다. 2. 구체적으로 백엔드 개발 쪽의 전망이 궁금합니다. 3. 개발자 준비를 계속해서 한다면 신입으로서 Spring, 인프라, 알고리즘 등 분야마다 어느정도의 역량은 갖춰야 한다고 생각하시나요? 4. 케바케겠지만 개발자가 수명이 짧다고 들었는데 어떻게 생각하시나요?

개발자

#이직

#전망

#백엔드

#개발자

#스프링

답변 3

댓글 0

추천해요 4

조회 932

일 년 전 · nowv 님의 새로운 댓글

파일 변환 및 전송에 대한 질문입니다.

영상파일을 서버 - aws s3로 저장하는 로직을 구현중입니다. 서버단에서 영상파일에 대한 편집작업을 한 다음 s3에 원본과 같이 저장시키는 것이 계획이었습니다. 서버에서 ffmpeg, fluent-ffmpeg를 이용한 변환작업은 다음과 같습니다. - 영상 watermark 작업 - hls를 위한 .m3u8파일 변환 작업 - 썸네일 생성 작업(.ts파일의 0초대를 썸네일 및 미리보기로 생성)- 이부분은 테스트중입니다. s3 url을 요청하여 영상파일을 실행시키는 계획을 생각했고 이는 로컬에서 성공했습니다. ec2서버에 배포한다음 위 과정을 실행해보니 변환과정에서 서버단 부하가 너무 심해서 변환하는 시간이 너무길거나 서버가 다운되는 이슈가 생겼습니다. ec2성능 자체를 올리고 업로드 용량 제한도 다시 설정할 계획이나 여전히 많은 유저가 이 기능을 사용할 경우 서버가 견디지 못할 가능성이 있다고 생각합니다. 지금 생각해보고 있는 대안은 두가지입니다. 대안 1: aws mediaConverter를 이용해 변환한다. 1. 원본 영상을 버킷a로 보낸다. 2. 람다 트리거를 이용해 aws mediaConverter로 변환요청을 보낸다. 3. 변환한 영상을 버킷 b에 저장한다. 4. 클라이언트에서 버킷 b에서 cloudFront를 통해 요청한다. 대안 2: 업로드 전용 ec2를 생성하여 따로 변환한다.(처음 계획했던 과정에 ec2를 새로 생성, 성능 고도화하기) mediaConverter의 영상변환에 필요한 작업 생성(또는 작업 프리셋 생성)이 너무 어려웠던 기억이 있어 ffmpeg를 이용할 생각을 하였는데 영상변환에 너무 많은 리소스가 들어간다는 생각을 못했습니다. 영상 변환 및 업로드 작업을 경험해본 분들이 있다면 좋은 공유를 받고싶습니다.

개발자

#aws

#ffmpeg

#mediaconverter

#m3u8

#backend

답변 1

댓글 1

조회 89

일 년 전 · 류호준 님의 새로운 답변

이거 해킹당한건가요?

Ec2에 개인 프로젝트를 배포했습니다. 그런데 요청이 시간 초과로 계속 실패해서 톰캣 매니저 페이지에 들어가봤습니다. “/web-server”라는 새로운 페이지가 생겨있고, 사용자도 거의 없어서 저 혼자만 드나드는 사이트인데 세션이 20개 가까이 생겨있더라구요. Ec2 cpu 사용율도 100% 가까이 찍힌 기록도 발견했습니다. 이거 해킹당한건가요? 현재는 인스턴스를 중지해 놓은 상태입니다.

개발자

#해킹

답변 2

댓글 0

조회 555

일 년 전 · ㄱㅎㅁ 님의 답변 업데이트

정기적 서버트래픽 데이터센터가 나을까요 클라우드서버가 나을까요

안녕하세요 현재 데이터센터에서 월 25만원으로 서버를 임대해서 예약-결제 사이트를 운영하고 있습니다. 평소에는 하루에 접속자수 100명, 동시접속자는 많아야 10명인데, 한달에 한번 두시간동안 트래픽이 맥스 2500명 가량 되고 이때 서버가 다운까지는 아니고 매우 느려지는 접속지연이 심하게 발생합니다. 웹사이트 유지보수 업체에서 서버를 관리하고 추가개발 등을 의뢰하고 있는데요, 제 생각엔 aws ec2 클라우드로 배포하면 평소에 큰 리소스가 필요하지 않아서 싸게 운용하고 한달에 하루, 2시간만 확장해서 쓰면 25만원 내에서도 가능하지 싶은데.. 업체는 자세한 설명이 없고 현 서버의 cpu 사양을 두배로 올리겠다고 합니다. 그러면 비용이 25->40만원이 되구요 지금 평소에 필요하지도 않은 리소스 때문에 이미 서버 사양을 많이 올린 상태입니다. 그래도 예약 두시간에 지연이 심하게 발생하고 있구요..(서버 사양은 밑에 적겠습니다) 혹시 클라우드 서버의 과금에 대해 잘 아시는분이 계실까요?? 월 50만원까지는 사용이 가능할것 같은데 두시간을 위해 한달치 서버사양을 올리는게 맞는건지.. 여태껏 올려왔는데도 지연이 발생하는데 해결은 될지 답답합니다. 아래는 현재 데이터센터에서 임대하고 있는 서버컴퓨터의 사양입니다. CPU : xeon x5670 2EA(12코어 24쓰레드) 램 16기가 SSD 500GB SAS HDD 600GB

개발자

#서버

#서버배포

#서버이전

#서버-성능

#서버-트래픽

답변 1

댓글 0

조회 98

일 년 전 · 개발자A 님의 답변 업데이트

서버 SSL 적용 시 도메인

안녕하세요. 현재 AWS EC2에서 amazon linux로 인스턴스를 생성하고 spring boot, java 프로젝트를 배포했습니다. Https로 전환하기 위해서 ssl을 적용하려고 하는데 도메인이 필요하다고 하더라구요. 이 도메인을 사용자가 볼 일이 있을까요? 아니라면 서비스 이름과는 상관없이 가격이 가장 저렴한 도메인을 구매하고 싶어서요! 참고로 프론트엔드는 react이고 백엔드와는 깃허브 프로젝트가 분리되어 있으며 깃허브 페이지로 배포했습니다. 해보신 분 조언 부탁드립니다!

개발자

#ssl

#ec2

#aws

답변 1

댓글 0

조회 75

일 년 전 · 익명 님의 질문

개발 SI 회사 파산시 제가 요청해야 할 것이 무엇이 있을까요? ㅜㅜ

안녕하세요, 다름이아니라 제가 개발을 외주로 맡기고 있었는데 외주 회사가 곧 파산을 한다고 합니다. 회사 말로는 “현상태로 개발을 종료하고 인수인계 자료를 만들어서 추후 타 개발사와 코웍하실 수 있게끔 해드리게 하겠다”라고 하는데 이 때 제가 무엇을 요청해야 하는 것이 있을까요? 참 답답하네요.. PHP, Android, Flutter, AWS(EC2,RDS), Mysql, Firebase, Codeigniter 전체 소스코드 및 문서: - 현재까지의 모든 소스코드 - 프로젝트 관리 문서, 기술 문서, 설계 문서 등의 모든 문서 - 사용된 데이터베이스의 전체 백업과 함께, 데이터베이스 스키마 또는 구조에 대한 문서

개발자

#flutter

#android

#php

#aws

답변 0

댓글 0

조회 143

일 년 전 · 이창협 님의 새로운 댓글

aws-rds mysql 속도

안녕하세요 로컬환경에서 expressjs로 json 형태의 임시db를 만들어서 게시판을 만들었는데요. 이땐 속도도 빠르고 문제가 없었는데 ec2로 서버를 옮기고 rds에 mysql로 db를 옮겼는데요. 페이지이동 할때 10개씩 끊어서 가져오는데 데이터 가져오는데 속도가 엄청 느리더라구요. aws에서 사용하는 스펙이 느려서 그런걸까요 아니면 제가 설정을 잘못해서 그런걸까요 부끄러운코드지만 url도 올려놓겠습니다. http://18.116.200.216:3000/

개발자

#react

#expressjs

#rds

#ec2

#mysql

답변 2

댓글 5

조회 126

일 년 전 · 백승훈 님의 댓글 업데이트

Nginx, Express 연결 후 프론트에서 이미지 파일 전송시 408 Error

안녕하세요. 혼자 해보던 도중 도저히 해결이 되지 않아 문의드립니다. - 서버 설계 - 현재 저는 Express앱을 AWS EC2 인스턴스에 NGINX를 설치한 후 proxy_pass에 express앱이 구동중인 port를 연결하여 사용하고 있습니다. 이 과정에서 ALB를 통해 ACM을 연동하여 HTTPS 프로토콜이 사용가능하게 설정까지 하였습니다. 이미지 파일업로드는 multer-s3를 이용해 s3버킷과 연결하여 업로드 되는 방식입니다. - 문제상황 - 로그인과 기본적인 CRUD는 문제없이 되는데, 프론트에서 이미지 파일(multipart/form-data)을 서버로 전송하면 504 오류가 출력됩니다. 1. nginx의 access.log에는 해당 uri의 상태코드가 408이라 출력됩니다. 2. nginx의 error.log에는 readv() failed (104: Connection reset by peer) while reading upstream가 출력됩니다. 3. 개발자도구의 console창에 'server의 이미지 업로드 uri' from origin '프론트 도메인'이 has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 이라 출력됩니다. 위 오류를 해결해보기 위해 시도해본 것은 아래와 같습니다 1. NGINX의 proxy_connect_timeout, proxy_send_timeout, proxy_read_timeout, send_timeout을 600으로 설정, client_max_body_size를 500M으로 설정 2. ALB의 유휴제한시간 600 설정 3. Express 앱에 app.set('trust proxy', true); 추가 4. Express-session에 app.use(session({proxy:true})) 추가 5. body-parser에 app.use(bodyParser.json({limit: '1000mb'})); 추가 및 app.use(bodyParser.urlencoded({limit: '1000mb', extended: true})); 추가 6. 업로드되는 uri의 미들웨어에 (req, res, next) => { req.setTimeout(1000000); next(); } 추가 7. upload.single()미들웨어를 주석처리 후 req.file 출력 시도 아직도 해결을 하지 못하였습니다 ㅜㅜ 연휴임에도 도와주시면 너무 감사하겠습니다..

개발자

#aws

#alb

#nginx

#express

#ec2

답변 2

댓글 4

조회 312

일 년 전 · 장훈 님의 새로운 댓글

AWS 로드밸런서 504 오류

안녕하세요. 혼자 해보다가 도저히 해결이 되지않아 도움을 구하고자 글을 작성합니다. Express로 구축한 서버를 배포하기위해 AWS EC2를 이용해 ubuntu 인스턴스를 생성한 후 Nginx를 인스턴스 내에 설치하고 Express를 pm2로 구동한 후 Nginx와 proxy를 연결하여 정상적으로 작동됨을 확인했습니다. (Curl 확인 및 퍼블릭 ip주소 접근) 그런데 ACM을 통해 발급받은 SSL인증서를 연동하여 HTTPS연결이 가능하게하려고 로드밸런서를 생성하였는데 cdn접속시 504 오류가 나옵니다. 또, 대상그룹도 아래 사진과 같이 Unhealthy, Request timed out이라 나옵니다 (인스턴스 퍼블릭 IP주소는 정상적으로 접근이 가능함) 어떻게해야 ssl인증서를 연동하여 https연결이 가능하게 할까요 ㅜㅜ 제발 살려주세요 12시간 넘게 삽질중입니다.ㅑ

개발자

#ec2

#express

#nginx

#https

#ubuntu

답변 3

댓글 13

조회 814

일 년 전 · 다형 님의 답변 업데이트

aws spring boot 배포 오류

안녕하세요 백엔드 공부 중인 학생입니다. aws ec2로 Spring boot 프로젝트를 배포 시도 중에 있습니다. (maven, java 8, jar) java -jar jar파일명.jar 명령어로 배포 시도 중에 에러메세지가 도저히 해결이 안되어서 도움 요청드립니다.. 도와주신다면 감사하겠습니다.. 아 참고로 rds로 데이터베이스 생성하지 않고 mysql(workbench)로 데이터베이스 생성했습니다 <오류메세지> Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-02-07 04:33:35.742 ERROR 31012 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar!/:5.3.22] at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_392] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) [spring-boot-2.7.2.jar!/:2.7.2] at com.se.social.SocialApplication.main(SocialApplication.java:13) [classes!/:0.0.1-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_392] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_392] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_392] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_392] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar!/:5.3.22] ... 22 common frames omitted Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector(StandardService.java:238) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.7.2.jar!/:2.7.2] ... 24 common frames omitted Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1077) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:234) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 26 common frames omitted Caused by: java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:461) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:453) ~[na:1.8.0_392] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222) ~[na:1.8.0_392] at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:275) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:230) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1313) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:614) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.connector.Connector.startInternal(Connector.java:1074) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 28 common frames omitted <전체> . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.2) 2024-02-07 04:33:27.975 INFO 31012 --- [ main] com.se.social.SocialApplication : Starting SocialApplication v0.0.1-SNAPSHOT using Java 1.8.0_392 on ip-172-31-39-15 with PID 31012 (/home/ubuntu/socialboardPJ/target/social-0.0.1-SNAPSHOT.jar started by ubuntu in /home/ubuntu/socialboardPJ/target) 2024-02-07 04:33:27.980 INFO 31012 --- [ main] com.se.social.SocialApplication : No active profile set, falling back to 1 default profile: "default" 2024-02-07 04:33:29.591 INFO 31012 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode. 2024-02-07 04:33:29.681 INFO 31012 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 76 ms. Found 1 JPA repository interfaces. 2024-02-07 04:33:30.960 INFO 31012 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 80 (http) 2024-02-07 04:33:30.986 INFO 31012 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-02-07 04:33:30.987 INFO 31012 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] 2024-02-07 04:33:31.641 INFO 31012 --- [ main] org.apache.jasper.servlet.TldScanner : At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 2024-02-07 04:33:31.880 INFO 31012 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-02-07 04:33:31.880 INFO 31012 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 3717 ms 2024-02-07 04:33:32.215 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-02-07 04:33:32.569 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2024-02-07 04:33:32.659 INFO 31012 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default] 2024-02-07 04:33:32.822 INFO 31012 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.10.Final 2024-02-07 04:33:33.157 INFO 31012 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final} 2024-02-07 04:33:33.383 INFO 31012 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect 2024-02-07 04:33:34.255 INFO 31012 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform] 2024-02-07 04:33:34.266 INFO 31012 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2024-02-07 04:33:34.906 WARN 31012 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2024-02-07 04:33:35.616 WARN 31012 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server 2024-02-07 04:33:35.620 INFO 31012 --- [ main] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2024-02-07 04:33:35.624 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-02-07 04:33:35.646 INFO 31012 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2024-02-07 04:33:35.650 INFO 31012 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2024-02-07 04:33:35.676 INFO 31012 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-02-07 04:33:35.742 ERROR 31012 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'webServerStartStop'; nested exception is org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar!/:5.3.22] at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_392] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar!/:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) [spring-boot-2.7.2.jar!/:2.7.2] at com.se.social.SocialApplication.main(SocialApplication.java:13) [classes!/:0.0.1-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_392] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_392] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_392] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_392] at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65) [social-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT] Caused by: org.springframework.boot.web.server.WebServerException: Unable to start embedded Tomcat server at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:229) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar!/:5.3.22] ... 22 common frames omitted Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed at org.apache.catalina.core.StandardService.addConnector(StandardService.java:238) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.7.2.jar!/:2.7.2] at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.7.2.jar!/:2.7.2] ... 24 common frames omitted Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed at org.apache.catalina.connector.Connector.startInternal(Connector.java:1077) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.core.StandardService.addConnector(StandardService.java:234) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 26 common frames omitted Caused by: java.net.SocketException: Permission denied at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:461) ~[na:1.8.0_392] at sun.nio.ch.Net.bind(Net.java:453) ~[na:1.8.0_392] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:222) ~[na:1.8.0_392] at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:275) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:230) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1313) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:614) ~[tomcat-embed-core-9.0.65.jar!/:na] at org.apache.catalina.connector.Connector.startInternal(Connector.java:1074) ~[tomcat-embed-core-9.0.65.jar!/:na] ... 28 common frames omitted

개발자

#aws

#springboot

#배포

답변 1

댓글 0

조회 610

일 년 전 · inni 님의 새로운 댓글

Docker Hub Image Push 후에 EC2에서 자동으로 Pull -> service start하기

현재 GithubAction으로 Spring Boot jar 파일을, 도커 빌드, 도커 푸시까지 완료해서 도커 허브에 private repo에 올려놓는데 까지는 성공했습니다. 여기서 두번째 단계로, ssh action을 사용하지 않고 private subnet에 위치한 EC2 instance에서 푸시된 도커 이미지를 가져와서 compose up을 하고 싶습니다. 이걸 수행할 수 있는 팁이나 방법이 있을까요? self-hosted라는게 보이는데 잘 모르겠더라구요.. 제가 찾지 못하는 팁이나 자료들 부탁드립니다! 감사합니다!

개발자

#docker

#ci/cd

#spring-boot

#githubaction

답변 1

댓글 1

보충이 필요해요 1

조회 123

일 년 전 · 디큐 님의 새로운 답변

AWS EC2 서버 관련해서 질문 있습니다

서버에서 코드 테스트를 위해 pc와 서버에서 코드를 둘다 실행했는데, pc에서 결과값은 7개가 나왔지만 서버에선 4개밖에 나오지 않더군요. 혹시 파이썬 버전이 다르면 이런 문제가 생길 수 있나요? pc는 3.12 서버는 3.9사용중 입니다. 만약 버전 문제가 아니라면 어떻게 해결해야할까요

개발자

##python

#aws

#ec2

답변 1

댓글 0

보충이 필요해요 2

조회 112

일 년 전 · 이지우 님의 질문 업데이트

웹 개발만 해봤던 대학생 앱을 만들어 보려고 합니다.

저는 저번 회사에서 인턴을 하면 리액트 장고로 웹 개발만 해본 경험이 있습니다. 이번에 앱을 만들어 보려고 하는데 개발 흐름 자체가 어떻게 되는지 궁금하여 고수님들께 조언을 구하고자 글을 씁니다. 저는 크로스 플랫폼으로 제작하려 해서 프론트는 리액트 네이티브로 만들고 백앤드는 똑같이 장고로 작업을 하려고 생각하고 있습니다. 그런데 여기서 의문점이 웹에서는 프론트, 리버스 프록시, 백앤드를 한꺼번에 한 파일에서 관리해서 서버에 올렸었는데 앱은 따로 플레이스토어나 앱스토어에 apk파일을 올려야하지 않습니까....? 그렇다면 앱에서 서버 데이터베이스 등을 이용하려면 백앤드만 따로 아마존 ec2같은 서버에 배포해 놓는 걸까요? 되도록이면 파이어베이스는 알람 기능 구현에만 사용하고 서버 쪽을 직접 짜보려고 합니다. 제가 이해한 바로는 apk파일에는 리액트네이티브(프론트)와 장고(백)을 빌드한 파일이 들어가고, 서버는 또 따로 장고 등을 사용해서 만들어서 ec2 등에 배포해서 그 둘이 통신하는 구조가 맞을까요? 도움 주시면 열심히 경청하도록 하겠습니다. 감사합니다 :) 다들 좋은 연말 되세요!

개발자

#react-native

#django

#ec2

#app

답변 1

댓글 1

조회 174

일 년 전 · 백승훈 님의 답변 업데이트

프론트엔드 웹뷰 질문입니다.

1. 웹뷰 작업은 vite react 로 해도 괜찮을까요? 구글링 했을때 레퍼런스가 많지 않아서 정확하게 결정을 못내리겠습니다 2. Next 로 작업을 한다면 SSR 이외에 이점은 뭐가 있을까요? 3. 웹뷰 작업 후 React 는 AWS 를 이용한다면 S3 버킷에 올려 퍼블릭 엑세스 할당 후 클라우드 프론트를 태워서 호스팅 하면 될 것 같은데 Next 는 어떤 방식으로 호스팅을 할까요? 기존에 Vercel 과 EC2 위에 Next 프로젝트를 호스팅 한 경험이 있습니다. 4.앱에서 로그인이 된 상태에서 웹뷰를 띄었을때 세션을 유지하는 방법은 어떻게 될까요? 로그인 인증은 JWT 방식입니다. 네이티브 앱에서 로그인 된 상태에서 웹뷰를 띄어서 세션을 유지하는 방법의 플로우를 알려주시면 감사하겠습니다.

개발자

#webview

#react

#frontend

#web

#next.js

답변 1

댓글 0

조회 606

일 년 전 · 최유태 님의 질문 업데이트

어떤 ec2 인스턴스를 사용해야할지 모르겠습니다.

안녕하세요. 현재 프론트엔드 직무를 지망하는 취준생입니다. 자소서만 작성하다가는 개발 실력이 늘지 않아서 포트폴리오 겸, 제가 만들어보고 싶은 웹 사이트를 개발중입니다. 사이트 기능 중 멀티접속이 되는 메타버스를 만들려고 하는데 이를 위해서 socket통신용 node.js 서버를 구현했습니다. 서로의 캐릭터 위치를 동기화시키기 위해 각자 매 초에 60번씩 (즉, 1프레임에 1번) 자신 캐릭터의 위치를 socket으로 보내고 다른 사람들은 이 정보를 받아 다른 캐릭터의 위치를 업데이트 시키는 방식입니다. free티어로 제공하는 인스턴스로는 서버에 무리가 갈거같아서 유료 인스턴스를 구매해서 사용해볼 예정인데, 어떤 ec2가 이러한 작업에 어울리는지 판단이 어렵습니다. 그냥 개인적인 포트폴리오 사이트여서 동시접속자는 많아야 10명도 안될것으로 예상됩니다. 이런 상황에서 어떤 ec2를 사용해야할까요?

개발자

#aws-ec2

#aws

답변 1

댓글 0

추천해요 1

조회 87