AWS/ElasticBeanstalk

github action으로 배포하려는데, 환경변수가 안먹는다. syntax 오류인 것 같은데 천천히 알아보자. 일단 위처럼 Dockerrun.aws.json 파일이 있다고 생각하자. .py , .js , .env file은 수정하기 편한데, .json 파일의 value나 key는 수정하기 여간 불편한게 아니다. json file을 수정하려면 sed 명령어를 사용해야한다. 나는 위와 같이 Dockerrun.aws.json 파일의 value 값을 수정하려고 한다. 코드를 대략적으로 설명하자면, Name이라는 키를 가지고 있는 key : value를 수정하는데, value는 build-image steps의 출력물인 image 값으로 바꾸겠다라는 뜻이다. 그리고 file 명은 Dockerrun.aws.jso..
만약 Deploy를 하다가 뭔가 잘못됐으면 eb-engine을 보라고 한다. 근데 처음 EB를 배포하면 로그를 어디서 봐야하나 고민이 많을 것이다. EB 배포 시 로그 보는 법에 대해서 말해보고자 한다. 환경을 누르면 위와같이 로그 탭이 있다. 1. 마지막 100줄 그럼 이와 같이 나오는데, 한 번 새로고침을 하고나서 지금 배포했을 때 급한 에러만 보고 싶으면 마지막 100줄을 누르면 창이 뜨면서 위와 같이 로그가 나온다. 그래서 [ERROR] 부분을 보고 트러블 슈팅을 해나가면 된다. 2. 전체 로그 전체 로그를 누르고 다운로드를 누르면 zip 파일이 나온다 log - eb-engine.log 파일을 보면된다. 처음부터 끝까지 로그가 나와있으니 ctrl + F 해서 ERROR, INFO 등 지정해서 보..
elastic beanstalk의 instance 사이즈가 작아서 배포가 안될 때 해결방법이다. 1. eb 환경을 재구축 우선 이전에 만들었던 환경은 삭제하거나 갈아끼우거나 하는 방법이다. eb create -i t3.small 위와 같이 만들고 싶은 인스턴스의 사이즈를 직접 지정한다. 그럼 사이즈를 지정한 ec2 instance가 생성되어 있다. 2. 또다른 방법은 ec2에 들어가서 instance size를 변경시키는 것이다. 인스턴스 중지를 누른다(종료는 인스턴스 삭제됨!) 나는 중지를 안시켜서 그런데, 인스턴스 중지를 시키면 인스턴스 유형 변경을 클릭 할 수 있다. 저기로 들어가서 인스턴스 사이즈를 변경하면 된다. 2번 째 방법 테스트해보니까 Elastic beanstalk는 인스턴스 중지시 종료..
저번 글에서 nginx의 client_max_body_size를 수정해서 이미지의 사이즈 제한을 증가시키자고 했다. 이번건 매우 간단하다. .platform 디렉토리를 생성하고 nginx 디렉토리 만들고 conf.d 디렉토리 만들고 client_max_body_size.conf 파일을 만든다음에 client_max_body_size 0; 이거만 넣어주면 된다. 나는 이미지의 사이즈에 제한을 두고 싶지 않아서 0으로 했다. 참고로 default size는 1mb 이다. 요즘 이미지 사이즈들은 엄청 커서 300mb 정도 하는것도 많다. 그래서 그냥 사이즈 지정하지 않도록 했다. 이렇게 배포하면 자동으로 nginx 설정에 추가된다고 한다. [참고] https://aws.amazon.com/ko/premiums..
Elastic Beanstalk에서 환경 분리를 통해 서로 다른 버전의 애플리케이션을 서로 다른 환경에 배포할 수 있다. - dev, staging, production 등 분리가 가능하다. --> 즉, 1개의 어플리케이션에 여러개의 환경을 만들고, 그 환경에 자동 배포가 가능하도록, github action, 로드밸런서, 도메인 설정 등을 해주면 되는 것이다. 이 글에서는 django 환경분리를 다루지는 않을 것이다. 다른 글에서 한 번 다뤄보겠당 1. 환경 구성 우선 eb create 로 환경을 만들어준다. AWS Elastic Beanstalk - (6) 번에서 eb create로 환경을 만들어주고 배포하고 로드밸런서, 도메인 설정한 걸 똑같이 만들면 된다.(그럼 도메인이 2개가 되야하는게 맞당) ..
1. github action commit tag 2. http -> https 리다이렉트 https redirection 을 해보고자 한다. 현재 내 load balancer 리스터 상태이다. https://www.youtube.com/watch?v=E5TkqBIB4fY http 프로토콜 Load balancer 80번 포트로 되어있는 것을 삭제한다라고 나와있는데, 나는 이게 없다. aws는 맨날 ui 바꿔서 혼란을 주는 것 같다. 편하게 만들려는 것은 알겠는데, 그럼 이전 안내 기록은 없애야하는거 아니냐... 계속 공식 유투브에 올라가 있네 ㅂㄷㅂㄷ 그러다가 내가 찾는 영상을 발견했다. https://www.youtube.com/watch?v=vJYJB2KXeso Enable https and red..
해결해야할 것들이 남아있다. 1. github action commit tag https 리다이렉트 3. auto scaling 어떤 서버에 연결되던, 어디에 푸쉬를 하던 최신 번호 확인이 필요해서 hash 를 쓴다고 한다. 인터넷을 보면 아래처럼 많이 써서 나도 이렇게 썼는데, repository에서 이미지를 못 가져오는것이었다. env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} ECR_REPOSITORY: IMAGE_TAG: ${{ github.sha }} 그래서 ${{ github.sha }} 이게 뭔지를 공부하기 시작했다. 푸쉬한 브랜치의 최신 번호를 가져온다고 하는데 나는 자꾸 이걸 못가져오는 것이다. 어디서 못가져오느냐? Dockerrun..
하고자 하는 것은 1. nginx없이 load balancer로 port forwarding 하기 2. 도메인은 가비아 사용하며 3. 서브도메인 사용할거임 4. acm 으로 ssl 인증서 적용할거임 ALB(Application Load Balancer)를 사용하여 포트 80 및 443에서 트래픽을 전달할 수 있습니다. ALB는 고급 요청 라우팅 기능을 기반으로 여러 대상에 트래픽을 분산할 수 있는 레이어 7 로드 밸런서입니다. 또한 HTTPS 트래픽에 대한 SSL 종료를 처리할 수도 있습니다. 포트 포워딩에 ALB를 사용하는 방법에 대한 개요는 다음과 같습니다. VPC에서 ALB를 생성하고 포트 80 및 443에 대한 리스너 규칙으로 구성합니다. 요청이 전달될 대상 그룹을 지정할 수 있습니다.Docker..
알면 알 수록 재밌다!
'AWS/ElasticBeanstalk' 카테고리의 글 목록 (2 Page)