isn-t의 등록된 링크

 isn-t로 등록된 티스토리 포스트 수는 52건입니다.

[5주차-2] EC2 Instance Metadata와 IRSA [내부링크]

*본 게시글의 내용은 개인 학습내용과 더불어 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. EC2 meta data IMDSv2(Instance Meta Data Service) EC2 인스턴스에서 인스턴스의 메타데이터를 검색할 수 있도록 하는 서비스이다. 일반적으로는 인스턴스에서 실행중인 애플리케이션이 AWS에서 제공하는 인스턴스의 메타 데이터에 접근해야 할 때 사용된다. EC2 인스턴스 메타데이터는 EC2 인스턴스의 IP, 보안그룹, IAM 롤 등 인스턴스 전반에 대한 정보를 담고 있는데, IMDSv2에 의해 암호화 및 권한에 대한 검증을 거치기 때문에 인증된 EC2 인스턴스만 IMDSv2를 통해 인스턴스 메타데이터에 접근할 수 있다..

[5주차-1] 쿠버네티스 클러스터에 Polaris 적용하기 [내부링크]

*본 게시글의 내용은 개인 학습내용과 더불어 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. Polaris 쿠버네티스 클러스터의 구성과 보안 상태를 분석하여 보안 취약점과 성능 이슈에 대한 식별 및 평가하는 오픈소스 도구이다. 다양한 룰셋을 지원하며, 룰셋을 커스터마이징 하여 평가 항목에 추가하는 방식도 가능하다. 분석한 보안 상태와 성능 이슈를 시각화한 자료를 함께 제공하기 때문에 관리자가 보완이 필요한 부분을 가시적으로 확인하는데 도움을 주는 툴이다. 폴라리스는 3가지 모드로 실행 가능하다. Dashboard : 코드로 정의한 정책(policy as code)을 따라 쿠버네티스 리소스의 유효성을 검증하고, 어떤 보완 작업이 필요한지 보..

[보완] 쿠버네티스 스토리지와 CSI Driver [내부링크]

*본 게시글의 내용은 개인 학습내용과 더불어 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. Stateful vs Stateless Stateful 애플리케이션은 상태(State)가 있다. 애플리케이션 실행에 필요한 데이터를 로컬 또는 외부 스토리지에 저장한다. 예를 들어, DB 서버0는 데이터를 스토리지에 저장하고, 이전에 처리한 요청에 대한 상태 정보를 가지고 있어야 한다. 이러한 Stateful 애플리케이션에는 "순서"가 있고, "이전 상태"에 따라 어떤 동작을 할 지 결정된다. 반면, Stateless 애플리케이션은 상태에 의존하지 않는다. 애플리케이션 실행에 필요한 모든 데이터를 어딘가에 저장했다가 불러오는 것이 아니라, 매 Re..

[보완] kubernetes 워커노드를 spot instance로 구성하기(Node Termination Handler) [내부링크]

*본 게시글의 내용은 개인 학습내용과 더불어 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. "노드를 spot instance로 띄우면 더 저렴하지 않을까?" 지난 1주차에서 Kops를 처음 다루어 보면서 몇 가지 의문을 가지게 되었습니다. 이와 관련하여 이번에는 kOps 환경에서 노드를 스팟 인스턴스로 띄우는 방법에 대해 알아보겠습니다. kOps를 spot instance로 구동할 수 있을까? 워커노드를 spot 인스턴스로 변경하기 Node Termination Handler는 kOPs 클러스터의 매니페스트를 수정하여 적용할 수 있다. $ kops edit cluster --name ${KOPS_CLUSTER_NAME} AWS 블로그에서..

[4주차] 쿠버네티스 모니터링 [내부링크]

*본 게시글의 내용은 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. Metric server와 cAdvisor cAdvisor 구글이 만든 오픈소스 컨테이너 모니터링/시각화 솔루션이다. 컨테이너별 실시간 리소스 사용량을 컨테이너 런타임으로부터 전달받아 대시보드에 보여주며, 처리결과를 kubelet으로도 넘겨준다. 독립적인 이미지로도 지원하고 있으며 쿠버네티스 환경이 아니더라도 사용할 수는 있지만 쿠버네티스 환경에서는 kubelet에 포함되어 데몬 형태로 동작하며 kubelet과 매우 긴밀히 연계한다. cAdvisor 컨테이너를 실행할 때 도커 데몬의 정보를 가져올 수 있는 호스트의 path를 cAdvisor 컨테이너 볼륨으로 마운트하기 ..

[3주차] GitOps와 ArgoCD [내부링크]

*본 게시글의 내용은 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. 개요 ArgoCD나 k8s의 CI/CD 파이프라인 구축은 다양한 방법으로 여러 번 핸즈온 해 보았으므로(AWS CodeSeries, Harbor-Jenkins-ArgoCD, GitHub Action 등), 실습 내용보다는 사용하면서 추상적임에도 당연하게 받아들여왔던 GitOps의 개념과 ArgoCD에 대하여 보다 명확하게 정리해보고자 한다. GitOps GitOps란? 깃옵스는 프로젝트에 DevOps를 적용하기 위한 여러 컨셉 중 하나로, 클라우드 네이티브 애플리케이션의 지속적 배포(Continuous Deployment, CD)를 위한 방법이다. '개발과 운영의 경계를..

[2주차] VPC CNI와 LoadBalancer Controller [내부링크]

*본 게시글의 내용은 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. AWS VPC CNI ) AWS 환경에서 동작하는 Kops나 EKS를 위한 CNI 온프레미스에 k8s를 구성하면 노드(호스트)의 네트워크 대역과 파드의 네트워크 대역이 다르다. AWS VPC CNI는 노드와 파드가 같은 네트워크 대역을 사용하며, 각 파드에 eni가 연결되어 독립적인 IP를 할당받아 사용할 수 있다. 단, 파드의 개수가 많아지면 많아질수록 각 서브넷에서 가용한 IP의 수가 그만큼 소모되고, 노드의 역할을 하는 EC2가 가질 수 있는 ENI당 Secondary IP의 리밋도 있기 때문에 사전에 고려가 필요하다. 단, Kops는 아직 PodSecurityGr..

[1주차]Kops 를 이용하여 AWS에 쿠버네티스 클러스터 구축하기 [내부링크]

*본 게시글의 내용은 가시다님의 노션 페이지와 스터디 자료인 '24단계 실습으로 정복하는 쿠버네티스 도서' 를 기반으로 작성하였습니다. KOPS란 AWS에서 쿠버네티스를 사용한다 함은 곧 EKS를 떠올리는 것이 일반적인 선택지라고 생각했는데 첫 회차부터 쿠버네티스 클러스터를 직접 구성하면서 이번 기회에 Kops를 처음 사용해보게 되었다. kubernetes 공식 문서에서도 배포 도구 3가지 중 하나로 소개하고 있으나 쿠버네티스를 처음 접할 때 kubespray를, CKA와 CKAD를 취득할 때 kubeadm을 사용해본 뒤로 Kops를 사용해 볼 기회가 마땅치 않았다. 모든 배포 툴을 섭렵할 필요를 느끼지 못했거니와, EKS가 클러스터 구성 과정에서 제공하는 강력한 편의성 덕분이기도 했는데, 마침 이번 스..

Github에서 Atlantis를 이용한 Terraform 협업 환경 구축하기(2) [내부링크]

Intro Github에서 Atlantis를 이용한 Terraform 협업 환경 구축하기 1 지난 글에서는 Atlantis를 소개하고 PR 기반의 협업 환경을 구축하는 과정을 데모와 함께 소개했습니다. 이번 글에서는 Atlantis를 실제로 사용하며 보다 활용도를 높일 수 있는 내용을 몇 가지 공유해보려고 합니다. 워크플로 표준화 terraform modules script init_service services microservice1 dev main.tf staging prod microservice2 microservice3 ... (예시입니다) 테라폼을 이용한 관리 범위를 어디까지 가져갈 것인지에 따라 달라지겠지만, 저희 팀..

golang의 실수 계산(부동소수점 오차, 머신 엡실론) [내부링크]

golang에서의 실수는 소수점을 찍거나 또는 지수 표기법 e / E를와 + / - 를 사용하여 소수점 위치를 지정합니다. 컴퓨터는 2진수를 사용하기 때문에 실수를 정확하게 표현할 수 없는데, 특히 무한 소수의 경우 2진수로 정확히 표현할 수 없고 아쉬운대로 근사값으로 표현해야 합니다. 따라서 아래와 같은 문제 상황이 발생할 수 있습니다. 1. 등호(==)로 비교 불가능 package main import ( "fmt" "math" ) func main() { //variables var ( a float64 = 9.9 ) const ( epsilon = 1e-14 ) a = a - 0.7 fmt.Println(a) //9.2000000000001 } 변수 a에 9.9를 할당하고 0.7을 빼면 9.2가 ..

Github에서 Atlantis를 이용한 Terraform 협업 환경 구축하기 [내부링크]

* 이 글은 CloudNet@ Terraform Study(T101)을 진행하며 학습한 내용을 바탕으로 작성하였습니다. Intro 업무 환경에 테라폼을 사용하면 할수록 늘 새로운 의문점들이 생겨나곤 했습니다. 현재로서도 강력한 기능을 제공하지만 아직 빠르게 발전하고 있는 오픈소스 IaC 도구인 만큼, 다양한 문제 상황을 해결하는 과정에서 '이게 정답이다!'라고 할 수 없으며 커뮤니티를 통해 다양한 사용 경험을 공유하고 나름대로의 방법으로 발전시켜 나가야 한다는 생각이 듭니다. 테라폼은 IaC(Infrastructure as Code) 도구입니다. 동작의 결과물이 인프라스트럭쳐일 뿐, 결국 테라폼 자체는 '코드'인 것인데, 그동안 테라폼을 '코드'로서 대하지 못했다는 생각이 들었습니다. 몇 가지 이유를 꼽..

Docker desktop을 이용하여 간단하게 kubernetes 환경 구성하기 [내부링크]

Docker desktop을 이용하여 간단하게 kubernetes 환경 구성하기 재직 중에는 AWS 계정이 있어서 테스트용 EKS 서버를 올려놓고 사용했는데, 새로운 회사에 입사하기 전까지 istio 연습용으로 간단히 사용할 클러스터가 필요하던 차에 Docker desktop을 이용하여 매우 간단하게 쿠버네티스 클러스터를 구성할 수 있는 방법이 있어 포스팅하고자 한다. Docker desktop의 변화 3~4년 전에 docker를 처음 접했을 때는 Windows 에서 Docker Desktop을 이용하여 환경을 구축하고 처음으로 컨테이너를 사용했었다. 당시에는 여러가지 제약도 많았고, WSL도 2버전이 나오기 전인 데다가 쿠버네티스는 접해보기도 전이었던 것 같은데, Docker Desktop을 오랜만에 ..

AWS EKS에 ArgoCD를 ALB로 연결하여 배포하기 [내부링크]

ALB-ArgoCD on EKS EKS에 ArgoCD를 배포하고 CI/CD를 구현하는 과정에서 ArgoCD를 AWS ELB에 붙여서 HTTPS로 외부 접근 가능하도록 배포하고 싶었다. 그러나 제공되고 있는 yaml 템플릿은 CLB를 기준으로 되어있었으며, 인증서 설정도 되어있지 않아 HTTPS 로 연결할 수 없었다. 결국 사용자가 자기 환경에 맞게 커스텀해서 사용해야 하는데, 구글링해서 얻을 수 있는 use case들은 모두 제각기 다른 환경에 맞추어 커스텀하고 있기에 즉각 적용하기가 어려웠다. 잘못된 정보들.. 많은 블로그에서 Service Type을 LoadBalancer로 지정하고 적절한 annotation을 주면 alb로 올릴 수 있다고 설명하고 있다. 또는 NodePort 타입을 지정한다던가....

Istio란?(Istio, Envoy, Kiali) [내부링크]

Istio란? 서비스 메시(Service Mesh)가 MSA 환경에서 요구되면서 이를 구현하기 위한 수단으로 서비스 메시 구성을 돕는 도구들이 떠오르기 시작했으며, istio는 쿠버네티스 기반의 운영 환경을 가지고 있으면서 규모가 확장되어가고 있는 시스템에서 한 번쯤 고려해 봄직 한 오픈소스 서비스 메시 도구이다. 당연히 쿠버네티스에 한정된 것은 아니지만 병용하는 사례가 굉장히 많다. AWS에도 App Mesh라는 서비스가 있는데 이건 다음에 비교해보기로. *개인적인 의견이지만 오픈소스를 사용할 계획이 있다면 많이 쓰이는 도구를 사용하는 편이 그만큼 많은 레퍼런스를 찾을 수 있기 때문에 좋지 않나 싶음 기존 VM이나 물리서버 단위에서는 MSA에 비해 관리 포인트가 많지 않았다. 100대의 물리 서버에 애..

AWS EKS에 Cilium CNI 설치하기 [내부링크]

1. Cilium CNI? iptables를 기반으로 하는 전통적인 네트워크 트래픽 제어는 현재까지도 널리 사용되고 있으며, Kubernetes의 CNI도 iptables를 기반으로 동작합니다. 그러나 개인적으로 동적으로 변화하는 MSA 환경에서 iptables 기반으로 IP/port를 관리하는 방식의 효율성에 대해서는 의문이 듭니다. 물론 대부분의 상황에는 CNI가 문제없이 처리해주고 있지만 만약 예외적인 장애상황이 발생했을 때, 겨우 파드 파드간 통신에 있어 그 사이에 여러 홉이 존재하며, 그들 간의 네트워크를 이해해야 한다는 사실은 네트워크 엔지니어가 아닌 저에게 있어 여전히 부담스럽습니다. Cilium은 여기에 대해서 다른 방식의 접근을 제시하는 CNI입니다. BPF가 DNAT를 미리 수행하여 (..

k8s Calico CNI와 Calico Network Policy [내부링크]

*개인이 학습 간에 작성한 내용이므로, 잘못된 내용은 댓글/피드백 부탁드립니다. 수정내역 *22.02.05 이미지 링크 변경 *22.02.06 가시다님 피드백으로 calico network policy에 대해서 내용 추가 3주차에 진행했던 calico에 대한 내용 이해에 어려움을 겪은 바..calico의 기본 개념을 정리하고자 함. 1. 쿠버네티스 CNI(Container Network Interface) calico에 대해서 이해하기 전에 먼저 CNI가 무엇인지 알아야 할 필요가 있다. [공식문서 - 클러스터 네트워킹] 쿠버네티스 네트워크 환경을 구성해주는 것을 CNI add on이라고 한다. 공식적으로 k8s CNI는 k8s의 core component에 속하지 않기에 add on으로 분류되며, CN..

컨테이너 격리 & 도커 네트워크 [내부링크]

1. fork & exec fork : 메모리 공간을 새로 할당해서 별도로 자식 프로세스 생성 exec : 기존 메모리 공간을 그대로 사용하여 새로운 프로세스가 덮어씌움 리눅스에서는 명령어 실행시 기본적으로 fork방식 2. 데몬&데몬프로세스 데몬 : 지속적인 서비스 요청을 처리하기 위해 백그라운드에서 계속 실행되고 있는 프로세스 데몬 프로세스 : 데몬을 실행하기 위해 동작한 뒤 자기 자신을 죽이면서 데몬 프로세스를 고아로 만듦 이렇게 고아가 된 데몬은 자동으로 init 프로세스가 데려가서 init 프로세스 바로 아래에 위치함. 데몬이 실행되는 두 가지 방법 standalone 방식 : 부팅 시에 실행되어 메모리에 상주하면서 들어오는 요청을 처리함. 웹서버, 메일서버 같이 빈번한 요청 처리가 필요한 데몬..

Vagrant를 이용한 k8s(kubernetes) 클러스터 구축 [내부링크]

*본 게시물은 Kubernetes Advanced Networking Study (=KANS)의 주차별 학습주제를 기반으로 개인이 테스트한 내용을 추가하여 재가공하였습니다. 1. Vagrant 1-1. Vagrant 개요 2010년 1월 미첼 하시모토의 개인 프로젝트로 시작된 vagrant는 2010년 3월 최초 버전이 출시된 가상 머신 기반 개발 환경 관리 도구 오픈소스이다. 2012년 11월 vagrant의 개발을 서포트하기 위해 HashiCorp가 설립되어 상용 버전에 대해서 추가 기능을 개발 및 지원하고 있으며, 이외에는 현재까지 licensed free 소프트웨어로 이용 가능하다. 원래는 VirtualBox에 한해서만 지원하였으나 1.1 버전부터는 vmware, kvm, AWS EC2를, 1.6..

[AWS] ECS(1) - CPU Units(vCPU) limit 테스트 [내부링크]

미리 참고하면 좋은 문서들.. https://ecs-cats-dogs.workshop.aws/ko/ https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html https://docs.aws.amazon.com/ko_kr/AmazonECS/latest/developerguide/Welcome.html *이 글에서는 ECS의 TASK와 컨테이너에 리소스가 할당되고 사용되는 방식에 대한 내용을 다룹니다. AWS ECR, ECS에 대해서는 글의 이해를 돕기 위한 최소한의 개념만 다룹니다. ECR이란? ECS에서 docker 환경을 빠르게 구성해주기는 하지만, 컨테이너가 실행될 기반이 되는 이미지가 필요합니다. 또한 이들 이미지가 저장될 이미지..

[AWS] ALB 리스너 규칙 분석(ALB Listener rule) [내부링크]

목차 Overview Prerequisite AWS ALB Listener Rule(IF) AWS ALB Listener Rule(THEN) 1.Overview 고객사 요청으로 ALB의 리스너 설정을 변경하여 사설포트 사용 및 리다이렉트 규칙을 만들어야 했다. 그 과정에서 여러가지 테스트를 거쳐 '이 정도 했으면 더 이상 예외 케이스는 없겠지?' 라고 생각하는 순간. 팀원이 맡고 있는 다른 고객사에서 '하나의 서버에서 포트별로 서비스를 동작시키고, 이걸 도메인 기반으로 라우팅하고 싶다' 라는 요청이 들어왔다.(역시 서비스를 상세하게 살펴보지 않고 HOL에 나온 내용만 반복해서는 턱 없이 부족함...) 리스너 규칙들을 살펴보면서 테스트해 본 경험을 이 글을 통해서 공유하고자 한..

[AWS] 1. 가상화의 개념과 EC2 AMI [내부링크]

주의 개인이 학습한 내용을 정리한 글입니다. 잘못된 내용이 있을 수 있습니다. 잘못된 내용은 피드백주시면 반영하도록 하겠습니다. 개정 이력 이 글은 다음과 같이 업데이트 되었습니다. 2020.06.27 : (Naver blog)KVM, QEMU 추가 2020.06.29 : (Naver blog)Baremetal, Hosted, 전가상화, 반가상화 개념도 수정. 2021.04.26 : AWS AMI 추가, 전반적 내용 수정 1. 가상화 가상화란 한 대의 시스템 하드웨어를 논리적으로 분할하여 가상의 시스템에 활용하는 개념이다. 가상 시스템들은 서로 독립적인 하나의 시스템으로 인지되기 때문에 주어진 하드웨어 리소스를 효율적으로 사용할 수 있다. 새로운 하드웨어 자원을 구비하고 시스템을 구축하는 것 보다 있는 ..

[AWS Trouble shooting] Client.InvalidParameterCombination: Could not create volume with size 8GiB from snapshot [내부링크]

오토스케일된 인스턴스가 바로 Terminated 되는 문제가 발생했고 SNS 알림을 통해 메일로 에러 사유를 확인하니 위와 같은 내용이 있었음. Service: AWS Auto Scaling Time: 2021-01-12T01:00:52.851Z RequestId: 56a5dbd0-6ea1-62fe-4e18-f1ae080ee4ae Event: autoscaling:EC2_INSTANCE_LAUNCH_ERROR AccountId: 553260261205 AutoScalingGroupName: web-as-group AutoScalingGroupARN: arn:aws:autoscaling:ap-northeast-2:553260261205:autoScalingGroup:4e659db4-3660-4a76-b03..

[AWS Builders 100] AWS와 함께하는 클라우드 컴퓨팅 - 세션 요약 정리 [내부링크]

1. 클라우드 컴퓨팅 클라우드 컴퓨팅이란? 온프레미스 데이터센터 구축, 하드웨어 구매 등으로 인한 높은 초기 투자 비용 한정된 용량 많은 구축 시간과 비용 → 클라우드 필요할 때 언제나 사용한 만큼만 지불 유연한 용량 적은 구축 시간과 관리에 적은 노력 즉,초기 투자없이인터넷을 통해IT 리소스와 애플리케이션을온디맨드(원할 때 언제든지)로 사용한 만큼만 요금을 내는 서비스 클라우드의 6가지 이점 1) 초기 선투자 비용 없음 고정 비용을 가변 비용으로. 미리 서버 구매 필요 없음. 2) 운영 비용 절감 사용한 만큼만 지불 onpremise : 구매한 자원의 낭비. 서버를 놀리거나, 순간 트래픽 처리의 딜레마 간과하기 쉬운 숨은 비용들 해결. 전력, 항온항습, 라이센스비용, 증설비용 등 3) 탄력적인 운영과 ..

[AWS Builders 100] 클라우드 비용, 어떻게 줄일 수 있을까? - 세션 요약정리 [내부링크]

목차 Gather data Billing Dashboard Cost and Usage Reports(CUR) Trust Advisor 비용 탐색기(Cost Explorer) Tagging 비용 절감방법 Right Sizing Instance Scheduler Pricing 인스턴스 가격 옵션 스토리지 비용 이외 비용 Take Action 1. Gather data Billing Dashboard 클라우드 비용 절감의 첫 번째 단계는 비용에 대한 데이터를 수집하고 어디서 비용이 많이 발생하고 있는지 파악하는 것이다. 빌링 대시보드에서는 서비스별, 기간 별로 얼마나 비용이 청구되었는지 파악할 수 있다. 전체적인 사용량을 이해하는 데 있어서는 빌링 대시보드가 도움이 된다. Cost and Usage Repor..

Openswan을 이용한 AWS site to site VPN 구현 [내부링크]

아키텍처 온프레미스 환경이 필요하기 때문에 고객사를 가정한 VPC, AWS 측의 VPC 총 두 개를 구현하였다. 완전히 분리된 환경을 구현하기 위해 서로 다른 리전에 각각 VPC를 구성하였으며 위의 아키텍처를 성공적으로 구현하면 서로 다른 네트워크에 속해있는 두 EC2 인스턴스는 VPN connection을 통해 서로의 Private IP로 통신이 가능해진다. 이 글에서는 AWS_VPC를 Seoul Region에, On-premise 는 Virginia Region에 구성하였다. 작업 순서 고객사 측(On-premise) 환경 구현 VPC 생성 서브넷 생성 라우팅 테이블 생성 인터넷 게이트웨이 생성 인스턴스 생성 SSH 접속 openswan 설치 및 설정 AWS 측 환경 구현 VPC 생성 서브넷 생성 라..

AWS 핵심 네트워크 서비스/VPC 정리 [내부링크]

VPC 사용자 계정에 전용으로 할당되는 독립된 클라우드이자 가상 네트워크 공간. 서브네팅, 라우팅, 연결 방식, 보안 및 제어 등 네트워크망 구축과 관련된 대부분의 서비스를 제공한다. 1. Region, AZ, Edge Location Region은 AZ(Available Zone)의 집합이며, AWS의 서비스가 위치하고 있는 물리적인 장소. 주로 국가 또는 도시단위이다. 실질적인 IDC는 AZ라고 할 수 있다. Edge Location은 CDN을 위한 캐시 서버를 가리킨다. AWS에서는 Cloudfront라는 CDN서비스를 제공한다. 2. Subnet AZ에 따라 네트워크 대역을 서브네팅하며, CIDR 표기법을 사용한다. VPC 내의 서브넷은 Public Subnet과 Private Subnet으로 구..

사용자 수에 따른 AWS 클라우드 아키텍처 구성 [내부링크]

사용자 수에 따른 아키텍처 구성 1. 사용자가 본인 1명일 때 가장 먼저 EC2 생성 EC2위에 웹서버나 DB, 애플리케이션 등 설치해서 사용 고정 Public IP가 필요하기 때문에 Elastic IP 필요 Elastic IP는 DNS서비스인 Route 53으로부터 DNS 등록이 되고, 사람들은 이 DNS name을 통해서 우리가 만든 웹 애플리케이션에 접속하게 됨 관리는 쉽지만 모든 리소스가 하나의 인스턴스에 있기 때문에 장애 발생시 서비스가 바로 영향을 받게 된다 2. 사용자가 n명일 때 - 인스턴스 경량화 아무리 스케일링을 해도 나 혼자만 쓸 때보다는 결국에는 한계 용량에 도달하게 됨 먼저 기능에 따라 인스턴스의 역할을 나눈다 이 경우 DB 인스턴스를 분리시키면서 직접 관리할 것인지, 관리형 서비..

[AWS Builders 200] Amazon VPC와 ELB/Direct Connect/VPN 요약 [내부링크]

VPC 1. 개요 Virtual Private Cloud 사용자가 정의한 가상의 AWS 클라우드의 가상 데이터센터이자 네트워크 환경이며 논리적으로 격리됨 사용자별 네트워크 제어 가능 VPN, DirectConnect를 이용하면 온프레미스와 연결 가능 VPC 설정 단계 IP 범위 지정 용도에 따른 Subnet 분리 Routing Table Security Group, NACL Gateway : Internet Gateway, NAT Gateway, Virtual Gateway 2. 초기 설정 1) Region 선택 서울은 3개 가용영역(서울 2개 , 용인1개로 알려짐) 운영중이며 2020년 7월에 AWS에서 4번째 AZ에 대해서 논의 2) 서브넷 및 CIDR 설정 [1] AZ에 Subnet 설정 IP 범위..

[AWS SAA]AWS SOLUTIONS ARCHITECT C02 STUDY - 영역 2: 성능이 뛰어난 아키텍처 정의 [내부링크]

목차 [1. Elastic Cache] [2. Amazon DynamoDB] [3. Amazon Redshift] [4. Amazon Aurora] [5. Amazon Route 53] [6. AWS CloudTrail] [7. AWS Elastic Beanstalk] [8. AWS OpsWorks] [9. AWS CloudFormation] [10. AWS Lambda] [11. AWS API Gateway] 1. Elastic Cache Elastic Cache란? 인메모리 관리형 캐시 서비스. 세션 정보나 임시 데이터를 순간적으로 처리하는데 최적화 되어있고, DB에서 자주 액세스되는 정보들을 메모리 기반으로 빠르게 캐싱하여 웹 인스턴스에 실시간 처리하여 응답할 수 있는 기능을 한다. 관리형이기 때문..

[AWS SAA]AWS Solutions Architect C02 study - 영역 1: 복원력을 갖춘 아키텍처 설계 [내부링크]

목차 1. CloudFront 2. ELB 3. Auto Scaling 4. SQS 5. SNS 6. EC2 7. EBS 8. EFS 9. S3 10. RDS 11. CloudWatch 1. Amazon CloudFront 리전(Region)과 가용 영역(Available Zone) AWS는 전 세계에 클라우드 서비스를 원활하게 제공하기 위해서 주요 도시에 IDC(Internet Data Center)를 운영하고 있다.주요 국가에 '리전'을 운영 중이며, 사용자가 서비스를 이용할 때 가장 가까운 리전으로부터 빠르게 서비스를 이용할 수 있도록 한다. 리전은 가용 영역(AZ)으로 이루어져 있는데, AZ가 기존의 IDC이다. 하나의 리전에는 여러 개의 가용 영역이 있기 때문에 하나의 가용 영역이 이용 불가능한..

신입 SA로 시작하며 2020년 회고 [내부링크]

1월 코로나19, 근로장학, DevOps와 클라우드의 시작. 겨울 방학기간동안 학교 관재팀에서 근로장학생으로 근무하면서 공부할 수 있게 되었다. 나보다 여건이 한결 나은 편이었던 다른 또래들과는 달리 졸업하는 순간까지 스스로 어느 정도 수입을 유지해야 하는 편이었는데, 그 때문에 20대 초반에 사회 초년생이 경험할 수 있는 다양한 직종들을 가능한 선에서 전부 경험해보면서 온갖 천라만상을 다 경험한 뒤에는 역시 변변찮은 능력이라도 머리를 써서 수입을 얻는 편이 더 낫고, 차선책으로는 일을 하면서 공부를 병행할 수 있는 환경이라도 확보해야 한다는 결론에 이르렀다. 근로장학도 이와 같은 맥락에서 신청했었고, 근무중에 처리할 작업이 없는 시간은 대부분 Google 스터디잼에 참여하면서 Coursera나 Quik..

2021.06.11 [내부링크]

오랜만에 일기 쓴다. 틈틈이 남겨야지. 아직도 네이버 블로그로 여러가지 문의가 많이 온다. 오늘도 이웃신청이 오더니 쪽지로 뭘 물어보더라. 블로그 들어가보니 연배도 꽤나 있으신 분이고, 임베디드 하시는 분..

[리눅스 기초]2. 유닉스/리눅스 기본 환경 [내부링크]

1. 유닉스/리눅스 시스템 환경 1) 컴퓨터의 주요 구성 요소 컴퓨터의 구성요소는 크게 하드웨어와 소프트웨어로 나눌 수 있으며 서로 유기적으로 동작한다. 컴퓨터의 하드웨어는 CPU, RAM, 입출력 장치, 디스크 등..

[리눅스 기초]1. 유닉스의 역사와 특징 [내부링크]

1. UNIX와 BSD 버전의 탄생 1971년 데니스 리치에 의해 C언어가 개발되면서 기존의 어셈블리어 코드를 C 코드로 재개발. 최초의 UNIX에는 네트워크 기능이 빠져있었음. 이후 버클리 대학의 소프트웨어 재단에서 AT..

RHCSA 연습문제 [내부링크]

redhat 7.1 gateway nmcli con mod eth0 ipv4.addresses 192.168.122.111/24 192.168.122.1 0. root 사용자의 패스워드를 'dkagh1.'으로 재설정하세요. e >> rd.break , Ctrl+x mount -o remount,rw /sysroo..

[AWS 주요 서비스 정리] 01. Amazone EC2, EBS [내부링크]

EC2(Elastic Compute Cloud) AWS 상에서 안정적이고 스케일링 가능한 컴퓨팅 파워를 통해 가상화 서버를 제공하는 서비스. '인스턴스' 단위로 관리하게 되며 필요에 따라 한 개부터 수천 개의 인스턴스를 오가며..

AWS 기본 서비스 및 용어 요약 정리(2) [내부링크]

Origin CloudFront, ELB, HTTP가 최종 사용자에게 제공 할 콘텐츠를 가져 오는 위치. git origin과 같은 의미이며 통상 S3 버킷에서 가져온다. 사용자가 전 세계에 고루 분포된 경우 추천 CloudFront의 기본 오리..

AWS 기본 서비스 및 용어 요약 정리(1) [내부링크]

Region AWS 서비스를 제공하는 지리적 위치로, AZ을 묶어서 그룹화 하여 부르는 명칭 AZ(Available Zone) 가용 영역이라고도 하는데 각 리전에 위치한 데이터센터를 가리킨다. 각 AZ는 2개가 1쌍으로 건설되는..

[Network] 12. Application Layer - SMTP(Simple Mail Transfer Protocol) [내부링크]

SMTP 개요 지금 우리가 사용하는 이메일 서비스는 대부분 웹 기반으로 변경되었다. 단순하고 사용하기 쉽지만 보안적으로 취약하다는 문제점이 있다. 이전에 많이 쓰이던 MS outlook을 UA(User Agent)라고 하는데..

[Network] 11. NAT(Network Address Translation) [내부링크]

왜 NAT를 사용하는가? IPv4 주소는 짧고 거의 고갈되어가는데 이에 대한 임시 방편으로 등장한 것이 NAT이다. 쓰다보니 편리해서 널리 쓰이게 되었고, 원래는 임시방편으로 도입한 기술임에도 불구하고 근본적인..

[Network] 10. Application Layer - SIP [내부링크]

SIP(Session Initiation Protocol) SIP는 세션 개시 프로토콜로 불리며 여기서 세션은 멀티미디어와 관련된 세션을 의미한다. 특히 요즘 코로나19로 인해 사람들과 직접 접촉하지 않는 솔루션들이 매우 각광받고..

[Network] 08. Application Layer - DHCP [내부링크]

Dynamic Assignment of IP address 동적 IP 할당은 몇 가지 측면에서 보다 합리적이라고 할 수 있다. IP 주소가 필요할 때에만 필요에 맞게 할당해주므로 낭비가 줄고, 수동으로 IP 설정을 일일이 해주는 경우가..

[Network] 07. Transport Layer - TCP [내부링크]

TCP Service Model 기본적으로 네트워크는 신뢰성 있는 연결을 보장할 수 없다. 그래서 네트워크는 라우터의 판단에 의한 drop이 아니라 전달 도중에 그냥 없어질 수 있다. 마찬가지로 delay가 발생할 수도 있다...

[Network] 09. Application Layer - DNS [내부링크]

Separating naming and addressing www.cnn.com과 64.236.16.20 중 기억하기 쉬운건 당연히 전자다. IP주소는 scalability와 관련이 있다. 즉, 여러 개의 서버를 세계 각국에 두어 확장성을 증대시킴으로써 각 지..

[Network] 06. Transport Layer - UDP [내부링크]

UDP(User Datagram Protocol) UDP는 매우 간단하다. 쉽게 생각하면 UDP는 IP와 유사하다고 보면 된다. IP의 역할이 단순히 빠르게 패킷을 전달하는데 집중하는 것인데, UDP도 그러하다. 역할 자체가 단순하고 간..

[Network] 05. 3.5 Layer - ICMP [내부링크]

Error/Status Reporting IP는 연결의 신뢰성을 보장하지 않는 대신 빠른 전송에 목적을 두고 동작한다. 그렇기 때문에 라우터 입장에서 여러가지 문제점을 발견할 수 있다. 예를 들어 어디로 패킷을 포워딩 해주어..

[Network] 04. Network Layer - IP protocol [내부링크]

IP IP는 Network layer의 프로토콜 중 하나이다. 패킷에는 IP 헤더가 붙고 그 앞에 ICMP 또는 IGMP중 하나가 붙는다. 이 부분은 뒤에서 살펴보기로 하고 IP 프로토콜에 대해서 살펴본다. IP의 주요기능 IP는..

[Network] 03. Network Layer [내부링크]

What is an IP Address? IP 주소는 네트워크 인터페이스 상에서 unique하고 global한 주소값이다. 이러한 정의에서 예외가 되는 케이스가 있는데 바로 DHCP와 NAT이다. DHCP는 IP를 동적으로 할당하므로 매번 바뀌..

[Network] 02. Link Layer 와 ARP [내부링크]

Data Link Layer 2계층의 주요 임무는 한 머신의 데이터 3계층으로부터 전달받아서 다른 머신의 3계층으로 전달해주는 역할을 한다.(ptp connection, point to point) 정확히는 데이터가 모든 계층을 거쳐 전달되..

[Network] 01. 네트워크 기초 [내부링크]

OSI 7 Layer and Protocols Link Layer : includes device driver and network interface card Network Layer : handles the movement of packets, i.e. Routing Transport Layer : provides a reliable flow of..