3회차

CJY·2023년 5월 17일
0

프로젝트1

목록 보기
3/8

API 서버 배포

  1. 환경 변수 분리
  2. CORS 셋팅
  3. 예상치 못한 에러에 대한 처리
  4. AWS의 Elastic Beanstalk를 활용한 서비스 배포

IaaS, PaaS, SaaS
https://library.gabia.com/contents/infrahosting/9097

환경 변수 분리는 했지만 배포 환경 db source 설정은 어떻게 해야하나?
https://tecoble.techcourse.co.kr/post/2022-10-04-active_profiles/

CORS란?
https://evan-moon.github.io/2020/05/21/about-cors/
https://it-eldorado.tistory.com/163

spring boot cors 설정
https://dev-pengun.tistory.com/entry/Spring-Boot-CORS-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

CORS를 해결하는 3가지 방법(Filter, @CrossOrigin, WebMvcConfigurer)
https://wonit.tistory.com/572

나중에 spring security를 적용한다면
https://velog.io/@minchae75/Spring-boot-CORS-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.

ec2 처음 생성 오류. 직접 인스턴스 생성으로 해결
https://stackoverflow.com/questions/30790666/error-with-not-existing-instance-profile-while-trying-to-get-a-django-project-ru

Configuration validation exception: Invalid option specification (Namespace: 'aws:elasticbeanstalk:managedactions', OptionName: 'ManagedActionsEnabled')

IAM

ElasticBeanstalk는 port 5000번을 기본으로 사용.
application.yml에서 설정 필요

2일 동안 고생한 문제점

Java5부터 생긴 에러라고 한다. 컴파일이 정상적으로 실행되고 서버도 정상적으로 동작한다. 근데 배포할 때 이거 하나 때문에

2023/05/18 09:28:32 [error] 11820#11820: *22 connect() failed (111: Connection refused) while connecting to upstream, client: 34.78.6.216, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5000/", host: "52.78.27.253"

이런식으로 connection refused가 됐다. 지금까지 ec2 ip주소로 바꿔보고, 포트 설정을 aws 콘솔에서 추가해보고 등등.. 이틀동안 할 수 있는 일은 다 해봤다.

그래서 원인이 무엇이냐.
unchecked operation 중에 제네릭 타입 클래스를 선언할 때 자료형이 명시되지 않았을 때 발생한다고 한다. 아마 아래에서 발생한 문제인 것 같다.

그럼 제네릭 빌더에서 unchecked 경고가 안 나오게 하는 방법은?

아직 해결하지 못한 의문점

CORS에서 simple request의 content-type에 application/json이 포함되지 않는다. 근데 따로 설정 안해줘도 동작할까?

application.yml에서 spring.jpa.hibernate.ddl-auto를 create로 실행했다가 none으로 바꾸면 어떻게 될까?

profile
열심히 성장 중인 백엔드

0개의 댓글