허용 목록에 필요한 포트 및 IP 주소 추가
가상 사설 클라우드
이 허용 목록 정보는 VPC 클러스터별로 적용됩니다. 클래식 클러스터의 허용 목록에 대한 정보는 “클래식 클러스터의 허용 목록에서 필수 포트 및 IP 주소 허용”을 참조하십시오.
기업 허용 목록에서 포트 열기
기업 네트워크 정책에 따라 프록시나 허용 목록을 통해 로컬 시스템에서 공용 엔드포인트에 대한 액세스가 차단되는 경우, 로컬 시스템에서 ibmcloud, ibmcloud oc, ibmcloud cr 명령어와 oc 명령어,
calicoctl 명령어를 실행할 수 있도록 허용해야 합니다.
허용 목록을 통해 ibmcloud, ibmcloud oc 및 ibmcloud cr 명령을 실행하기
기업 네트워크 정책에 따라 프록시나 허용 목록을 통해 로컬 시스템에서 공용 엔드포인트로의 액세스가 차단된 경우, ibmcloud``, ibmcloud oc 및 ibmcloud cr 명령을 실행하려면 IBM Cloud, Red Hat OpenShift on IBM Cloud 및 IBM Cloud Container
Registry 에 대한 TCP 액세스를 허용해야 합니다.
-
허용 목록에서
cloud.ibm.com의 443번 포트에 대한 액세스를 허용하십시오. -
이 API 엔드포인트를 통해 IBM Cloud에 로그인하여 연결을 확인하십시오.
ibmcloud login -a https://cloud.ibm.com/ -
허용 목록에서
containers.cloud.ibm.com의 443번 포트에 대한 액세스를 허용하십시오. -
연결을 확인하십시오. 액세스가 올바르게 구성된 경우 다음과 유사한 메시지가 출력에 표시됩니다.
curl https://containers.cloud.ibm.com/global/v1/versions출력 예
{"kubernetes":[{"major":1,"minor":19,"patch":16,"default":false,"end_of_service":""},{"major":1,"minor":20,"patch":13,"default":false,"end_of_service":""},{"major":1,"minor":21,"patch":7,"default":true,"end_of_service":""},{"major":1,"minor":22,"patch":4,"default":false,"end_of_service":""}],"openshift":[{"major":3,"minor":11,"patch":542,"default":false,"end_of_service":"2022-06-06T12:00:00+0000"},{"major":4,"minor":6,"patch":47,"default":false,"end_of_service":""},{"major":4,"minor":7,"patch":37,"default":false,"end_of_service":""},{"major":4,"minor":8,"patch":21,"default":true,"end_of_service":""}]} -
허용 목록에서, 사용 예정인 IBM Cloud Container Registry 리전에 대한 443번 포트 접근을 허용하십시오. 글로벌 레지스트리는 IBM 제공 공용 이미지를 저장하고 지역 레지스트리는 사용자의 개인용 이미지 또는 공용 이미지를 저장합니다. 허용 목록이 IP 기반인 경우, 이 표를 확인하면 IBM Cloud Container Registry 지역 서비스 엔드포인트에 대한 액세스를 허용할 때 어떤 IP 주소가 허용되는지 확인할 수 있습니다.
-
연결을 확인하십시오. 다음은 미국 동부 및 미국 남부 지역 레지스트리의 예제입니다. 액세스가 올바르게 구성되면 해당 일의 메시지가 출력에 리턴됩니다. 메시지가 없는 경우
204가 리턴됩니다.curl -i https://us.icr.io/api/v1/messages
허용 목록 뒤에서 oc 명령 실행
기업 네트워크 정책에 따라 프록시나 허용 목록을 통해 로컬 시스템에서 공용 엔드포인트에 대한 액세스가 차단된 경우, oc 명령을 실행하려면 클러스터에 대한 TCP 액세스를 허용해야 합니다.
클러스터가 작성될 때 서비스 엔드포인트 URL의 포트는 30000 - 32767 내에서 무작위로 지정됩니다. 작성될 수 있는 모든 클러스터에 포트 범위 30000 - 32767을 공개하거나 기존의 특정 클러스터에 대해 액세스를 허용하도록 선택할 수 있습니다.
시작하기 전에 ibmcloud oc 명령 실행을 위한 액세스를 허용하십시오.
특정 클러스터에 대한 액세스를 허용하려면 다음을 수행하십시오.
-
IBM Cloud에 로그인하십시오. 프롬프트가 표시되면 IBM Cloud 인증 정보를 입력하십시오. 연합 계정이 있는 경우,
--sso옵션을 포함하십시오.ibmcloud login [--sso] -
클러스터가
default외의 리소스 그룹에 속해 있는 경우에는 해당 리소스 그룹을 대상으로 지정하십시오. 각 클러스터가 속하는 리소스 그룹을 보려면ibmcloud oc cluster ls를 실행하십시오. 참고: 해당 리소스 그룹에 대해 Viewer 역할 이상의 역할을 갖고 있어야 합니다.ibmcloud target -g RESOURCE_GROUP_NAME -
클러스터의 이름을 가져오십시오.
ibmcloud oc cluster ls -
클러스터에 대한 서비스 엔드포인트 URL을 검색하십시오.
- 개인 서비스 엔드포인트 URL만 채워진 경우 이 URL을 가져오십시오. 권한 부여된 클러스터 사용자는 사설 네트워크에서 이 엔드포인트를 통해 마스터에 액세스할 수 있습니다.
- 공용 서비스 엔드포인트 URL 및 개인 서비스 엔드포인트 URL이 모두 채워진 경우 URL 둘 다 가져오십시오. 권한 부여된 클러스터 사용자는 공용 네트워크의 공용 엔드포인트 또는 사설 네트워크의 개인 엔드포인트를 통해 마스터에 액세스할 수 있습니다.
ibmcloud oc cluster get --cluster CLUSTER_NAME_OR_ID출력 예
... Public Service Endpoint URL: https://c3.<region>.containers.cloud.ibm.com:30426 Private Service Endpoint URL: https://c3-private.<region>.containers.cloud.ibm.com:31140 ... -
이전 단계에서 가져온 서비스 엔드포인트 URL 및 포트에 액세스를 허용하십시오. 허용 목록이 IP 기반인 경우, 이 표를 확인하면 서비스 엔드포인트 URL에 대한 액세스를 허용할 때 어떤 IP 주소가 허용되는지 확인할 수 있습니다.
-
연결을 확인하십시오.
- 퍼블릭 클라우드 서비스 엔드포인트가 사용으로 설정된 경우:
curl --insecure <public_service_endpoint_URL>/version ``` 명령 예 ```sh {: pre} curl --insecure https://c3.<region>.containers.cloud.ibm.com:31142/version ``` 출력 예 ```json {: screen} { "major": "1", "minor": "7+", "gitVersion": "v1.7.4-2+eb9172c211dc41", "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534", "gitTreeState": "clean", "buildDate": "2017-11-16T08:13:08Z", "goVersion": "go1.8.3", "compiler": "gc", "platform": "linux/amd64" } ``` * 프라이빗 클라우드 서비스 엔드포인트만 사용되는 경우, IBM Cloud 사설 네트워크를 사용하거나 VPN 연결을 통해 사설 네트워크에 연결하여 마스터에 대한 연결을 확인해야 합니다. **참고**: 사용자가 VPN 또는 IBM Cloud® Direct Link 연결을 통해 마스터에 액세스할 수 있도록, [마스터 엔드포인트를 사설 로드 밸런서를 통해 노출해야](/docs/openshift?topic=openshift-cluster-access-private-vpc) 합니다. ```sh {: pre} curl --insecure <private_service_endpoint_URL>/version ``` 명령 예 ```sh {: pre} curl --insecure https://c3-private.<region>.containers.cloud.ibm.com:31142/version ``` 출력 예 ```json {: screen} { "major": "1", "minor": "7+", "gitVersion": "v1.7.4-2+eb9172c211dc41", "gitCommit": "eb9172c211dc4108341c0fd5340ee5200f0ec534", "gitTreeState": "clean", "buildDate": "2017-11-16T08:13:08Z", "goVersion": "go1.8.3", "compiler": "gc", "platform": "linux/amd64" } ``` -
선택사항: 노출해야 하는 각 클러스터에 대해 이러한 단계를 반복하십시오.
허용 목록 뒤에서 calicoctl 명령 실행
기업 네트워크 정책에 따라 프록시나 허용 목록을 통해 로컬 시스템에서 공용 엔드포인트에 대한 액세스가 차단된 경우, calicoctl 명령을 실행하려면 Calico 명령에 대해 TCP 에 대한 액세스를 허용해야 합니다.
시작하기 전에 ibmcloud 명령 및 oc 명령 실행에 대한 액세스를 허용하십시오.
-
oc명령을 허용하는 데 사용한 마스터 URL에서 IP 주소를 검색하십시오. -
etcd의 포트를 가져오십시오.
oc get cm -n kube-system cluster-info -o yaml | grep etcd_host -
마스터 URL IP 주소와 etcd 포트를 통해 Calico 정책에 대한 액세스를 허용하십시오.
허용 목록에서 Red Hat OpenShift 이미지 레지스트리에 대한 액세스 허용
내부 이미지 레지스트리를 위한 보안 외부 경로를 설정하거나, VPC 클러스터 내에서 내부 이미지 레지스트리를 백업하는 IBM Cloud Object Storage 버킷에 액세스하려면, 기업 허용 목록에서 내부 레지스트리 및 IBM Cloud Object Storage 엔드포인트에 대한 액세스를 허용해야 합니다.
-
내부 Red Hat OpenShift 이미지 레지스트리에 대한 외부 라우트를 작성하는 경우 회사 네트워크에서
image-registry-openshift-image-registry.<cluster_name>-<ID_string>.<region>.containers.appdomain.cloud라우트에 액세스할 수 있도록*.containers.appdomain.cloud도메인에 대한 액세스를 허용하십시오. -
VPC 클러스터: 내부 IBM Cloud Object Storage 이미지 레지스트리를 백업하는 Red Hat OpenShift 버킷에 액세스해야 하는 경우 또는 회사 네트워크에서 IBM Cloud Object Storage에 액세스해야 하는 경우
*.cloud-object-storage.appdomain.cloud도메인에 대한 액세스를 허용하십시오.
다른 서비스의 허용 목록이나 온프레미스 허용 목록에 클러스터에서 오는 트래픽 허용하기
워커 노드가 허용 목록으로 보호되는 서비스와 통신할 수 있도록 허용하십시오.
예를 들어, IBM Cloud 내부 또는 외부에서 실행되는 서비스나, 온프레미스에서 실행되며 허용 목록(allowlist)으로 보호되는 서비스가 있을 수 있습니다. 사용자는 자신의 클러스터에서 이러한 서비스에 대한 수신 네트워크 트래픽을 허용하려 합니다. 서비스의 허용 목록에 클러스터의 VPC 서브넷에 속한 공용 게이트웨이의 외부 IP 주소를 추가해야 합니다.
허용 목록으로 보호된 서비스에서 클러스터로 나가는 트래픽을 허용하려면, 해당 서비스의 허용 목록에 워커 노드의 사설 IP 주소나 클러스터의 VPC 서브넷 CIDR을 추가해야 합니다. VPC 클러스터에 있는 작업자 노드에는 사설 IP 주소만 있으므로, VPC 클러스터 작업자 노드에 대한 연결은 IBM Cloud 사설 네트워크에 연결된 시스템으로부터만 가능하다는 점을 참고하십시오.
시작하기 전에
- Red Hat OpenShift 클러스터에 액세스하십시오.
infrastructure-serviceCLI 플러그인을 설치하십시오. VPC 인프라 명령을 실행하기 위한 접두부는ibmcloud is입니다.ibmcloud plugin install infrastructure-service
클러스터에서 다른 서비스로의 수신 허용
클러스터에서 다른 서비스로 들어오는 트래픽을 허용하려면, 해당 서비스의 허용 목록이나 온프레미스 허용 목록을 수정하십시오.
-
클러스터가 작성된 작업자 구역 및 VPC를 가져오십시오.
ibmcloud oc cluster get -c <cluster>출력 예
... Worker Zones: us-south-1, us-south-2, us-south-3 Ingress Subdomain: vpc-prod.us-south.containers.appdomain.cloud Ingress Secret: vpc-prod Creator: - Public Service Endpoint URL: https://c2.us-south.containers.cloud.ibm.com:20267 Private Service Endpoint URL: https://c2.private.us-south.containers.cloud.ibm.com:20267 Pull Secrets: enabled in the default namespace VPCs: ff537d43-a5a4-4b65-9627-17eddfa5237b ... -
찾은 작업자 구역 및 VPC에 대해, 각 작업자 구역의 VPC 서브넷에서 퍼블릭 게이트웨이를 사용으로 설정했는지 확인하십시오.
-
서브넷의 퍼블릭 게이트웨이를 나열하십시오. 클러스터가 있는 구역 및 VPC의 경우 출력에서 서브넷에 대한 게이트웨이 유동 IP 주소를 기록해 놓으십시오.
ibmcloud is public-gateways출력 예
ID Name Status Floating IP VPC Zone 5d308ea5-9f32-43b3-aaae-194d5723a3e5 pgw-b9d45630-c053-11e9-b2f8-79328ce05e7e available 169.XX.XXX.XX test-vpc us-south-1 f8b95e43-a408-4dc8-a489-ed649fc4cfec pgw-18a3ebb0-b539-11e9-9838-f3f4efa02374 available 169.XX.XXX.XX prod us-south-1 2ba9a280-fffa-4b0c-bdca-7970f09f9b8a pgw-73b62bc0-b53a-11e9-9838-f3f4efa02374 available 169.XX.XXX.XX prod us-south-2 057ddef6-631f-4b22-89eb-1e99982a54fa pgw-64c5cae0-0be2-11ea-8f26-e1565e79a36c available 52.XX.XXX.XXX prod us-south-3 -
서비스의 허용 목록이나 온프레미스 허용 목록에 공용 게이트웨이 IP 주소를 추가하여 인바운드 트래픽을 허용하십시오.
-
트래픽 수신 또는 발신을 허용할 각 클러스터에 대해 이러한 단계를 반복하십시오.
다른 서비스에서 클러스터로의 송신 허용
다른 서비스에서 클러스터로 나가는 트래픽을 허용하려면 해당 서비스의 허용 목록이나 온프레미스 허용 목록을 수정하십시오.
- 작업자 노드 서브넷 또는 작업자 노드 IP 주소를 가져오십시오.
- 워커 노드 서브넷 CIDR: 클러스터 오토스케일러를 활성화하는 경우와 같이 클러스터 내 워커 노드의 수를 자주 변경할 것으로 예상되는 경우, 새로운 워커 노드가 추가될 때마다 허용 목록을 일일이 업데이트하는 것은 바람직하지 않을 수 있습니다. 대신 클러스터에서
사용하는 VPC 서브넷을 추가할 수 있습니다. VPC 서브넷은 다른 클러스터에 있는 작업자 노드와 공유될 수 있다는 점에 유의하십시오.
- 클러스터가 작성된 작업자 구역 및 VPC를 가져오십시오.
출력 예ibmcloud oc cluster get -c <cluster>... Worker Zones: us-south-1, us-south-2, us-south-3 Ingress Subdomain: vpc-prod.us-south.containers.appdomain.cloud Ingress Secret: vpc-prod Creator: - Public Service Endpoint URL: https://c2.us-south.containers.cloud.ibm.com:20267 Private Service Endpoint URL: https://c2.private.us-south.containers.cloud.ibm.com:20267 Pull Secrets: enabled in the default namespace VPCs: ff537d43-a5a4-4b65-9627-17eddfa5237b ... - 클러스터가 있는 구역 및 VPC의 서브넷에 대한 서브넷 CIDR을 기록해 놓으십시오.
출력 예ibmcloud is subnetsID Name Status Subnet CIDR Addresses ACL Public Gateway VPC Zone 5f5787a4-f560-471b-b6ce-20067ac93439 vpc-prod-dal1 available 10.240.0.0/24 183/256 allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b - prod us-south-1 e3c19786-1c54-4248-86ca-e60aab74ed62 vpc-prod-dal2 available 10.240.64.0/24 183/256 allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b - prod us-south-2 2930a068-51cc-4eca-807b-3f296d0891b4 vpc-prod-dal3 available 10.240.128.0/24 249/256 allow-all-network-acl-ff537d43-a5a4-4b65-9627-17eddfa5237b - prod us-south-3
- 클러스터가 작성된 작업자 구역 및 VPC를 가져오십시오.
- 개별 작업자 노드 IP 주소: 하나의 앱만 실행하며 스케일링할 필요가 없는 소수의 작업자 노드가 있거나 하나의 작업자 노드만 추가하려는 경우에는 클러스터에 있는 모든 작업자 노드를 나열하고 기본 IP 주소를 기록해 두십시오. 이러한 작업자 노드만 추가됩니다. 클러스터에서 워커 노드를 삭제하거나 워커 노드를 추가하는 경우, 허용 목록을 그에 맞게 업데이트해야 합니다.
ibmcloud oc worker ls --cluster <cluster_name_or_ID> ``` - 워커 노드 서브넷 CIDR: 클러스터 오토스케일러를 활성화하는 경우와 같이 클러스터 내 워커 노드의 수를 자주 변경할 것으로 예상되는 경우, 새로운 워커 노드가 추가될 때마다 허용 목록을 일일이 업데이트하는 것은 바람직하지 않을 수 있습니다. 대신 클러스터에서
사용하는 VPC 서브넷을 추가할 수 있습니다. VPC 서브넷은 다른 클러스터에 있는 작업자 노드와 공유될 수 있다는 점에 유의하십시오.
- 서브넷 CIDR 또는 개별 워커 노드 IP 주소를 서비스의 허용 목록이나 온프레미스 환경의 아웃바운드 트래픽 허용 목록에 추가하십시오.
- 트래픽 수신 또는 발신을 허용할 각 클러스터에 대해 이러한 단계를 반복하십시오.
VPC 보안 그룹 또는 VPC ACL에서 포트 열기
클러스터 네트워크를 보호하기 위해 VPC 보안 그룹 또는 VPC 액세스 제어 목록(ACL) 을 설정하는 경우, 필요한 트래픽이 다른 IBM Cloud 서비스와 통신할 수 있도록 허용하는 규칙을 만들어야 합니다.
공개 허용 목록에서 필수 포트 열기
선택 사항입니다: 인그레스 하위 도메인 모니터링을 위해 들어오는 네트워크 트래픽 허용
인그레스 도메인 상태 모니터링을 사용하여 서비스 엔드포인트의 상태를 모니터링하려면 모니터링 서비스에서 인바운드 액세스를 허용해야 합니다.
기본적으로 모니터링 상태 요청은 HTTPS 을 통해 포트 443으로 전송되므로 포트 443을 대상으로 하는 아래 IP 범위의 트래픽을 허용 목록에 추가해야 합니다. 상태 모니터가 HTTP 대신 포트 80을 사용하도록 구성된 경우 허용 목록 트래픽을 포트 80으로 지정해야 합니다. 또한 사용자 지정 TCP 포트를 사용하는 경우 해당 포트로 들어오는 트래픽을 허용해야 합니다.
자세한 내용은 모니터링에 대한 IBM NS1 Connect 문서를 참조하세요.
IBM NS1 Connect IP 범위 모니터링
163.114.225.0/24163.114.230.0/24163.114.231.0/24
Kubernetes Service 네트워크 영역에 대한 IAM 허용 목록 업데이트하기
기본적으로 모든 IP 주소는 IBM Cloud 콘솔에 로그인하여 자격 증명 생성, 업데이트, 삭제 또는 보기와 같은 클러스터 관리 작업을 수행하는 데 사용할 수 있습니다. IBM Cloud Identity and Access Management(IAM) 콘솔에서 액세스 권한이 있는 IP 주소를 지정하여 허용 목록을 작성할 수 있으며 기타 모든 IP 주소가 제한됩니다.
IAM 허용 목록을 설정하는 경우 Kubernetes Service 을 포함하는 네트워크 영역을 포함해야 합니다. 그렇지 않으면 기존 클러스터가 제대로 작동하지 않습니다. 이는 Kubernetes Service 컨트롤 플레인이 클러스터에 필요한 IBM 서비스를 배포하고 관리하기 위해 IAM에 연결할 수 있어야 하기 때문입니다. IBM 허용 목록을 설정하기 전에 다음 지침을 주의 깊게 따르세요.
또한 허용 목록에서 클러스터가 위치한 지역의 Red Hat OpenShift on IBM Cloud 컨트롤 플레인에서 네트워크 영역을 구성해야 Red Hat OpenShift on IBM Cloud 에서 모든 컨트롤 플레인 IP 주소가 필요한 Ingress ALB 또는 Red Hat OpenShift 웹 콘솔과 같은 구성 요소를 만들거나 액세스할 수 있습니다.
시작하기 전에, 다음 단계에서는 인증 정보가 클러스터의 지역 및 리소스 그룹 인프라 권한에 사용되는 사용자에 맞게 IAM 허용 목록을 변경해야 합니다. 자신이 인증 정보 소유자인 경우에는 자신의 IAM 허용 목록 설정을 변경할 수 있습니다. 본인이 자격 증명 소유자가 아니더라도, 사용자 관리 서비스에 대해 IAM 플랫폼에서 ‘편집자’ 또는 ‘관리자’ IBM Cloud 액세스 역할이 할당된 경우, 자격 증명 소유자의 네트워크를 업데이트할 수 있습니다.
-
IBM Cloud 콘솔에 로그인하십시오.
-
모든 리전 또는 클러스터가 있는 리전에 대해서만 Kubernetes Service IP를 포함하는 네트워크 영역을 만듭니다.
-
클러스터가 속한 계정의 메뉴 모음에서 관리 > 컨텍스트 기반 제한을 클릭합니다.
-
네트워크 영역 > 만들기를 클릭합니다.
-
이름에 네트워크 영역에 대한 설명이 포함된 이름(예:
us-south-kubernetes-service-network-zone)을 입력합니다. -
허용된 IP 주소 및 허용된 VPC 섹션에는 값을 입력하지 마세요.
-
서비스 참조 섹션에서 Kubernetes Service 를 선택하고 +를 클릭합니다.
-
위치의 경우 필드를 비워 두어 모든 위치가 사용되도록 하여 다른 지역의 클러스터에 적용하거나 단일 지역을 지정할 수 있습니다.
-
다음을 클릭하고 선택 사항을 검토합니다.
-
작성을 클릭하십시오.
-
추가 영역에 대해 반복합니다.
-
-
네트워크 영역 이름을 IAM 허용 목록에 추가합니다.
-
메뉴 표시줄에서 관리 > **액세스(IAM)**를 클릭하고 설정을 선택하십시오.
-
IP 주소 액세스 제한에서 사용을 선택하고 이전 단계의 네트워크 영역 이름을 입력합니다.
-
적용을 클릭하십시오.
-