Aws
AWS에서 Oracle DB와 Nexacro + Java를 이용한 웹사이트 구축 방법
지오준
2024. 10. 15. 10:00
반응형
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. 준비 사항
- AWS 계정 생성
- Oracle DB 사용 가능한 AWS RDS 설정 권한
- Nexacro Studio (로컬 개발용)
- Java 개발 환경 (JDK 설치 및 IDE 준비)
4. 구축 단계
1단계: AWS RDS에서 Oracle DB 설정
- AWS RDS Console로 이동한 후, 데이터베이스 생성 클릭
- Oracle을 선택하고 다음 옵션을 설정합니다:
- DB 인스턴스 클래스:
db.t3.micro
(테스트용) - 스토리지: 20GB 이상
- VPC 설정: 퍼블릭 액세스 허용
- 보안 그룹: EC2 인스턴스가 접근할 수 있도록 1521 포트 오픈
- DB 인스턴스 클래스:
- DB 사용자 계정 및 비밀번호를 설정하고, 인스턴스가 생성될 때까지 기다립니다.
- 생성된 엔드포인트를 확인하고 나중에 Java 애플리케이션과 연결할 때 사용합니다.
2단계: EC2 인스턴스 생성 및 설정
- EC2 인스턴스 생성:
- AMI: Amazon Linux 2
- 인스턴스 유형: t3.micro (프리 티어)
- 보안 그룹: 8080 포트와 1521 포트 열기 (Oracle 및 웹 서버 통신용)
- SSH를 통해 EC2 인스턴스에 접속:
ssh -i "your-key.pem" ec2-user@your-ec2-public-ip
- Java 설치:
sudo yum update -y sudo amazon-linux-extras enable java-openjdk11 sudo yum install java-11-openjdk -y
- Tomcat 설치 및 실행:
sudo yum install tomcat -y sudo systemctl start tomcat sudo systemctl enable tomcat
3단계: Java 애플리케이션 개발 및 배포
- Spring Boot 프로젝트 생성:
- Spring Initializr에서
Spring Web
과JDBC
,Oracle Driver
의존성을 선택한 후 프로젝트를 다운로드합니다.
- Spring Initializr에서
- Oracle DB 연결 설정 (
application.properties
): 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
- 간단한 Controller 작성:
@RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, Nexacro!"; } }
- 애플리케이션 빌드 및 배포:
./mvnw package sudo cp target/*.jar /usr/share/tomcat/webapps/app.jar sudo systemctl restart tomcat
4단계: Nexacro 프론트엔드 개발
- Nexacro Studio에서 새로운 프로젝트 생성
- 서버 통신을 위해
Transaction
컴포넌트를 사용합니다.
- 서버 통신을 위해
- Java 백엔드와 통신 설정:
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")); } }
- UI 디자인: Nexacro의 Drag & Drop 기능을 이용해 간단한 버튼과 텍스트 필드를 배치합니다.
- EC2 서버로 Nexacro 애플리케이션 배포:
- Nexacro 프로젝트를 빌드하여
.html
또는.nexacro
파일로 내보냅니다. - EC2 인스턴스의
/usr/share/tomcat/webapps/
경로에 업로드합니다.
- Nexacro 프로젝트를 빌드하여
5단계: 보안 및 최적화
- 보안 그룹: Oracle DB 접근을 허용할 IP를 제한합니다.
- SSL 인증서: Let's Encrypt와 같은 무료 인증서를 사용해 HTTPS 설정을 합니다.
- 오토스케일링: 트래픽 증가에 대비해 EC2 인스턴스를 오토스케일링 그룹에 추가합니다.
5. 테스트 및 검증
- 브라우저에서
http://your-ec2-public-ip:8080/hello
로 접속해 "Hello, Nexacro!" 메시지가 출력되는지 확인합니다. - Nexacro 애플리케이션이 Java 백엔드와 정상적으로 통신하는지 테스트합니다.
6. 결론
AWS에서 Oracle DB와 Nexacro, Java를 이용한 웹사이트 구축은 비교적 복잡하지만, 이 글의 단계별 지침을 따르면 쉽게 구현할 수 있습니다. 이 구성은 확장성이 뛰어나고, AWS의 다양한 서비스와 결합하여 보다 강력한 애플리케이션을 개발할 수 있습니다.
Tip: AWS Lambda나 API Gateway와 같은 서비스를 추가하면 서버리스 구조도 구현 가능합니다.
참고 자료
이렇게 블로그 형식으로 구축 과정을 마무리합니다. 필요한 경우 세부 코드를 확장하거나 추가적인 기능을 개발해보세요!
반응형