아래는 같이 OCI DevOps 빌드 파이프라인에 Vulnerability Audit(취약점 감사) 단계를 추가할 수 있습니다.
...
- type: VulnerabilityAudit
name: "Vulnerability Audit Step"
configuration:
buildType: maven
pomFilePath: ${OCI_PRIMARY_SOURCE_DIR}/pom.xml
packagesToIgnore:
- org.apache.struts
maxPermissibleCvssV2Score: 6.0
maxPermissibleCvssV3Score: 8.1
knowledgeBaseId: ocid1...
vulnerabilityAuditCompartmentId: ocid1...
vulnerabilityAuditName: sample_va
...
다음과 같이 개발자는 OCI DevOps의 빌드 실행 세부 정보에서 취약점 감사 결과를 확인할 수 있습니다.
발견된 취약점으로 인해 DevOps 빌드 파이프라인이 실패하는 경우 개발자는 취약점 감사 결과를 보고 관련 CVE와 함께 전체 종속성 트리를 볼 수 있습니다. 개발자는 CVE 점수를 검사하여 문제를 이해한 다음 취약성을 포함하지 않는 버전에 대한 일부 종속성을 패치하는 등 필요한 변경을 수행할 수 있습니다.
Function이 처음 호출될 때(Cold Start 라고 부름) Function 실행에 필요한 인프라를 프로비저닝합니다. 보통 Function을 성공적으로 호출하기 위한 기본 Compute와 Network 관련 리소스가 준비되는데, 이러한 이유로 처음 호출될 때 최소 몇 초 이상의 시간이 소요됩니다. 한번 호출된 후에는 이 후 호출부터 (Hot or Warm Start 라고 부름)는 이미 준비된 인프라 환경에서 호출이 되기 때문에 Cold Start 보다 월등히 빠르게 응답합니다. Hot Start 환경이 되더라도, 일정시간 Function이 사용되지 않으면 다시 관련 인프라 리소스가 정리되고, 이 후 다시 호출될 때 이전과 마찬가지로 Cold Start가 됩니다.
이번에 추가된 기능은 이러한 초기 프로비저닝과 관련된 지연 시간을 최소화하고 처음부터 Hot Start를 보장하기 위한 기능으로 프로비저닝된 동시성(provisioned concurrency) 기능을 활성화 하여 적용할 수 있습니다.
프로비저닝된 동시성(provisioned concurrency)을 사용하기 위해서는 Function에 PCU (provisioned concurrency units)을 지정해야 합니다. PCU는 함수 OCICLI를 활용하여 Function을 생성하거나 업데이트 하는 시점에 다음과 같이 정하여 정의할 수 있습니다.
$ oci fn function create --application-id ocid1.fnapp.oc1.phx.aaaaaaaaaf______r3ca --display-name helloworld-func --image phx.ocir.io/ansh81vru1zp/helloworld/helloworld-func:0.0.1 --memory-in-mbs 128 --provisioned-concurrency "{\"strategy\": \"CONSTANT\", \"count\": 40}"
프로비저닝된 동시성(provisioned concurrency)기능을 활성화 하는 경우 대기중에도 일정 자원을 보유 및 유지를 위한 비용이 추가되는데, 추가되는 비용은 사용되지 않을때도 기본 Function 실행 시간의 25%가 추가됩니다. 예를 들면, 하나의 Function을 100분동안 호출했고, 100분동안 Idle 상태였다면, 총 비용은 125분 동안 사용 비용이 청구됩니다.
인애플리케이션 검색 솔루션을 구축하는 데 사용할 수 있는 OpenSearch를 기반으로 한 관리형 서비스로 대규모 데이터 세트를 검색하고 밀리초 내에 결과를 반환할 수 있도록 지원하는 서비스입니다.
OCI DevOps 서비스에 다음 3개의 기능이 신규 추가되었습니다.
Bitbucket Cloud는 Atlassian에서 서비스하는 소유한 Git 기반 소스 코드 저장소 호스팅 서비스 입니다. DevOps의 외부 저장소로 기존 GitHub, GitLab에 이어 Bitbucket Cloud도 외부 저장소로 연결할 수 있도록 지원합니다.
Helm은 Chart라고 불리는 패키징 포멧을 사용하여 쿠버네티스 리소스를 정의한 파일들(쿠버네티스 YAML manifest와 values.yaml 파일 포함)을 묶을 수 있습니다. 일종의 쿠버네티스를 위한 소프트웨어 패키지라고 볼 수 있습니다.
이번에 DevOps 서비스에서 OKE에 Helm Chart를 배포할 수 있는 기능이 추가되었습니다. 아래는 Helm Chart를 추가하기 위한 기본 필요 사항입니다.
DevOps 배포 파이프라인에서 Kubernetes 클러스터에 Helm 차트 설치(Install Helm chart to Kubernetes cluster) 스테이지를 선택하여 OKE 클러스터에 Helm Chart 배치를 자동화 할 수 있습니다.
DevOps 빌드 파이프라인에서 Maven 프로젝트에서 사용하는 패키지의 취약점을 감지하는 기능이 포함되었습니다. 이 기능은 Oracle Application Dependency Management (ADM)의 취약점 지식 기반을 활용합니다. 자세한 내용은 Application Dependency Management service is now available 부분을 참고합니다.
이제 버전 1.22.5 및 1.21.5 외에도 Kubernetes 버전 1.23.4를 지원합니다. 관련하여 유의할 사항은 다음과 같습니다.
API Gateway를 생성하고 하나 이상의 Public API를 배포하여 운영하는 경우 관리자는 이와 관련하여 다음과 같은 기능이 필요할 수 있습니다.
API Management에서 사용 계획 (Usage Plans) 생성
사용 계획을 생성할 때 API 게이트웨이를 지정할 수 있으며, API Management에서 생성한 구독자별로 사용 계획을 적용할 수 있습니다.
사용 계획을 생성할 때 API 게이트웨이를 지정
API Management에서 생성한 구독자별로 계획 지정
OKE에서는 CSI(Container Storage Interface) 볼륨 플러그인을 사용하여 OKE에서 생성한 클러스터에 Block Volume을 연결하여 Persistent Volume Claim (PVC)를 프로비저닝 할 수 있는 기능을 제공하고 있습니다. 이제 CSI 볼륨 플러그인을 사용하여 PVC를 생성하면 Prometheus (메트릭 모니터링 도구)를 사용하여 다음과 같은 CSI 용량 통계를 볼 수 있습니다.
Unix/Linux 파일시스템 상에서, 각 화일에 대한 정보(소유,허가,위치,크기,시기,종류 등)를 갖고 있는, 약 120 바이트의 고정 크기의 구조체(Structure)로써, 외부적으로는 번호로 표현됨. Source: http://www.ktword.co.kr/test/view/view.php?nav=2&no=1701&sh=inode (정보통신기술용어해설)
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Donghu Kim RELEASE-NOTES-2022-CLOUDNATIVE-SECURITY
oci-release-notes-2022 may-2022 cloudnative