Aws

AWS에서 Oracle DB와 Nexacro + Java를 이용한 웹사이트 구축 방법

지오준 2024. 10. 15.
반응형

1. 개요

Oracle DB와 Nexacro Framework, Java를 결합하여 AWS 인프라 위에서 웹 애플리케이션을 구축하는 과정에 대해 알아보겠습니다. 이 글에서는 EC2 인스턴스RDS for Oracle을 사용해 데이터베이스와 애플리케이션 서버를 구성하고, Nexacro를 이용해 프론트엔드 UI를 개발하는 전반적인 과정을 다룹니다.


2. 주요 구성 요소

  • AWS EC2: Java 애플리케이션 서버를 호스팅합니다.
  • AWS RDS (Oracle): Oracle 데이터베이스를 관리합니다.
  • Nexacro: 프론트엔드 UI 개발을 위한 개발 툴입니다.
  • Java Spring Boot: 백엔드 로직을 처리합니다.

3. 준비 사항

  1. AWS 계정 생성
  2. Oracle DB 사용 가능한 AWS RDS 설정 권한
  3. Nexacro Studio (로컬 개발용)
  4. Java 개발 환경 (JDK 설치 및 IDE 준비)

4. 구축 단계

1단계: AWS RDS에서 Oracle DB 설정

  1. AWS RDS Console로 이동한 후, 데이터베이스 생성 클릭
  2. Oracle을 선택하고 다음 옵션을 설정합니다:
    • DB 인스턴스 클래스: db.t3.micro (테스트용)
    • 스토리지: 20GB 이상
    • VPC 설정: 퍼블릭 액세스 허용
    • 보안 그룹: EC2 인스턴스가 접근할 수 있도록 1521 포트 오픈
  3. DB 사용자 계정 및 비밀번호를 설정하고, 인스턴스가 생성될 때까지 기다립니다.
  4. 생성된 엔드포인트를 확인하고 나중에 Java 애플리케이션과 연결할 때 사용합니다.

2단계: EC2 인스턴스 생성 및 설정

  1. EC2 인스턴스 생성:
    • AMI: Amazon Linux 2
    • 인스턴스 유형: t3.micro (프리 티어)
    • 보안 그룹: 8080 포트와 1521 포트 열기 (Oracle 및 웹 서버 통신용)
  2. SSH를 통해 EC2 인스턴스에 접속:
  3. ssh -i "your-key.pem" ec2-user@your-ec2-public-ip
  4. Java 설치:
  5. sudo yum update -y sudo amazon-linux-extras enable java-openjdk11 sudo yum install java-11-openjdk -y
  6. Tomcat 설치 및 실행:
  7. sudo yum install tomcat -y sudo systemctl start tomcat sudo systemctl enable tomcat

3단계: Java 애플리케이션 개발 및 배포

  1. Spring Boot 프로젝트 생성:
    • Spring Initializr에서 Spring WebJDBC, Oracle Driver 의존성을 선택한 후 프로젝트를 다운로드합니다.
  2. Oracle DB 연결 설정 (application.properties):
  3. spring.datasource.url=jdbc:oracle:thin:@your-rds-endpoint:1521:ORCL spring.datasource.username=your-username spring.datasource.password=your-password spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
  4. 간단한 Controller 작성:
  5. @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, Nexacro!"; } }
  6. 애플리케이션 빌드 및 배포:
  7. ./mvnw package sudo cp target/*.jar /usr/share/tomcat/webapps/app.jar sudo systemctl restart tomcat

4단계: Nexacro 프론트엔드 개발

  1. Nexacro Studio에서 새로운 프로젝트 생성
    • 서버 통신을 위해 Transaction 컴포넌트를 사용합니다.
  2. Java 백엔드와 통신 설정:
  3. var svcUrl = "http://your-ec2-public-ip:8080/hello"; transaction( "getHello", // Transaction ID svcUrl, // Service URL "", // InDataset "output=outDs", // OutDataset "", // Argument "callback" // Callback function ); function callback(strSvcID, nErrorCode, strErrorMsg) { if (nErrorCode < 0) { alert("Error: " + strErrorMsg); } else { alert("Success: " + outDs.getColumn(0, "message")); } }
  4. UI 디자인: Nexacro의 Drag & Drop 기능을 이용해 간단한 버튼과 텍스트 필드를 배치합니다.
  5. EC2 서버로 Nexacro 애플리케이션 배포:
    • Nexacro 프로젝트를 빌드하여 .html 또는 .nexacro 파일로 내보냅니다.
    • EC2 인스턴스의 /usr/share/tomcat/webapps/ 경로에 업로드합니다.

5단계: 보안 및 최적화

  1. 보안 그룹: Oracle DB 접근을 허용할 IP를 제한합니다.
  2. SSL 인증서: Let's Encrypt와 같은 무료 인증서를 사용해 HTTPS 설정을 합니다.
  3. 오토스케일링: 트래픽 증가에 대비해 EC2 인스턴스를 오토스케일링 그룹에 추가합니다.

5. 테스트 및 검증

  1. 브라우저에서 http://your-ec2-public-ip:8080/hello로 접속해 "Hello, Nexacro!" 메시지가 출력되는지 확인합니다.
  2. Nexacro 애플리케이션이 Java 백엔드와 정상적으로 통신하는지 테스트합니다.

6. 결론

AWS에서 Oracle DB와 Nexacro, Java를 이용한 웹사이트 구축은 비교적 복잡하지만, 이 글의 단계별 지침을 따르면 쉽게 구현할 수 있습니다. 이 구성은 확장성이 뛰어나고, AWS의 다양한 서비스와 결합하여 보다 강력한 애플리케이션을 개발할 수 있습니다.

Tip: AWS Lambda나 API Gateway와 같은 서비스를 추가하면 서버리스 구조도 구현 가능합니다.


참고 자료


이렇게 블로그 형식으로 구축 과정을 마무리합니다. 필요한 경우 세부 코드를 확장하거나 추가적인 기능을 개발해보세요!

반응형

댓글