서비스, 보안, 데이터 등 어느정도 규모 있는 회사의 경우 AWS 계정을 나눠서 사용한다. 계정을 분리하면 계정간의 데이터를 공유해야 하는 일이 생기는데 이때 S3의 객체 소유권 설정/업로드할 때의 파라미터에 따라 읽기에 제한이 생긴다!! CrossAccount S3 버킷 정책 기본적으로 계정이 다르면 서로의 S3에 업로드가 불가하다. 하지만 S3 버킷에 아래와 같이 다른 계정의 ARN에 대해 설정한다면 CrossAccount의 S3 Object가 가능하며 필요에 따라서 Action, Resource를 제한하는것도 좋은 방법이다. 아래와 같이 설정하게 되면 Deny 정책이 먼저 적용되기 때문에 test-cross-account의 게정은 test 버킷에 test.txt의 이름을 제외하고 모두 업로드가 가능..
전체 글
2022년 11월 openssl 재단에서 엄청난 취약점이 발견되었다는 기사가 많이 나왔다. 취약점이 공개되기 이전에는 엄청난 취약점이라고 공포심 조장이 많았는데, 실제 취약점이 공개되고 난 다음에는 영향력도 크지 않고 유효한 취약점이 되기에는 많은 조건이 있기 때문에 사실 그만큼 위험성이 높은것은 아니었다. KISA 인터넷 보호나라&KrCERT KISA 인터넷 보호나라&KrCERT www.boho.or.kr 취약점에 대한 기사를 보자마자 우리 회사 Container image에는 해당 취약점이 없을까? 현황 파악을 할 수 있을까? 하는 생각이 많았다. 근데 결론부터 말하면, 현재 회사에서는 개발/배포 과정에서 image에 대한 취약점 점검이 없었어서 취약점 점검을 위한 설계를 하였다. 취약점 점검을 위한..
kubernetes 공부를 하다보면 pod, containers라는 단어를 많이 들어볼 수 있다. 먼저 pod란? kubernetes에서 가장 기본적인 배포 단위이다. 쉽게 말해서 1개의 가상이미지라고 보면 된다. 그렇다면 container는 뭘까? pod를 이루는 Application이라고 보면 된다. 일반적으로 1개의 pod에는 1개의 container가 존재하나 필요에 따라서 다수의 containers가 존재할 수 있고 이런 경우 multi containers pod라고 한다. 그럼 init container는 뭘까? init container는 app container가 구동되기 이전에 pod를 초기화해주는 container라고 보면 된다. pod의 환경설정 또는 기타 다른 부수적인 작업을 하기 ..
앞장에서 DaemonSet에 대해서 알아보았다. 그렇다면 이번에는 StaticPod에 대해서 알아보자! 먼저 StaticPod란 무엇일까? Docs에 기재되어 있느 내용을 인용하면 Kubernetes API 서버없이 Kubelet 데몬에 의해 직접 관리하며, Node에 필수로 설치하는 Pod을 배포하기 위한 방법으로 설명되어 있다. Kubelet 데몬에 의해 직접 관리의 의미는 일반적은 Kubernetes 구조와는 다르다는것을 의미한다. 일반적은 구조는 사용자가 어떤 명령을 하면 이를 API Server에서 모두 취합하여 명령을 내린다. API Server는 사람으로치면 두뇌의 역할을 한다. 그렇기에 API Server에 장애가 발생하면 Pod 배포가 되지 않는다. 근데 StaticPod는 API Ser..
Kubernetes에는 많은 형태의 Pod 배포 방법이 존재한다. 그렇기에 많은것을 공부해야되고 아직까지도 새로운것이 많다. 이번에는 DaemonSet 과 StaticPod에 대해서 알아보자!! 먼저 DaemonSet이란? DaemonSet은 노드별로 Pod를 배포할 때 사용하는 서비스이다. 예를들어서 클러스터에 5개의 Node가 존재한다면 Daemonset이 있다면 각 노드별로 Pod가 배포되고 총 5개의 Pod가 배포된다. 일반적으로 Node별로 Pod 정보를 수집하거나, Node 정보를 수집하거나 또는 각 Node에 필수로 실행되어야하는 Pod가 있을 때 DaemonSet을 많이 사용한다. 현재 재직중인 회사에서도 Node의 상태를 모니터링하는 오픈소스 플랫폼을 사용하는데, 이를 DaemonSet으..