본문 바로가기
반응형

DevOps94

[ACM] 공인인증서 발급 및 CloudFront 적용 AWS Certificate Manager(ACM) 즉, 앞에서 알아본 SSL인증서를 AWS에서 만들어줄 수 있는 서비스 일반적인 인증서(사설인증서)는 기한만료면 갱신작업이 필요하지만, AWS에서 발급받은 인증서(공인인증서)는 13개월마다 자동으로 갱신되는 장점이 있음 단, 비용은 인증서 값이 아니라 트래픽에 대해서만 청구 공인인증서 요청 1. 인증서 요청 1) 공인 인증서 : Amazon의 공인인증서 -> 인증방식 : 도메인방식/이메일방식 2) 사설 인증서 : 사설CA의 인증서 2. 도메인이름 추가 와일드카드 인증서(*) : 전체도메인(FQDN)의 서브도메인들까지 모두 SSL 적용 ex) *.naver.com이면 mail.naver.com, new.naver.com 등 서브도메인 무제한 추가도메인도 설.. 2020. 5. 26.
[ACM] SSL인증서 개념 및 CA인증기관 SSL 인증서 클라이언트와 서버간의 통신을 보증해주는 제3자 문서 1) 왜 필요한가? 필요성 (HTTP 한계) HTTP(80) : 클라이언트와 서버사이의 메시지 교환 규칙 (Request & Response) ‘암호’화 되지 않은 상태로 메시지가 유출되서 잘못된 메시지를 전송할 수 있음 상대방을 확인하는 ‘인증’하는 수단이 없어서 잘못된 상대에게 메시지를 보낼 수 있음 2) 목적 : 클라이언트의 안전한 통신 HTTPS(443) : SSL이나 TLS 같은 프로토콜을 사용하는 HTTP (암호+인증+HTTP) SSL역할: 클라이언트와 서버사이의 통신을 암호화 즉, SSL인증서를 통해 메시지를 ‘암호화’ 하고, 내가 통신하고자 하는 상대가 맞는지 ‘인증’ 3) SSL인증서 암호화방식 -공개 방식 암호화하는 키와.. 2020. 5. 26.
쿠버네티스 ingress 구성 (2/3) - ingress / Nginx-Controller 생성 ▼▼▼ 서비스Type 복습하기 ▼▼ ingress(ingress-nginx)구성 목적 하나의 아이피에 각각의 도메인마다 각자의 서비스를 구성하고 싶을때 현재 상태 : AWS위에서 사용하는 노드를 생성한 쿠버네티스 Pod는 없고, 서비스는 kops로 생성한거 하나 있음 근데 서비스는 내부끼리 통신할 수 있는 ip를 가지고있음 (타입 : clusterip) ingress 규칙 생성 1) yaml파일 생성 : vim ingres-controller.yaml host : 가비아에서 구입한 host명 path : 백엔드랑 연결할 path backend/ServiceName : 연결할 서비스명 backedn/ServicePort : 연결할 서비스의 포트 2) yaml파일 배포 : kubectl apply -f in.. 2020. 5. 24.
쿠버네티스 ingress 구성 (1/3) -ingress (인그레스) 개념 앞에서 외부랑 통신하는 방법들은 Layer4단에서 처리하는 방식 1. clusterIP/kube-proxy 2. nodeport 3. loadbalancer 이들과는 다르게 ingress는 서비스의 한 종류가 아닌 컨트롤러(ingress-controller)가 직접 수행하는 외부와 통신 즉, 여러 서비스들은 같은ip 주소로 외부에 노출할때 가장 유용한 방법 ingress (인그레스) 클러스터 외부-> 내부로 접근하는 요청을 어떻게(Layer7단에서) 처리할지 정의한 규칙들의 모임 (참고) egress(이그레스) : 서버 내부-> 외부로 나가는 트래픽 어떤 규칙들? 외부에서 접근가능한 url이 어떤건지 트래픽을 어떻게 로드밸런싱할지 SSL/TLS 인증서를 어떻게 적용할지 IP가 아닌 도메인기반으로 어떻게 .. 2020. 5. 24.
쿠버네티스로 외부통신하기(3/3) - LoadBalancer Service Type : LoadBalancer 외부와 통신하는 일반적인 방식 서비스를 직접적으로 노출하고, 지정한 포트의 모든 트래픽은 서비스로 포워딩댐 ready상태인 모든 노드들은 로드밸런싱 트래픽이 가능함 단, 노출하고자 하는 서비스마다 각 자체의 ip를 가지게 됨 각 서비스타입별 테스트 정리 https://blog.leocat.kr/notes/2019/08/22/translation-kubernetes-nodeport-vs-loadbalancer-vs-ingress [발번역] Kubernetes NodePort vs LoadBalancer vs Ingress?? 언제 무엇을 써야 할까?? 최근, 누군가 NodePort와 LoadBalancer, Ingress가 무엇인지 차이를 물어 왔다. 셋 .. 2020. 5. 24.
쿠버네티스로 외부통신하기(2/3) - NodePort Service : NodePort 외부 트래픽을 직접 보낼 수 있는 가장 원시적인 방법 node에 특정 포트를 열어두고, 이 포트를 보내는 트래픽을 포워딩하는 방식 Noe에 어떤 포트를 열어줄지 지정하는 nodeport필요 이포트를 지정하지 않으면 아무포트나 선택댐 디폴트는 k8s가 선택하도록 (30036) 제약사항 1. 포트당 한 서비스만 할당가능 2. 30000-32767 사이의 포트만 가능 3. 노드의 ip가 바뀌면 적용해야함 https://kubernetes.io/ko/docs/tutorials/services/source-ip/ 2020. 5. 24.
쿠버네티스로 외부통신하기(1/3) - ClusterIP/Kube-Proxy Service : ClusterIP 기본적으로 클러스터 내부에서 서로 통신할 수 있는 IP를 가지고 있음 즉, 외부에서 바로 클러스터로 접근 할 수 없음 그렇다면, 이러한 구성자체에서 외부랑 통신할 수 있는 방법은? Kube-Proxy 하지만, kube-proxy가 외부로의 접근을 허용할 수 있게 한다 각 클러스터의 노드마다 실행되고 있으면서 클러스터 내부ip로 연결하는 역할 네트워크를 관리하는 방법 : userspace / iptables / ipv3 proxy-mode 확인 : iptables(default) 1) userspace 모드 클라이언트는 서비스ip의 한테 요청을 하고, iptables를 거쳐서 큐브프록시한테 전달, 이걸 각각 적절한 pod한테 연결(round robin방식) 2) ipta.. 2020. 5. 24.
[Cloudwatch] Cloudwatch로 모니터링? Custom Metric 생성 Cloduwatch 개념 AWS 리소스와 AWS에서 실시간으로 실행 중인 애플리케이션을 모니터링 Cloduwatch 동작원리 1. AWS 리소스들이 동작함, 2. AWS 리소스의 datapoint -> Cloudwatch의 metric으로 전송함 (Dimension 매칭해서) 3. Cloudwatch는 AWS가 보낸 datapoint를 일정주기(Period)마다 수집 함 4. datapoint기반으로 Cloudwatch의 metric을 생성함 5. metric기반으로 통계정보(Statistics)를 만듦 6. 이 값을 바탕으로 그래프생성, 알람생성 Cloduwatch 세부개념 1) NameSpace 지표용 컨테이너로, Cloudwatch가 수집한 datapoint에 지정하는 서비스명 기본 네임스페이스 없.. 2020. 5. 18.
쿠버네티스 환경구성(kubeadm.ver)(4/5)-마스터노드설정 마스터노드 설정할 부분 kubeadm init --pod-netowork-cidr =[ip대역] : pod 네트워크 설정 kubeadm init --apiserver-advertise-address =[API Server주소] : 마스터노드의 api서버주소 설정 (추가)kubeadm init --control-plane-endpoint : 모든 마스터노드에 대한 공유 엔드포인트 설정 워커노드 설정할 부분 kubeadm join : 워커노드를 마스터노드에 결합 (워커노드에서 실행) 1. pod 네트워크 설정 pod가 서로 통신할 수 있도록 pod네트워크 애드온 설치 kubeadm은 CNI(Container Network Interface)기반의 애드온(플러그인) 필요 CNI 플러그인 종류 ex) Flann.. 2020. 5. 18.
쿠버네티스 환경구성(kubeadm.ver)(3/5) - 패키지 설치 우분투 16.04 버전으로 변경 후 진행 ▼▼▼ kubeadm(큐브어드민)로 쿠버네티스 환경구성하기 ▼▼▼ 1. kubeadm(큐브어드민) 사용 전제조건 2. 쿠버네티스&Docker 설치하기 (본글) 3. 패키지 설치하기 4. 마스터노드 설정 5. 워커노드 설정 패지키 설치 kubeadm tool을 사용해서 클러스터를 구성하려면 '모든 노드'에 다음과 같은 패키지 설치 kubeadm : 클러스터 구축을 위한 툴 kubelet : pod 및 컨테이너 시작 등의 작업을 수행하는 구성요소 kubectl : 클러스터와 통신하기 위한 CLI 즉, 마스터노드건 워커노드건 kubelet 설치가 필요하다 그런데 앞에서 본 쿠버네티스 아키텍쳐를 다시보면 (쿠버네티스 아티텍쳐보러가기) 마스터노드에는 Kubelet이 없음!.. 2020. 5. 18.
728x90

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });