왜 Elastic Beanstalk 였나? 작은 스타트업은 인력이 적고 빠르게 개발을 하여 성과를 만들어야된다. 작은 스타트업같은 경우는 인프라 전문 인력을 구하기 힘들기 때문에 보통 백엔드와 병행하여 인프라 작업을 구축한다. Elastic Beanstalk은 이러한 상황에서 인프라 관리를 도와줌으로 개발자가 코딩에만 집중할 수 있도록 해주었다. 실제로 사용해보며 무슨점이 편했는가? 배포 용이 Elastic Beanstalk + Docker 플랫폼을 사용하였는데 EC2에 직접 Docker 다운로드 해줘야했지만 그럴 필요가 없었다. 원클릭으로 쉽게 배포할 수 있다. (압축 파일 또는 docker-compose.yml 파일을 선택하여 올리면 배포 끝.) 운영 환경을 빠르게 구축할 수 있도록 도와준다. Clo..
AWS
에러 ELB 액세스 로그를 S3에 저장하려 할때 나오는 오류이다. S3에 권한을 추가 시켜주면된다. 정책 복사하기 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::elb-account-id:root" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-name/prefix/AWSLogs/your-aws-account-id/*" } ] } S3 버킷 이동 → 권한 클릭 → 정책 변경 그 전에 이것저것 추가했다면 정책이 엄청 많을 것이다. 이럴 땐 당황하지말고 Statement[] 안에 값만 잘 복사하도록 하자. { "Ef..
ElasticBeanstalk 로드밸런싱 설정 [ElasticBeanStalk] -> [환경] -> [구성] 으로 이동하면 해당 화면을 만날 수 있다. 리스너 외부에서 들어오는 포트에 대한 설정이라고 생각하면 된다. 그림을 보면 HTTPS 443 포트만 활성화 시켜두었고 HTTP 80 포트는 비활성화 시켜놨다. 프로세스 리스너로 들어온 포트를 어떤 포트로 맵핑 시켜줄지 설정할 수 있다. 그림을 보면 443포트로 들어온 통신을 HTTP 9090 포트로 보내주고 있다. 즉, 로드 밸런서를 통해 프론트 측에서는 리스너 포트(https://api.youdomain:443) 만 알고 있다면 내부적으로 포트가 바뀌어도 프론트가 변경될 일은 없다. 그리고 프록시설정을 함으로써 보안도 강화될 수 있다. 리스너에 HTT..
이미 도메인 사이트에서 도메인과 SSL 인증서를 구매하였다. 백엔드는 서브 도메인을 사용중이였다. 처음에는 호스팅영역을 만들어 같은 방법으로 진행하였지만 잘 되지 않았고 이래저래 다시 삽질하면서 찾은 방법이다. NameCheap 사이트를 기반으로 작성하였지만 매커니즘은 똑같기에 다른 도메인 사이트에서도 적용 될 것이라고 생각이 든다. NameCheap [Domain List] → [MANAGE] 클릭 → [Advanced DNS] 클릭 → [ADD NEW RECORD] 클릭 서브 도메인 과 DNS 연동하기 AWS ELB을 사용중이라면 ELB DNS와 적용해주면 되고 ,그게 아니라면 A record로 퍼블릭 IP주소와 연결해주든 CNAME record로 퍼블릭 DNS와 연결해주면 될 것이다. DNS와 연결..