📌 개요
이전 포스트에서 OpenUPM 레지스트리 서버를 활용한 UPM 제작 방법을 알아봤습니다.
하지만 이 경우에는 모든 코드가 공개(Public)된다는 점에서 다소 아쉬움이 있었는데요!
그래서 이번에는 비공개(Private) UPM을 제작하는 방법에 대해 알아보겠습니다.
사실 openUPM을 사용하지 않는 대신, verdaccio라는 서버를 사용한다는 점에서 큰 차이가 없습니다.
하지만 이 verdaccio 서버를 열기 위해선 직접 서버를 구동시켜야 합니다..!
(이런 면에서는 openUPM이 엄청 편하네요)
그래서 저희는 이제 verdaccio 서버를 24시간 내내 돌려줄 가상머신이 필요하답니다.
📌 클라우드 컴퓨팅을 위한 개인 서버 구축
1. 오라클 클라우드 계정 회원가입 및 로그인
https://www.oracle.com/kr/cloud/free/
클라우드 서비스 무료 이용
Oracle Cloud Free Tier는 기업에게 무제한으로 사용할 수 있는 상시 무료 클라우드 서비스를 제공합니다.
www.oracle.com
저희는 이제부터 오라클(Oracle) 클라우드를 사용할 것입니다.
왜냐하면 오라클 클라우드는 적은 리소스를 무료로 사용할 수 있기 때문이죠.
위 사이트로 들어가서 계정을 회원가입합니다.
이 과정은 넘어가도록 하겠습니다.
2. 가상 클라우드 네트워크(VCN) 생성
VCN이란?
VCN(Virtual Cloud Network)는 인스턴스가 속하는 가상의 네트워크입니다.
서브넷, 라우팅, 보안 목록, 게이트웨이 설정 등을 포함하고 있어요.
그럼 가상머신(VM) 인스턴스에 접근하기 위해 VCN을 생성해봅시다.
먼저, 우측 상단에 메뉴를 열어 Networking - Virtual cloud networks 항목으로 이동하세요.
그 후 Create VCN 버튼을 클릭합니다.
여기서 중요한건 IPv4 CIDR 블록입니다.
가상 네트워크에서 사용할 IP 주소 범위를 지정하는 것인데요,
10.0.0.0/16을 입력하시는 것을 추천합니다.
위 의미는 10.0.0.0 ~ 10.0.255.255 IP 주소를 사용할 수 있다는 의미입니다. (총 65,536개)
(최소 크기는 /28로, 총 16 IP 이상을 권장)
향후 여러 서브넷을 만들 때 충분한 개수입니다.
※ IPv6는 설정하지 않으셔도 됩니다.
3. 게이트웨이 & 라우팅 & 서브넷(Subnet) 설정
이제 VNC을 만들었으니, 네트워크 연결이 되도록 세팅해줘야겠죠?
Networking - Virtual cloud networks 항목으로 이동해주세요.
그러면 방금 제작한 VCN을 확인할 수 있습니다.
눌러서 들어가줍니다.
이제 서브넷을 생성해주도록 하겠습니다.
서브넷(Subnet)은 VCN 내부에서 IP 주소 범위를 나누어 정의하는 논리적 네트워크 단위입니다.
마치 하나의 건물(VCN) 안에 각 방(Subnet)을 나누는 것과 비슷하죠.
VCN - Subnets 메뉴에 들어가 Create Subnet 버튼을 눌러줍니다.
서브넷은 다음과 같이 설정합니다.
IPv4 CIDR Block을 10.0.0.0/24로 설정하는 이유는 10.0.0.0 ~ 10.0.0.255 IP 주소 범위를 사용하기 위함입니다.
(자동 예약된 IP을 제외하면 최대 251개 사용 가능)
Subnet Access는 반드시 public으로 설정해주셔야 합니다.
Route Table과 Security List는 Default로 설정해주세요.
그리고 생성을 눌러줍니다.
이제 게이트웨이를 추가하도록 하겠습니다.
게이트웨이(Gateway)는 VCN/서브넷 내부 리소스가 외부와 통신할 수 있도록 연결하는 통로입니다.
게이트웨이에는 다양한 종류가 있는데, 그 중에서 저희가 사용할 게이트웨이는 Internet Gateway입니다.
(Internet Gateway: 인터넷 양방향 통신 허용)
메뉴를 누르고, Internet Gateways - Create Internet Gateway 버튼을 눌러줍니다.
위에 이름을 아무거나 입력해서 생성해줍니다. (ex. verdaccio-igw)
이제 라우트 테이블에 게이트웨이를 추가해주도록 하겠습니다.
VCN - Routing - Route Rules 항목으로 이동합니다.
그리고 Add Route Rules을 클릭합니다.
위 사진처럼 Route Rules을 추가해주면 끝입니다.
4. 인스턴스(Instance) 생성
지금까지 \세팅하느라 수고하셨습니다.
이제 인스턴스를 생성해보도록 합시다.
먼저 오라클 클라우드 좌측 상단에 메뉴를 눌러줍니다.
그리고 Compute - Instances 항목으로 들어갑니다.
Create Instance 버튼을 눌러줍니다.
인스턴스(Instance) 생성을 통해 가상머신(VM)을 구축할 수 있습니다.
먼저 Name을 설정합니다. (ex. instance-verdaccio, 아무거나 가능)
그 다음 Change Image 버튼을 눌러줍니다.
위에서 Ubuntu을 눌러서 Canonical Ubuntu 22.04을 선택합니다.
그 다음 Change shape 버튼을 눌러줍니다.
그리고 위처럼 Virtual machine을 선택하고, Ampere - VM.Standard.A1.Flex을 선택합니다.
토글을 눌러서 Numbers of OCPUs에 4로 설정해서 최대한 리소스를 설정해보세요.
최근에 춘천 지역에 있는 오라클 클라우드 서버에 리소스가 없어 위 Shape을 지원하지 않을 수 있습니다. 그럴 때는 Specialty and previous generation을 선택하고 VM.Standard.E2.1.Micro을 선택합니다.
다음 단계에서 Security 단계는 넘어가줍니다.
Networking 단계에서 다음을 설정해주세요.
- VNIC name: 아무거나 가능 (ex. verdaccio-vnic)
- Select existing virtual cloud network: 위에서 제작한 VCN 선택
- Select existing subnet: 위에서 제작한 Subnet 선택
그리고 나머지는 설정하지 않으셔도 됩니다.
이때, 중요한 점은 SSH key 입니다.
SSH는 여러분이 인스턴스에 접속하기 위한 중요한 수단입니다.
Generate a key pair for me을 선택하고,
private & public key을 다운로드 해줍니다.
※ 물론 직접 로컬에서 생성하는 방법도 좋습니다.
Storage와 Review 단계는 그냥 넘어가셔도 좋습니다.
모든 설정이 끝나셨다면 Create 버튼을 누릅니다.
📌 Public IP 생성 및 예약
이제 외부에서 접근할 수 있도록 고정 IP(Public IP)를 할당해야 합니다.
그 이유는 인스턴스가 중지되거나 재시작할 때 IP가 변하기 때문인데요,
이러면 외부에서 접근하기 어렵기 때문입니다.
그래서 IP을 고정할 필요가 있습니다.
먼저 좌측 상단에 Networking - Reserved public IPs 항목으로 이동합니다.
Reserve public IP address 버튼을 눌러줍니다.
IP address name은 아무거나 설정하셔도 좋습니다.
다만, IP address source는 Oracle로 설정해주세요.
이제 public IP을 생성해주면 됩니다.
오라클에서 좌측 상단에 Compute - Instance 항목으로 이동합니다.
그리고 생성한 인스턴스를 눌러주고, Networking 메뉴로 들어가면 위 사진처럼 Attached VNICs을 확인할 수 있습니다.
해당 VNIC을 선택해주고, IP administration 항목으로 들어가줍니다.
그러면 위처럼 Private IP을 확인할 수 있습니다.
점 3개 아이콘을 눌러 Edit을 누릅니다.
처음에는 위 사진처럼 Reserved public IP 항목이 나타나지 않습니다.
먼저 No public IP을 선택하고 Update를 눌러줍니다.
그 후 다시 Edit을 눌러보면 Reserved public IP 항목이 뜨는데 그때 체크하시면 됩니다.
Route Table은 위처럼 Default로 설정해주시면 됩니다.
그러면 위처럼 Public IP 주소가 나타나는 것을 확인할 수 있습니다.
앞으로 여러분은 위 주소를 통해 서버에 접속할 수 있습니다.
📌 MobaXterm 설치 및 가상머신 인스턴스 접속
https://mobaxterm.mobatek.net/
MobaXterm free Xserver and tabbed SSH client for Windows
The ultimate toolbox for remote computing - includes X server, enhanced SSH client and much more!
mobaxterm.mobatek.net
MobaXterm은 Window 환경에서 리눅스 서버에 원격 접속하거나 개발 환경을 관리하기 위한 툴입니다.
저의 데스크탑은 Window이기 때문에 위 툴을 활용할 예정입니다.
MobaXterm을 설치합니다.
그 후 Session 항목을 눌러줍니다.
그 다음 위 사진처럼 세팅해줍니다.
※ SSH private key는 pub가 아닌, 개인 키입니다.
그리고 접속하면...!
짠- 위 사진처럼 나오면 끝입니다!
이제 위 가상머신에 Verdaccio 서버를 구축하면 됩니다 :)
여기에 대한 내용은 다음 포스터에서 다루도록 하겠습니다.
📌 이슈 공유
timeout 문제
클라우드 컴퓨팅 작업에서 가장 많이 발생하는 문제입니다.
해당 문제는 원인이 많아 분석하기 힘듭니다.
그래서 완벽한 해결책을 제시하긴 어렵지만, 아래 방법을 참고해보세요.
먼저 명령 프롬프트를 열어 ping <고정 IP>을 입력해보세요.
위 작업을 했는데 패킷을 받지 못한다면 게이트웨이 & 라우터 쪽 설정을 살펴보세요.
Route Table을 확인하여 Destination이 0.0.0.0/0, Target이 Internet Gateway 인지 체크하세요.
또한, 서브넷이 Public 서브넷인지도 체크하셔야 합니다.
저같은 경우에는 게이트웨이 설정이 빠져있었기 때문이었습니다.
'유니티(Unity) > 툴 개발' 카테고리의 다른 글
[Private UPM 개발(3/4)] Verdaccio 패키지 등록 및 배포 (0) | 2025.06.19 |
---|---|
[Private UPM 개발(2/4)] Verdaccio 레지스트리 서버 구축 (0) | 2025.06.18 |
[Public UPM 개발(3/3)] OpenUPM 빌드 파이프라인 구축 (3) | 2025.06.10 |
[Public UPM 개발(2/3)] Semantic-Release 자동화 (2) | 2025.06.08 |
[Public UPM 개발(1/3)] 로컬 커스텀 패키지 제작 (0) | 2025.06.07 |