플로우 로그 콜렉터 작성
특정 VPC(Virtual Private Cloud), 서브넷, 인스턴스 또는 인터페이스에 대한 플로우 로그 콜렉터를 주문하고 프로비저닝할 수 있습니다. 시작하기 전에 플로우 로그 정보에 나열되어 있는 유스 케이스를 검토하고 다음 전제조건을 충족시켜야 합니다.
플로우 로그 콜렉터를 프로비저닝할 때 가장 세분화된 단위가 가장 좋다는 점을 염두에 두십시오.
콘솔의 전제 조건
플로우 로그 콜렉터를 작성하기 전에 다음 전제조건을 충족하는지 확인하십시오.
-
최소 하나의 VPC, 서브넷 및 가상 서버 인스턴스가 존재하는지 확인하십시오. 지시사항은 VPC 및 서브넷 작성 및 가상 서버 인스턴스 작성을 참조하십시오.
-
플로우 로그에 버킷이 있는 IBM Cloud® Object Storage 인스턴스가 존재하는지 확인하세요. Object Storage 버킷을 작성하려면 IBM Cloud Object Storage 순서 지정 페이지를 참조하십시오.
Object Storage 버킷은 대상 리소스와 같은 지역에 있는 단일 리전 버킷이어야 합니다. 또한 IAM 액세스 그룹 및 감사 로깅을 통해 버킷을 보안 설정하는 것이 좋습니다.
CLI의 전제조건
플로우 로그 콜렉터를 작성하기 전에 다음 전제조건을 충족하는지 확인하십시오.
-
최소 하나의 VPC, 서브넷 및 가상 서버 인스턴스가 존재하는지 확인하십시오. 지시사항은 VPC 및 서브넷 작성 및 가상 서버 인스턴스 작성을 참조하십시오.
-
플로우 로그에 버킷이 있는 IBM Cloud® Object Storage 인스턴스가 존재하는지 확인하세요. Object Storage 버킷을 작성하려면 IBM Cloud Object Storage 순서 지정 페이지를 참조하십시오.
Object Storage 버킷은 대상 리소스와 같은 지역에 있는 단일 리전 버킷이어야 합니다. 또한 IAM 액세스 그룹 및 감사 로깅을 통해 버킷을 보안 설정하는 것이 좋습니다.
-
유형의 리소스에 권한 부여 Flow Logs for VPC 유형의 리소스에 권한을 부여하여 2단계에서 생성한 Object Storage 인스턴스를 사용하도록 합니다.
이를 수행하려면 다음 명령을 입력하십시오.
ibmcloud iam authorization-policy-create is cloud-object-storage Writer --source-resource-type flow-log-collector --target-service-instance-id $COS_INSTANCE_GUID ibmcloud iam authorization-policy-create is cloud-object-storage Reader --source-resource-type image --target-service-instance-id $COS_INSTANCE_GUID그림과 같이 Object Storage 인스턴스의 서비스 자격 증명 섹션에서
COS_INSTANCE_GUID을 얻을 수 있습니다.
Object Storage 서비스 인증 정보 자세한 정보는 서비스 간 액세스 권한을 부여하기 위해 권한 사용을 참조하십시오.
API에 대한 전제조건
플로우 로그 콜렉터를 작성하기 전에 다음 전제조건을 충족하는지 확인하십시오.
-
최소 하나의 VPC, 서브넷 및 가상 서버 인스턴스가 존재하는지 확인하십시오. 지시사항은 VPC 및 서브넷 작성 및 가상 서버 인스턴스 작성을 참조하십시오.
-
플로우 로그에 버킷이 있는 IBM Cloud® Object Storage 인스턴스가 존재하는지 확인하세요. Object Storage 버킷을 작성하려면 IBM Cloud Object Storage 순서 지정 페이지를 참조하십시오.
Object Storage 버킷은 대상 리소스와 같은 지역에 있는 단일 리전 버킷이어야 합니다. 또한 IAM 액세스 그룹 및 감사 로깅을 통해 버킷을 보안 설정하는 것이 좋습니다.
-
유형의 리소스에 권한 부여 Flow Logs for VPC 유형의 리소스에 권한을 부여하여 2단계에서 생성한 Object Storage 인스턴스를 사용하도록 합니다.
이를 수행하려면 다음 단계를 사용하십시오.
-
IBM Cloud 콘솔에서 **관리 > 액세스(IAM)**를 클릭한 후 탐색 분할창에서 권한을 선택하십시오.
-
작성을 클릭하고 다음 정보를 완료하십시오.
소스 서비스의 경우 다음을 수행하십시오.
- VPC 인프라 서비스를 선택하십시오.
- 선택된 속성을 기반으로 하는 리소스를 선택하십시오.
- 리소스 유형의 경우, Flow Logs for VPC를 선택하십시오.
- 소스 서비스 인스턴스의 경우, 모든 인스턴스를 선택하십시오.
대상 서비스의 경우 다음을 수행하십시오.
- Cloud Object Storage를 선택하십시오.
- 선택된 속성을 기반으로 하는 리소스를 선택하십시오.
- 서비스 인스턴스의 경우, string equals > 모든 인스턴스를 선택하십시오.
서비스 액세스의 경우, 대상 서비스에 액세스하는 소스 서비스에 대해 액세스 권한을 지정하려면 작성자 역할을 선택하십시오.
-
권한 부여를 클릭하십시오.
자세한 정보는 서비스 간 액세스 권한을 부여하기 위해 권한 사용을 참조하십시오.
-
콘솔에서 플로우 로그 수집기 만들기
IBM Cloud 콘솔을 사용하여 플로우 로그 콜렉터를 작성하려면 다음 단계를 수행하십시오.
-
IBM Cloud 콘솔로 이동하여 계정에 로그인합니다.
-
탐색 메뉴
선택한 다음 인프라
> 네트워크 > 플로우 로그를 클릭합니다.
Flow Logs for VPC 대시보드가 표시됩니다.
-
만들기를 클릭하여 플로우 로그 프로비저닝 페이지로 이동합니다.
-
다음 필드에 값을 입력하십시오.
- 이름 - 플로우 로그 콜렉터의 고유 이름을 입력합니다.
- 리소스 그룹 - 플로우 로그 콜렉터의 리소스 그룹을 선택합니다. 이 플로우 로그에 대한 기본 그룹을 사용하거나 목록에서 선택할 수 있습니다(정의된 경우). 자세한 정보는 리소스를 리소스 그룹으로 구성하는 데 대한 우수 사례를 참조하십시오.
- 태그- 선택 사항으로 태그를 추가하여 리소스를 정리하고, 사용 비용을 추적하거나, 리소스에 대한 액세스를 관리할 수 있습니다.
- 액세스 관리 태그-선택적으로 액세스 제어 관계를 구성하는 데 도움이 되도록 자원에 액세스 관리 태그를 추가하십시오. 액세스 관리 태그의 유일한 지원 형식은
key:value입니다. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오.
-
수집기 세부 정보를 보려면 플로우 로그의 대상 서비스를 선택하세요. 선택사항에 따라 추가 필드가 필요할 수 있습니다.
- 가상 사설 클라우드- VPC를 선택합니다. 선택한 VPC 내의 모든 네트워크 트래픽이 로깅됩니다.
- 서브넷 - VPC 및 선택한 VPC 내의 서브넷을 선택합니다. 선택한 서브넷 내의 모든 트래픽이 로깅됩니다.
- 인스턴스 - VPC 및 선택한 VPC 내에 존재하는 가상 서버 인스턴스를 선택합니다. 가상 서버 인스턴스에 대한 모든 트래픽이 로깅됩니다.
- 인터페이스 - VPC, 선택한 VPC 내의 가상 서버 인스턴스 및 선택한 가상 서버 인스턴스에 대한 특정 네트워크 인터페이스를 선택합니다. 선택한 네트워크 인터페이스에 대한 모든 트래픽이 로깅됩니다.
- 연결되지 않은 가상 네트워크 인터페이스- 연결되지 않은 가상 네트워크 인터페이스의 ID를 지정합니다. 이 기능은 준비가 되면 로그 수집 서비스에 연결할 수 있는 격리된 전용 로깅 경로를 만드는 데 유용합니다.
-
로그가 저장되는 위치를 지정합니다. 플로우 로그는 Object Storage 버킷에 기록되며, 대상 리소스와 동일한 지역에 단일 리전 버킷으로 만들어야 합니다.
- Cloud Object Storage 인스턴스- 원하는 버킷이 있는 Object Storage 인스턴스입니다.
- 위치 - 대상 리소스가 상주하는 지역에 직접 연결되어 이 입력을 사용할 수 없습니다.
- 버킷- 플로우 로그 수집 서비스가 기록하는 원하는 IBM Cloud® Object Storage 버킷입니다.
CLI에서 플로우 로그 수집기 만들기
시작하기 전에 CLI 환경을 설정 하십시오.
CLI를 사용하여 플로우 로그 콜렉터를 작성하려면 다음 명령을 실행하십시오.
ibmcloud is flow-log-create \
--bucket STORAGE_BUCKET_NAME \
--target TARGET_ID [--name NAME] \
--active ACTIVE \
[--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] \
[--json]
여기서:
--bucket- Object Storage 버킷의 이름입니다.
--target - 흐름 로그의 대상입니다.
--name - 플로우 로그의 새 이름입니다.
--active - 이 콜렉터의 활성 여부를 표시합니다.
--resource-group-id - 리소스 그룹의 ID. 이 옵션은 --resource-group-name과 상호 배타적입니다.
--resource-group-name - 리소스 그룹의 이름. 이 옵션은 --resource-group-id와 상호 배타적입니다.
--json - 출력 형식을 JSON으로 지정합니다.
API로 플로우 로그 수집기 만들기
API를 사용하여 플로우 로그 콜렉터를 작성하려면 다음 단계를 수행하십시오.
-
올바른 변수를 사용하여 API 환경을 설정하십시오.
-
API 명령에 사용할 변수에 다음 값을 저장하십시오.
ResourceGroupId- 먼저 리소스 그룹을 가져온 후 변수를 채우십시오.
export ResourceGroupId=<your_resourcegroup_id>VpcId- list vpc 명령(위의 변수 사용)을 사용하여 찾은 다음 제공된 ID를 기반으로 변수를 채우십시오.
export VpcId=<your_VPC_id>COSbucket- Object Storage 버킷의 이름입니다.
export COSbucket=<your_COS_bucket_name> -
모든 변수가 시작되면 특정 VPC에 대한 플로우 로그 콜렉터를 프로비저닝하십시오.
curl -X POST -sH "Authorization:${iam_token}" "$vpc_api_endpoint/v1/flow_log_collectors?version=$api_version&generation=2" \ -d '{ \ "name": "flow-logs-1", \ "resource_group": { "id": "'$ResourceGroupId'" }, \ "storage_bucket": { "name": "'$COSbucket'" }, \ "target": { "id": "'$VpcId'" } \ }' | jq이 예에서는 MIT 라이선스에 따라 라이선스가 부여된 타사 도구인
jq파서를 사용합니다.jq인스턴스를 만들 때 사용 가능한 모든 VPC 이미지에 사전 설치되어 있지 않을 수 있습니다. 사용하기 전에jq을 설치하거나 원하는 다른 구문 분석기를 사용해야 할 수도 있습니다. -
서브넷, 가상 서버 인스턴스 또는 VNIC를 대상으로 하는 콜렉터를 프로비저닝하려면 서브넷 ID, 가상 서버 인스턴스 ID 또는 VNIC ID를 콜렉터 대상으로 제공해야 합니다. 예를 들어 다음 요청은 가상 서버 인스턴스 ID를 대상으로 하는 콜렉터를 작성합니다.
export VsiId=<your_vsi_id>curl -X POST \ -sH "Authorization:${iam_token}" \ "$vpc_api_endpoint/v1/flow_log_collectors?version=$api_version&generation=2" \ -d '{ \ "name": "flow-logs-1", \ "resource_group": { "id": "'$ResourceGroupId'" }, \ "storage_bucket": { "name": "'$COSbucket'" }, \ "target": { "id": "'$VsiId'" } \ }' | jq