클라우드 서비스 중에서도 IBM Cloud는 AI, 보안, DevOps 등에 강점을 가진 플랫폼으로, 전 세계 기업들이 활용하고 있습니다. 특히 앱 배포와 커스텀 도메인 연결 과정을 간편하게 처리할 수 있어, 개발자뿐 아니라 스타트업에게도 매우 매력적인 선택지입니다. 이번 글에서는 IBM Cloud에서 앱 배포하고 도메인 연결하는 방법을 실제 사례를 기반으로 정리해보겠습니다.
앱을 IBM Cloud에 배포하기 전에 아래 사항을 먼저 준비해두면 좋습니다:
IBM Cloud에서는 Cloud Foundry App를 통해 빠르게 앱을 배포할 수 있으며, 복잡한 설정 없이도 웹 애플리케이션을 실행할 수 있습니다.
Cloud Foundry는 IBM Cloud에서 제공하는 앱 배포 플랫폼입니다. 간단한 명령어만으로 앱을 배포할 수 있습니다.
먼저 IBM Cloud CLI를 설치합니다:
curl -fsSL https://clis.cloud.ibm.com/install/linux | sh
ibmcloud login
예를 들어 Node.js 프로젝트가 있다고 가정합니다. manifest.yml
파일을 생성해 Cloud Foundry 배포 정보를 추가합니다.
applications:
- name: my-node-app
memory: 256M
instances: 1
path: .
buildpack: nodejs_buildpack
이제 아래 명령어로 IBM Cloud에 앱을 배포합니다:
ibmcloud target --cf
ibmcloud cf push
배포가 완료되면 https://<앱이름>.us-south.cf.appdomain.cloud
같은 임시 도메인이 자동 생성됩니다.
앱을 배포한 후에는 자신의 커스텀 도메인을 연결할 수 있습니다. 도메인은 GoDaddy, 가비아, Namecheap 등에서 구매할 수 있으며, DNS 관리가 가능한지 꼭 확인해야 합니다.
도메인 등록업체에서 원하는 도메인을 구매합니다. 예: myappdemo.com
도메인 관리 페이지에서 CNAME 레코드를 추가합니다:
타입 | 호스트 | 대상(Destination) |
---|---|---|
CNAME | www 또는 @ | <앱이름>.us-south.cf.appdomain.cloud |
예를 들어 www.myappdemo.com
을 연결하고 싶다면 위와 같이 설정합니다. 일부 업체는 TTL 값을 함께 입력해야 하며, 기본값(3600초)을 유지해도 됩니다.
DNS 설정만으로는 커스텀 도메인이 인식되지 않기 때문에, IBM Cloud에서도 해당 도메인을 등록해야 합니다.
ibmcloud target --cf
ibmcloud cf domains # 현재 등록된 도메인 확인
ibmcloud cf create-domain <organization_name> myappdemo.com
도메인을 등록한 후, 앱을 수정하여 새 도메인을 포함하도록 설정합니다.
applications:
- name: my-node-app
routes:
- route: www.myappdemo.com
memory: 256M
instances: 1
path: .
buildpack: nodejs_buildpack
이후 다시 앱을 배포합니다:
ibmcloud cf push
도메인 설정과 DNS가 올바르게 연결되었다면, www.myappdemo.com
으로 접속 시 앱이 정상적으로 열려야 합니다.
IBM Cloud는 TLS 인증서도 자동으로 발급하거나 외부 인증서를 연결할 수 있습니다.
IBM Cloud에서는 Managed TLS 기능을 통해 자체적으로 HTTPS를 적용할 수 있습니다. IBM Cloud 콘솔에서 앱 > 라우트 > 보안 설정에 들어가 TLS 인증서를 적용합니다.
또는 다음 CLI 명령으로도 가능:
ibmcloud cf map-route my-node-app myappdemo.com --hostname www
만약 IBM의 Managed TLS를 사용하지 않는 경우, 서버 측에서 Let’s Encrypt를 수동으로 설정하거나 NGINX 리버스 프록시를 통해 적용할 수도 있습니다.
Cloud Foundry는 서버리스에 가까운 방식으로, 코드만 업로드하면 빌드팩이 알아서 애플리케이션을 실행해줍니다. 반면 Kubernetes는 컨테이너 기반 배포로, 더욱 유연하고 복잡한 설정이 가능하지만, YAML 구성 및 CI/CD 파이프라인 설정이 필요합니다. 초보자나 빠른 프로토타입 배포에는 Cloud Foundry가 적합하고, 대규모 확장과 운영 자동화를 원한다면 Kubernetes가 추천됩니다.
도메인 연결이 반영되지 않을 경우, 다음 항목을 확인해 보세요:
cf create-domain
)manifest.yml
에서 route 설정이 정확한지 확인특히 DNS는 전파에 시간이 걸릴 수 있으므로, 변경 후 30분~1시간 정도 기다려야 정상 작동하는 경우가 많습니다.
기본적으로 IBM Cloud에서 제공하는 공용 도메인(*.cf.appdomain.cloud
)에는 자동으로 HTTPS가 적용됩니다. 커스텀 도메인을 사용하는 경우에는 Managed TLS 서비스를 통해 무료로 HTTPS 인증서를 적용할 수 있습니다. 다만, 별도의 Load Balancer를 사용하거나 고급 네트워크 구성에서는 소량의 추가 요금이 발생할 수 있습니다. Let’s Encrypt를 직접 적용하는 경우에는 비용 없이도 HTTPS 적용이 가능합니다.
윈드라이브(OneDrive)를 사용하다 보면 어느 순간 “동기화 중지됨”, “저장소 가득 참”이라는 메시지를 마주할 수 있습니다. 이는…
윈드라이브(OneDrive)를 사용하다 보면, 기본으로 설정된 동기화 폴더 위치가 불편하거나 C드라이브 용량 부족 등으로 인해 다른…
윈드라이브(OneDrive)는 기본적으로 자동으로 파일을 클라우드와 동기화하도록 설정되어 있습니다. 문서를 수정하거나 사진을 추가하면, 몇 초 내로…
윈드라이브(OneDrive)는 자동으로 파일을 클라우드에 백업하고 여러 기기와 실시간으로 동기화해주는 매우 유용한 도구입니다. 하지만 간혹 “OneDrive…
윈드라이브(OneDrive)는 실시간으로 파일을 클라우드에 저장하고 여러 기기에서 자동으로 동기화해주는 편리한 서비스지만, 때때로 동기화가 멈추거나 오류가…
윈드라이브(OneDrive)는 기본적으로 전체 OneDrive 폴더를 PC와 동기화하지만, 모든 데이터를 동기화할 필요는 없습니다. 저장 공간을 절약하거나,…