반응형
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와 같은 서비스를 추가하면 서버리스 구조도 구현 가능합니다.
참고 자료
이렇게 블로그 형식으로 구축 과정을 마무리합니다. 필요한 경우 세부 코드를 확장하거나 추가적인 기능을 개발해보세요!
반응형
'Aws' 카테고리의 다른 글
AWS에서 MSSQL DB와 Vue + .NET Core로 웹사이트 구축하기 (2) | 2024.10.16 |
---|---|
AWS에서 Oracle DB와 JAVA를 이용해 웹사이트 구축하기 (6) | 2024.10.01 |
AWS에서 웹사이트 구축 시 발생하는 대표적인 에러와 해결 방법 (0) | 2024.09.25 |
AWS를 이용한 AI 챗봇 만들기 (0) | 2024.01.02 |
AWS 성능향상 방법 (0) | 2023.09.11 |
댓글