Skip to content

Commit

Permalink
docs: Add Usage Guide (#48)
Browse files Browse the repository at this point in the history
* Add Cloud-DB-Installation-and-Authentication-Information.md
* Add Datamold-Usage-Guide.md
  • Loading branch information
jjang-go authored Dec 21, 2023
1 parent e97ef29 commit 287177e
Show file tree
Hide file tree
Showing 44 changed files with 262 additions and 1 deletion.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ Data Mold는 데이터 마이그레이션 기술의 검증을 위한 환경을

해당 가이드는 Ubuntu 22.04 대상으로 설치 및 명령어 사용방법을 작성한 가이드입니다.

* Data Mold [설치 및 시험가이드](docs/Installation-and-Testing-Guide.md)
* [Data Mold 기능명세서](docs/Datamold-Function-Specification.md)
* [Data Mold 사용가이드](docs/Datamold-Usage-Guide.md)
154 changes: 154 additions & 0 deletions docs/Cloud-DB-Installation-and-Authentication-Information.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
# Cloud DB 생성 및 인증정보

## AWS RDS MySQL 생성 및 인증정보
1. AWS 콘솔에 로그인합니다.
2. RDS 서비스 선택 -> 대시보드 -> "데이터베이스 생성" 메뉴를 선택합니다.

<p align="center"><img src="/docs/image/pre-check/rds0.png" ></p>

3. 데이터베이스 생성방식 선택은 "표준 생성"을 선택하고, 엔진 옵션은 "MySQL"을 선택합니다.

<p align="center"><img src="/docs/image/pre-check/rds1.png" ></p>

4. 템플릿은 비용에 맞게 적절히 선택이 필요합니다. (현 가이드에선 "프리 티어" 선택)
DB인스턴스 식별자는 RDS 접속을 위해 자동으로 생성할 인스턴스 이름을 입력합니다.
자격증명은 DB 접속을 위한 계정/패스워드를 입력합니다.

<p align="center"><img src="/docs/image/pre-check/rds2.png" ></p>

5. DB인스턴스 생성을 위한 스펙을 선택합니다.

<p align="center"><img src="/docs/image/pre-check/rds3.png" ></p>

6. 네트워크 설정 후 퍼블릭 엑세스는 "예"로 선택합니다.

<p align="center"><img src="/docs/image/pre-check/rds4.png" ></p>

7. 세부사항은 필요시 추가한 후 "데이터베이스 생성" 버튼을 클릭합니다.

<p align="center"><img src="/docs/image/pre-check/rds5.png" ></p>

8. 데이터베이스 생성화면입니다.

<p align="center"><img src="/docs/image/pre-check/rds6.png" ></p>

9. 정상적으로 생성 후 엔드포인트 및 포트정보를 확인할 수 있습니다.
RDS(MySQL) 연결을 위해 보안그룹을 클릭합니다.

<p align="center"><img src="/docs/image/pre-check/rds7.png" ></p>

10. 인바운드 규칙을 수정해서 MySQL 접속하는 Client(PC)의 IP와 포트 규칙을 추가합니다.
```
프로토콜 : TCP
포트 범위 : 3306
소스 : xxx.xxx.xxx.xxx/32
```

<p align="center"><img src="/docs/image/pre-check/rds8.png" ></p>

11. Client(PC)에서 MySQL를 통해 정상적으로 접속되는지 확인합니다.

<p align="center"><img src="/docs/image/pre-check/rds9.png" ></p>

## GCP SQL MySQL 생성 및 인증정보
1. GCP 콘솔에 로그인합니다.
2. 메뉴->SQL으로 들어가서 "인스턴스 만들기"를 클릭합니다.

<p align="center"><img src="/docs/image/pre-check/sql0.png" ></p>

3. MYSQL 인스턴스 만들기에서 인스턴스 이름과 root 계정의 비밀번호를 입력합니다.

<p align="center"><img src="/docs/image/pre-check/sql1.png" ></p>

4. Cloud SQL 버전은 특성에 따라 선택합니다.

<p align="center"><img src="/docs/image/pre-check/sql2.png" ></p>

5. 리전은 "asia-northeast3 (서울)"을 선택합니다.

<p align="center"><img src="/docs/image/pre-check/sql3.png" ></p>

6. 접근을 위해 "공개 IP" 체크와 "네트워크 추가"를 클릭해서 접속할 Client(PC)의 IP를 입력합니다.

<p align="center"><img src="/docs/image/pre-check/sql4.png" ></p>

7. 설정이 마치면 Cloud SQL서비스를 생성합니다.

<p align="center"><img src="/docs/image/pre-check/sql5.png" ></p>

8. 생성이 완료되면 왼쪽 메뉴의 연결 클릭 시 접속할 수 있는 공개IP를 확인할 수 있습니다.

<p align="center"><img src="/docs/image/pre-check/sql6.png" ></p>

9. 공개IP를 이용하여 SQL에 접속합니다.

<p align="center"><img src="/docs/image/pre-check/sql7.png" ></p>

## NCP Cloud DB for MySQL 생성 및 인증정보
1. NCP 콘솔에 로그인합니다.
2. 메뉴->Cloud DB for MySQL에 선택한 후 “DB Server 생성”을 클릭합니다.

<p align="center"><img src="/docs/image/pre-check/mysql0.png" ></p>

3. DB Server 생성에 필요한 정보를 입력합니다.

<p align="center"><img src="/docs/image/pre-check/mysql1.png" ></p>

4. 접속ID, 암호, 포트, 접속 허용할 Host IP 와 기본 DB 명을 입력합니다.

<p align="center"><img src="/docs/image/pre-check/mysql2.png" ></p>

5. 생성 된 DB Server를 클릭한 후 Public 도메인 관리를 선택합니다.

<p align="center"><img src="/docs/image/pre-check/mysql3.png" ></p>

6. Public 도메인 신청에서 “예”를 클릭하여 도메인은 신청합니다.

<p align="center"><img src="/docs/image/pre-check/mysql4.png" ></p>

7. 접근 보안을 위해 Client(PC)의 IP를 확인한 후 ACG 설정으로 들어갑니다.

<p align="center"><img src="/docs/image/pre-check/mysql5.png" ></p>

8. DB서버의 ACG에 접근 소스와 허용포트 ”3306” 값을 추가한 후 적용을 합니다.

<p align="center"><img src="/docs/image/pre-check/mysql6.png" ></p>

9. DB에 접근이 되는지 확인합니다.

<p align="center"><img src="/docs/image/pre-check/mysql7.png" ></p>

## NCP Cloud DB for MongoDB 생성 및 인증정보
1. NCP 콘솔에 로그인합니다.
2. 메뉴->Cloud DB for MySQL에 선택한 후 “DB Server 생성”을 클릭합니다.

<p align="center"><img src="/docs/image/pre-check/mongodb0.png" ></p>

3. DB Server 생성에 필요한 정보를 입력합니다.

<p align="center"><img src="/docs/image/pre-check/mongodb1.png" ></p>

<p align="center"><img src="/docs/image/pre-check/mongodb2.png" ></p>

4. 접속ID,암호를 입력합니다.

<p align="center"><img src="/docs/image/pre-check/mongodb3.png" ></p>

5. 생성 된 DB Server를 클릭한 후 Public 도메인 관리를 선택합니다.

<p align="center"><img src="/docs/image/pre-check/mongodb4.png" ></p>

6. 접근 보안을 위해 Client(PC)의 IP를 확인한 후 ACG 설정으로 들어갑니다.

<p align="center"><img src="/docs/image/pre-check/mongodb5.png" ></p>

7. DB서버의 ACG에 접근 소스와 허용포트 ”17017” 값을 추가한 후 적용을 합니다.

<p align="center"><img src="/docs/image/pre-check/mongodb6.png" ></p>

8. DB에 접근이 되는지 확인합니다.

<p align="center"><img src="/docs/image/pre-check/mongodb7.png" ></p>

<p align="center"><img src="/docs/image/pre-check/mongodb8.png" ></p>

106 changes: 106 additions & 0 deletions docs/Datamold-Usage-Guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Datamold 사용 가이드

## 사전 준비 사항
### 스토리지/DB 관련 서비스 신청 및 권한 부여
* GCP, NCP같은 경우 서비스 이용 시 이용 신청을 해야한다.
* 로그인 후 사용할 서비스 페이지 접속 후 이용 신청을 하면 된다.
* 예시

**GCP**
<p align="center"><img src="/docs/image/pre-check/gcp_pre_auth.png" ></p>
**NCP**
<p align="center"><img src="/docs/image/pre-check/ncp_pre_auth.png" ></p>

* GCP와 NCP는 사전에 인증정보에 권한을 부여해야합니다.

사용하고자 하는 서비스계정에 Storage Admin 권한 추가
* GCP : https://cloud.google.com/storage/docs/access-control/iam-roles?hl=ko

서브 계정 사용 시 Object Storage 권한 추가
* NCP : https://guide.ncloud-docs.com/docs/storage-objectstorage-subaccount

### CSP 인증정보
1. AWS 인증정보
* [AWS S3, DynamoDB 인증정보](https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey)
2. GCP 인증정보
* [GCP Cloud Storage, FirestoreDB 인증정보](https://developers.google.com/workspace/guides/create-credentials?hl=ko)
3. NCP 인증정보
* [NCP Object Storage 인증정보](https://medium.com/naver-cloud-platform/%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%82%AC%EC%9A%A9%ED%95%98%EC%84%B8%EC%9A%94-%EB%84%A4%EC%9D%B4%EB%B2%84-%ED%81%B4%EB%9D%BC%EC%9A%B0%EB%93%9C-%ED%94%8C%EB%9E%AB%ED%8F%BC-%EC%9C%A0%EC%A0%80-api-%ED%99%9C%EC%9A%A9-%EB%B0%A9%EB%B2%95-1%ED%8E%B8-494f7d8dbcc3)

### AWS, GCP, NCP Cloud DB 설치 및 인증정보
* [DB 설치 및 인증정보](/docs/Cloud-DB-Installation-and-Authentication-Information.md)

## 1. 정형데이터 생성 및 마이그레이션
### 온프레미스(리눅스서버)에서 AWS S3
1. data-mold server 접속 후 좌측 메뉴에서 데이터 생성 -> Object Storage -> AWS S3 순으로 클릭

<p align="center"><img src="/docs/image/web/main.png" ></p>

2. 사용자의 AWS 인증정보와 사용하고자 하는 리전 선택, 버킷 명을 입력한 다음 생성 할 데이터를 선택 및 용량 입력 후 생성 버튼 클릭

<p align="center"><img src="/docs/image/web/creates3.png" ></p>

3. 성공 및 실패는 아래 로그에서 확인이 가능합니다.

<p align="center"><img src="/docs/image/web/s3sql.png" ></p>

## 2. 비정형데이터 생성 및 마이그레이션
### 온프레미스(리눅스서버)에서 GCP Cloud Storage
1. data-mold server 접속 후 좌측 메뉴에서 데이터 생성 -> Object Storage -> Google Cloud Storage 순으로 클릭

<p align="center"><img src="/docs/image/web/main.png" ></p>

2. 사용자의 GCP 인증정보와 사용하고자 하는 리전 선택, 버킷 명을 입력한 다음 생성 할 데이터를 선택 및 용량 입력 후 생성 버튼 클릭

<p align="center"><img src="/docs/image/web/creategcp.png" ></p>

3. 성공 및 실패는 아래 로그에서 확인이 가능합니다.

<p align="center"><img src="/docs/image/web/creategcpresult.png" ></p>

## 3. 반정형데이터 생성 및 마이그레이션
### 온프레미스(리눅스서버)에서 NCP Object Storage
1. data-mold server 접속 후 좌측 메뉴에서 데이터 생성 -> Object Storage -> Google Cloud Storage 순으로 클릭

<p align="center"><img src="/docs/image/web/main.png" ></p>

2. 사용자의 NCP 인증정보와 사용하고자 하는 리전 선택, 버킷 명을 입력한 다음 생성 할 데이터를 선택 및 용량 입력 후 생성 버튼 클릭

<p align="center"><img src="/docs/image/web/createncp.png" ></p>

3. 성공 및 실패는 아래 로그에서 확인이 가능합니다.

<p align="center"><img src="/docs/image/web/ncpjson.png" ></p>


## 4. 클라우드 관계형데이터베이스 생성 및 마이그레이션
### AWS RDS(MySQL)에서 GCP Cloud SQL(MySQL) 환경 시연
1. data-mold server 접속 후 좌측 메뉴에서 Migration -> SQL Database -> MySQl 순으로 클릭

<p align="center"><img src="/docs/image/web/main.png" ></p>

2. 사용자의 AWS RDS 접속정보를 소스 MySQL, 사용자의 GCP SQL 접속정보를 목표 MySQL에 입력 후 생성 버튼 클릭

<p align="center"><img src="/docs/image/web/migmysql.png" ></p>

3. 성공 및 실패는 아래 로그에서 확인이 가능합니다.

<p align="center"><img src="/docs/image/web/rdstosql.png" ></p>

## 5. 클라우드 비관계형데이터베이스 생성 및 마이그레이션
### AWS DynamoDB에서 NCP Cloud DB for MongoDB
1. data-mold server 접속 후 좌측 메뉴에서 Migration -> NoSQL -> AWS DynamoDB to -> MongoDB 순으로 클릭

<p align="center"><img src="/docs/image/web/main.png" ></p>

2. 사용자의 AWS RDS 접속정보를 소스 MySQL, 사용자의 GCP SQL 접속정보를 목표 MySQL에 입력 후 생성 버튼 클릭

<p align="center"><img src="/docs/image/web/migmysql.png" ></p>

3. 성공 및 실패는 아래 로그에서 확인이 가능합니다.

<p align="center"><img src="/docs/image/web/rdstosql.png" ></p>

Binary file added docs/image/pre-check/gcp_pre_auth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mongodb8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/mysql7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/ncp_pre_auth.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/image/pre-check/rds6.png
Binary file added docs/image/pre-check/rds7.png
Binary file added docs/image/pre-check/rds8.png
Binary file added docs/image/pre-check/rds9.png
Binary file added docs/image/pre-check/sql0.png
Binary file added docs/image/pre-check/sql1.png
Binary file added docs/image/pre-check/sql2.png
Binary file added docs/image/pre-check/sql3.png
Binary file added docs/image/pre-check/sql4.png
Binary file added docs/image/pre-check/sql5.png
Binary file added docs/image/pre-check/sql6.png
Binary file added docs/image/pre-check/sql7.png
Binary file added docs/image/web/migmysql.png
Binary file added docs/image/web/ncpjson.png
Binary file added docs/image/web/rdstosql.png
Binary file added docs/image/web/s3sql.png

0 comments on commit 287177e

Please sign in to comment.