분류 전체보기
-
[AWS 자동 배포 시스템] 6. 로드밸런서 구축AWS 2022. 2. 18. 14:50
이번 포스팅에서는 로드밸런서를 구축하려고 한다. 추후 로드밸런서를 통하여 private subnet(2a, 2c)에 있는 EC2에 접근할 예정이다. 먼저 서울 리전에 ACM 퍼블릭 인증서를 발급받자. 다음으로 elb의 대한 보안 그룹을 생성하자. 32768 - 65535는 도커의 대한 동적 포트이다. 다음으로 타켓 그룹을 생성하자. 나중에 도커를 활용한 ECS 동적 포트 매핑을 할 예정으로 타겟은 아무것도 선택하지 말자. 이제 ALB를 생성하자. 인터넷을 사용할 것으로 Internet-facing을 선택한다. VPC를 선택 후 각 가용 영역(2a, 2c)의 public network를 선택한다. 보안 그룹을 선택 후 443 포트를 타겟 그룹과 매핑한다. 그 다음으로 ACM을 선택한다. 이제 로드밸런스를 ..
-
[AWS 자동 배포 시스템] 5. RDS Mysql 구축AWS 2022. 2. 18. 14:34
이번 포스팅에서는 RDS Mysql(ACTIVE, STANDARD)를 구축하려고 한다. 먼저 RDS에 대한 보안 그룹을 생성하자. 인바운드 규칙을 MSSQL로 잘못 선택하였다. 꼭 MYSQL/Aurora를 선택하자. 다음으로 DB 서브넷 그룹을 생성하자. RDS의 가용 영역은 10.0.5.0/24(2a), 10.0.6.0/24(2c)를 사용한다. 다음으로 RDS를 생성하자. 먼저 Mysql를 선택 후 템플릿을 개발/테스트로 선택하자. 다음으로 마스터 계정을 설정하자. DB 인스턴스 클래스는 제일 낮은 사양으로 선택하였다. STANDARD DB 생성을 위한 다중 AZ 배포를 활성화하자. 다음 VPC의 대한 내용을 설정하자. RDS는 private 환경에서만 사용할 것으로 퍼블릭 엑세스는 비활성화한다. 이제..
-
[AWS 자동 배포 시스템] 4. VPC 구축AWS 2022. 2. 17. 17:37
이번에는 ECS 구축을 위한 VPC 설정을 하려고 한다. 가용 영역을 ap-northeast-2a, ap-northeast-2c를 사용하여 ap-northeast-2a에 public network 1개, private network 2개 ap-northeast-2c에 public network 1개, private network 2개를 만들 것이다. 각각의 private network 영역에 서버를 배치하고 다른 각각의 private network 영역에 RDS ACTIVE와 STANDBY를 배치할 것이다. 처음으로 VPC를 생성하자. 다음으로 각 영역(2a, 2c)에 public subnet, private subnet 2개 총 6개의 subnet을 만든다. velnova-pri4-2c을 만드는 과정에..
-
[AWS 자동 배포 시스템] 3. Jenkins를 활용한 S3 배포AWS 2022. 2. 16. 23:30
Jenkins Pipeline을 사용하여 S3에 웹 서버를 배포하려고 한다. 그냥 index.html 한개를 올리기에는 너무 간단하여 Vue를 이용하여 빌드 후 배포한다. Jenkins와 node가 설치되어 있다고 가정하에 진행한다. 먼저 빌드를 하기 위한 IAM 계정을 만들자. 추후 ECS 배포를 위한 권한(AmazonEC2ContainerRegistryFullAccess, AmazonS3FullAccess, AWSCodeDeployRoleForECS, AWSCodeDeployFullAccess)까지 추가하겠다. 발급 받은 엑세스 키 ID와 비밀 엑세스 키를 저장해놓자. Jenkins가 설치된 곳에서 사용할 예정이다 AmazonECS_FullAccess도 추가하자. Jenkins가 설치된 os에 jen..
-
[AWS 자동 배포 시스템] 2. 웹 서버(CDN) 구축(S3 + CloudFront + Route53 + ACM)AWS 2022. 2. 16. 23:30
프론트 웹 서버부터 구축하려고 한다. 구축 아키텍쳐는 S3 퍼블릭 엑세스를 차단하여 CloudFront를 통해서만 외부 접속이 가능하게 구현한다. 또 마지막으로 외부에서 구매한 도메인을 Route53 + ACM과 연동한다. 먼저 S3 버켓을 생성하자. 어려운 작업은 없다. 2022년 2월 16일 현재 기준으로는 버킷 이름만 입력 후 생성하면 된다. 리전은 서울로 하였다. S3 버킷 도메인으로는 직접 접근하지 않을 것으로 꼭 퍼블릭 엑세스를 차단하자. 버킷 생성 후 웹서버 테스를 위한 index.html를 업로드 해놓자. 샘플 코드를 넣어 놓겠다. Hello! Velnova! 다음으로 인증서를 생성하자. 인증서는 꼭 버지니아 북부 지역에서 생성해야한다. 그래야만 CloudFront에서 인증서를 가져올 수 ..
-
[AWS 자동 배포 시스템] 1. Route53 외부 도메인(호스팅케이알) 연결AWS 2022. 2. 16. 12:52
궁극적으로 AWS를 이용하여 프론트, 서버 자동 배포 시스템을 구축하려고 한다. 사용하는 AWS 서비스는 S3, CloudFront, ECS, ECR, VPC, RDS, Loadbalance, Route53, ACM 등을 사용하려고 한다. 장기 프로젝트로 여러 단계에 거쳐 진행하려고 한다. 이론 설명보다는 구축 방법을 적으려고 하니 이론의 대한 궁금함은 AWS 공식 설명을 읽기를 추천한다. 첫번째로 Route53과 호스팅케이알과 연동하려고 한다. Route53 호스팅 영역을 생성하자. 도메인 이름을 호스팅케이알에서 구매한 도메인을 입력한 후 생성한다. 다음으로 호스팅케이알 네임 서버를 Route53의 값(4개)으로 변경해준다. Route53과 외부 도메인과의 연결을 이제 끝났다. 다음부터는 Route53..
-
[Apache] Load Balancing 설정LINUX/Apache 2021. 7. 1. 22:49
오랜만에 포스팅을 작성한다. 이번 포스팅은 Apache에서 Load Balancing 설정하는 방법을 작성하려고 한다. Apache 2.4.29(Ubuntu) 기준으로 작성한다. 먼저 아래의 2개를 활성화해준다. # a2enmod proxy_balancer # a2enmod lbmethod_byrequests 아래를 참고하여 로드 밸런싱 설정을 추가한다. BalancerMember은 로드 밸런싱 할 WAS들의 IP:PORT를 설정한다. 필자는 WAS 2대로 로드 밸런싱 설정을 했다. # vim /etc/apache2/sites-available/000-default.conf ServerAdmin alsdud154@rigel.kr ServerName upbit.velnova.co.kr BalancerMem..
-
[Spring] CORS policy 에러 해결 방법SPRING 2020. 10. 29. 15:42
Vue.js[프론트 Port 3000]에서 Spring[백엔드 Port 8000]로 rest 통신을 하는 도중 CORS policy 에러가 발생하여 해결법을 작성한다. 먼저 Springframework-Version[4.2 이상] 과 Java-Version을 1.8로 업그레이드 한다. 필자는 4.3.26 버전으로 업그레이드했다. 그 다음 해당 RestController에 CrossOrign 어너테이션을 설정하면 끝난다. @CrossOrigin(origins = "http://localhost:3000") 다시 테스트 하면 정상적으로 Rest 통신이 된다.