범위 애플리케이션 만들기
범위 애플리케이션을 만들려면 프로토콜, 오리진 설정, TLS 종료 및 사용자 지정 규칙과 같은 고급 기능을 지원하여 트래픽이 오리진 서버로 라우팅되는 방식을 구성해야 합니다. CIS 콘솔 또는 API를 사용하여 범위 애플리케이션을 추가할 수 있습니다.
Range는 추가 비용을 지불하는 엔터프라이즈 고객만 사용 가능하며 대역폭 사용량에 따라 가격이 책정됩니다.
시작하기 전에
다음 계획 수립 시 고려 사항을 검토하십시오:
-
각각 고유한 출처를 가진 최대 10개의 범위 애플리케이션을 만들 수 있습니다. 고유한 출처를 가진 모든 범위 애플리케이션에는 한정된 리소스인 고유 IP 주소가 필요합니다. 10개 이상의 Range 애플리케이션이 필요한 경우 IBM 으로 지원 사례를 제출하세요. 한도 증액 요청은 사용 사례 검토가 필요하며 며칠이 소요될 수 있습니다
기존의 오리진을 공유하되 서로 다른 포트를 사용하는 경우, 10개 이상의 애플리케이션을 생성할 수 있습니다.
-
TCP 범위 애플리케이션의 경우, 이러한 규칙은 OSI 계층 3 및 4에서 작동하므로 사용자 지정 IP 규칙만 적용됩니다. HTTP (S) 범위 애플리케이션은 방화벽 규칙과 IP 규칙을 모두 지원합니다. 일반적으로 방화벽 규칙은 요청 헤더 및 본문 콘텐츠와 같은 레이어 7( HTTP ) 속성을 위해 설계됩니다.
자세한 내용은 범위 애플리케이션을 참조하세요.
콘솔에서 Range 애플리케이션 만들기
콘솔에서 범위 애플리케이션을 추가하려면 다음 단계를 따르세요:
-
CIS 콘솔에서 보안 섹션으로 이동합니다.
-
[범위 ] 탭을 선택한 다음 [만들기 ]를 클릭합니다.
-
목록에서 애플리케이션 유형을 선택합니다: TCP, UDP, HTTP, HTTPS, RDP, SSH 또는 Minecraft. 자세한 내용은 프로토콜 및 사용 사례를 참조하세요.
-
애플리케이션 이름을 입력하십시오. 이 이름은 애플리케이션을 CIS 도메인의 DNS 이름과 연결합니다.
-
에지 포트를 입력합니다. CIS 이 포트에서 들어오는 연결을 수신 대기하고 오리진으로 프록시합니다. 이러한 주소에 대한 연결은 오리진으로 프록싱됩니다.
예를 들어 (
8080-8090)와 같은 포트 범위를 입력할 수 있지만, 원점에는 범위와 일치하는 동일한 수의 연속 포트가 있어야 합니다. -
에지 IP 연결을 선택하십시오.
-
원본 섹션에서 TCP 애플리케이션의 원본 IP와 포트를 입력하거나 기존 로드밸런서 및 포트를 선택합니다.
-
원하는 경우 사용자 지정 규칙을 활성화합니다. 이 기능이 활성화되면, 해당 애플리케이션에 대해 “차단” 또는 “허용 목록” 동작을 가진 규칙이 적용됩니다.
-
선택 사항으로 엣지 TLS 종료를 활성화합니다. 이 기능을 활성화한 후, 목록에서 사용하려는 ‘ TLS ’ 종료 유형을 선택하십시오.
-
선택적으로, 이를 지원하는 프록시 인라인이 있는 경우 PROXY 프로토콜을 선택합니다. 실제 클라이언트 IP를 파악해야 하는 서비스를 운영 중인 경우 이 기능이 유용합니다. 일반적으로 이 설정은
off으로 유지됩니다. -
작성을 클릭하십시오.
Range 애플리케이션을 프로비저닝하면 애플리케이션당 사용된 대역폭 양에 따라 추가 비용이 발생합니다.
메트릭 보기
이제 애플리케이션이 CIS(Cloudflare)를 통해 TCP 트래픽을 프록싱할 준비가 되었습니다.
'지표 > 범위 '로 이동하여 애플리케이션에 대한 연결 수와 처리량 트래픽을 확인하세요.
그래프에는 최대 10개의 애플리케이션에 대한 메트릭이 표시됩니다.
애플리케이션 메트릭을 표시하거나 숨기려면 ‘차트’ 키를 사용하거나 ‘애플리케이션 선택’을 클릭하세요. 지표 데이터의 기간을 변경하려면 목록 메뉴를 사용하십시오.
API 사용 예제
다음 예제를 사용하여 범위 애플리케이션을 만들고 나열합니다.
범위 애플리케이션 만들기
범위 애플리케이션에서는 두 가지 방법으로 원점을 지정할 수 있습니다:
- 원본 IP -
origin_direct매개변수를 사용합니다. - 부하 분산기 -
origin_dns및origin_port매개변수를 사용하십시오.
오리진 IP 요청의 경우:
curl --request POST \
--url https://api-int.cis.dev.cloud.ibm.com/v1/crn:v1:staging:public:internet-svcs-ci:global:a/ce12845bf2914ca18db35bedcd9aefa2:e04e7ccd-9197-4b6d-bf98-933de5074fe6::/zones/2566bebb17f5c0b559a9873a692ccab5/range/apps \
--header 'Content-Type: application/json' \
--header 'X-AUTH-USER-TOKEN: Bearer XXXX' \
--data '{"protocol":"tcp/22","dns":{"type":"CNAME","name":"origin.entdemo5.batflare.com"},"origin_direct":
["tcp://8.8.8.8:22"],"proxy_protocol":"off","ip_firewall":true}'
리소스 예:
{
"result": {
"id": "de4d336aea6f4f56b998ffdec9a0f00c",
"protocol": "tcp/22",
"dns": {
"type": "CNAME",
"name": "origin.entdemo5.batflare.com"
},
"origin_direct": [
"tcp://8.8.8.8:22"
],
"ip_firewall": true,
"proxy_protocol": "off",
"tls": "off",
"traffic_type": "direct",
"edge_ips": {
"type": "dynamic",
"connectivity": "all"
},
"created_on": "2025-08-13T07:39:54.175727Z",
"modified_on": "2025-08-13T07:39:54.175727Z"
},
"success": true,
"errors": [],
"messages": []
}
로드 밸런서를 사용한 요청 예시:
curl -X POST \
https://api.cis.cloud.ibm.com/v1/<url-encoded-crn>/zones/<zone-d>/range/apps \
-H 'X-Auth-User-Token: <token>' \
-d '{"protocol":"tcp/22","dns":{"type":"CNAME","name":"ssh.example.com"},"origin_dns": {"name": "test"},"proxy_protocol":true,"ip_firewall":true, "origin_port": 43}'
리소스 예:
{
"result": {
"id": "4f70c3d4f20576b79135b898295e8093",
"protocol": "tcp/22",
"dns": {
"type": "CNAME",
"name": "ssh.example.com"
},
"origin_dns": {
"name": "test"
},
"origin_port": 43,
"ip_firewall": true,
"proxy_protocol": true,
"created_on": "2019-01-09T17:39:09.190606Z",
"modified_on": "2019-01-09T17:39:09.190606Z"
},
"success": true,
"errors": [],
"messages": []
}
- DNS 이름
- 도메인에서 애플리케이션과 연결된 DNS 이름입니다.
- 프로토콜/엣지 포트
- 애플리케이션이 수신 대기하는 포트로, 들어오는 연결은 오리진으로 프록시됩니다.
- 오리진 다이렉트
- 애플리케이션이 실행되는 IP 및 포트로, 엣지에서 오리진까지의 트래픽 흐름을 지정합니다.
- IP 방화벽
- CIS 을 활성화하면 특정 IP 또는 범위를 허용, 차단 또는 챌린지하는 등의 사용자 지정 규칙 기준을 적용하여 기존 IP 방화벽 동작을 대체하여 보다 세분화된 액세스 제어를 제공합니다.
- 프록시 프로토콜
- 프록시 프로토콜 v1; 을 지원하는 인라인 프록시가 있는 경우에만 사용하도록 설정합니다.
- 오리진 DNS
- 오리진으로 사용되는 로드 밸런서 이름입니다.
- 오리진 포트
- 원본 서비스의 포트입니다.
자세한 내용은 범위 애플리케이션 만들기를 참조하세요.
모든 범위 애플리케이션 목록
다음 요청을 사용하여 모든 Range 애플리케이션을 나열하십시오:
curl --request GET \
--url https://api-int.cis.dev.cloud.ibm.com/v1/crn:v1:staging:public:internet-svcs-ci:global:a/ce12845bf2914ca18db35bedcd9aefa2:e04e7ccd-9197-4b6d-bf98-933de5074fe6::/zones/2566bebb17f5c0b559a9873a692ccab5/range/apps \
--header'content-type: application/json'
--header 'X-AUTH-USER-TOKEN: Bearer XXXX' \
리소스 예:
{
"result": [
{
"id": "de4d336aea6f4f56b998ffdec9a0f00c",
"protocol": "tcp/22",
"dns": {
"type": "CNAME",
"name": "origin.entdemo5.batflare.com"
},
"origin_direct": [
"tcp://8.8.8.8:22"
],
"ip_firewall": true,
"proxy_protocol": "off",
"tls": "off",
"traffic_type": "direct",
"edge_ips": {
"type": "dynamic",
"connectivity": "all"
},
"created_on": "2025-08-13T07:39:54.175727Z",
"modified_on": "2025-08-13T07:39:54.175727Z"
}
],
"success": true,
"errors": [],
"messages": []
}
자세한 내용은 리스팅 범위 애플리케이션을 참조하세요.
특정 범위 애플리케이션 나열
특정 Range 애플리케이션을 나열하려면 다음 요청을 사용하십시오:
curl -X GET \
https://api.cis.cloud.ibm.com/v1/<url-encoded-crn>/zones/<zone-d>/range/apps/4f70c3d4f20546b79135b898295e8093
응답 예시:
-
오리진 IP별 애플리케이션:
{ "result": { "id": "4f70c3d4f20546b79135b898295e8093", "protocol": "tcp/22", "dns": { "type": "CNAME", "name": "ssh.example.com" }, "origin_direct": [ "tcp://172.0.2.1:22" ], "ip_firewall": true, "proxy_protocol": true, "created_on": "2019-01-09T17:33:09.190606Z", "modified_on": "2019-01-09T17:33:09.190606Z" }, "success": true, "errors": [], "messages": [] } -
로드 밸런서별 애플리케이션:
{ "result": { "id": "555359036e7f4acc82d69b916f62caba", "protocol": "tcp/22", "dns": { "type": "CNAME", "name": "ssh.example.com" }, "origin_dns": { "name": "test_update" }, "origin_port": 76, "ip_firewall": true, "proxy_protocol": true, "created_on": "2019-01-10T22:26:47.167008Z", "modified_on": "2019-01-10T22:26:47.167008Z" }, "success": true, "errors": [], "messages": [] }