관심분야/클라우드

AWS 개발환경구성

을량 2022. 10. 17. 12:51

개발을 위해 외부에 Back-end 환경구성을 해보았다

기본적으로 EC2에 Tomcat, MariaDB, SSL인증서, Redis, RabbitMQ로 구성하고 

도메인은 duck dns 가입 및 무료 도메인 신청하여 사용

1. AWS EC2 서버 구성

  • 인스턴스 유형 : Ubuntu 22.04.1 LTS, t2.large, 200G
  • 고정IP : AWS에서 고정IP 추가 
  • SSH 접속시 ID/Password로 할수있게 설정 
sudo vi /etc/ssh/sshd_config
> PasswordAuthentication yes 주석풀기 
sudo systemctl restart sshd
  • locale : Asia/Seoul /LANG=ko_KR.UTF-8 
  • Installed Program :
- Apache Tomcat/9.0.58
- OpenJdk8/1.8.0_342-8u342-b07-0ubuntu1~22.04-b07
- MariaDB/10.6.7-MariaDB-2ubuntu1.1
- Let's Encrypt/ SSL인증서
- Redis/6.0.16
- RabbitMQ/3.9.13

2. Nginx 구성

  • 기본접속 : https://xxxxxx.duckdns.org (443)
  • http 접속시 https 전환 (80->443 리다이렉트)
  • 443(80) 접속시 tomcat9 server(port:8080) proxy pass
  • client_max_body_size 100M 설정

3. Tomcat 구성

4. MariaDB 구성

  • 내부/외부접속 : IP: AWS고정아이피, Port:3306, user:외부접속 아이디/패스워드 설정
  • 테스트용 데이타베이스 : 데이타베이스생성 > 테이블임시생성
  • max_connections : 300
  • character set : utf8mb4
  • system_time_zone : KST

5. Redis 구성

  • 내부/외부접속 : host: AWS고정아이피, port: 6379
  • 메모리설정 : maxmemory 1g, maxmemory-policy allkeys-lru(메모리를 초과할 시 가장 오래된 데이터를 지워서 메모리를 확보)

6. RabbitMQ 구성

  • Spring : Spring/5.3.8 Release(Spring Boot 2.3.8.RELEASE)
    • logback, mybatis, gson, lombok, swagger

7. 개발접속 테스트화면예시

swagger 페이지에서 서버 호출 테스트

테스트결과

AWS WEB/WAS 환경을 간단하게 구성해보았다. 

무료 micro ec2 할경우 서버용량부족으로 예기치 않는 오류가 많이 발생하므로 비용이 조금 들더라도 성능이 나오는 EC2를 사용하는것을 추천한다.