Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
Cloud Formation 리전에 장애가 발생한다면, 서비스를 GUI 콘솔로 하나하나 다시 생성하는 것은 상당히 긴 시간이 걸린다. 따라서 인프라 세팅을 IaC와 같은 템플릿 코드화 해서, 장애 발생 시 해당 코드를 그대로 실행할 수 있도록 세팅하도록 해야 한다. 보통 Terraform과 같은 서드 파티를 사용하지만, AWS에서 지원하는 Cloud Formation을 사용할 수도 있다. 이러한 IaC의 장점은 다음과 같다. 1. 형상 관리가 편리하다. 형상 관리로 이전 버전을 저장하고 수정한다. 변경 코드를 실행하면, 변경된 내용들만 그대로 적용된다. 2. 테스트 환경 세팅 테스트 환경을 프로덕션 환경과 똑같이 세팅하고, 테스팅 후 지우기에 편리하다. 3. 장애 대응에서 빛을 발한다. 위에서 언급한 것..
NAT 게이트웨이의 생성에 대해서는 이전 글을 생성해 주자. https://everenew.tistory.com/394 AWS NAT Gateway를 Private Subnet과 연결하기 VPC와 Public subnet, IGW의 세팅은 완료되었다고 가정하고 진행하겠다. 이에 대한 내용을 아래 게시글을 참조하자. https://everenew.tistory.com/390 AWS VPC와 Public & Private Subnet의 차이점 VPC( Virtual Private Cloud ) everenew.tistory.com NAT 게이트웨이는 용량과 가용성을 AWS가 보장해 준다 하지만 특정 서브넷 안에 속하기 때문에 AZ에 종속적이다. 따라서 NAT 게이트웨이가 단 한 개만 존재한다면, 특정 AZ ..
VPC와 Public subnet, IGW의 세팅은 완료되었다고 가정하고 진행하겠다. 이에 대한 내용을 아래 게시글을 참조하자. https://everenew.tistory.com/390 AWS VPC와 Public & Private Subnet의 차이점 VPC( Virtual Private Cloud ) AWS의 VPC는 논리적으로 격리된 네트워크 서비스이다. VPC는 온프레미스에서 사용하는 사설 네트워크와 비슷한 용도로 사용한다. 따라서 VPC 또한 사설 IP를 사용해서 생성하 everenew.tistory.com NAT 게이트웨이 생성 VPC의 Nat 게이트웨이로 들어가서 생성해 주자. NAT 게이트웨이는 외부로 나갈 수 있도록, 퍼블릭 IP가 존재하므로 public subnet에 만들어 준다. 탄..
AWS CLI로 S3 버킷 생성 후 파일 업로드하기 위해서, EC2를 하나 만들어서 접속한다. (이러한 CLI를 개인 PC에 설치하여서 진행할 수도 있다.) https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html 최신 버전의 AWS CLI 설치 또는 업데이트 - AWS Command Line Interface 이전 버전에서 업데이트하는 경우 unzip 명령을 실행하면 기존 파일을 덮어쓸지 묻는 메시지가 표시됩니다. 스크립트 자동화와 같은 경우에 이러한 프롬프트를 건너뛰려면 unzip에 대한 -u 업데이 docs.aws.amazon.com EC2 인스턴스는 아래와 같이 S3를 관리할 수 있는 Role이 부여돼야 ..
자격 증명 기반 정책 IAM 사용자를 대상으로 특정 작업 수행할 수 있도록 정책을 연결해 준다. 리소스 기반 정책 리소스에 설정하는 정책이다. 대표적으로 Amazon S3 버킷, Amazon SQS 대기열 등에 설정할 수 있다. 이를 사용하면 특정 role이나 user를 대상으로 사용할 수 있는 권한을 설정해 줄 수 있다. 두 정책에는 우선 순위는 없다. 명시적 거부가 최우선으로 거부되기 때문에 허용을 하더라도 거부가 있다면 거부된다. 허용에 대한 언급이 없는 경우는 암시적으로 거부된다. 말로만 들으면 이해하기가 힘들 수 있으니 S3 버킷에 리소스 기반 정책을 설정해 보자. S3의 버킷에 리소스 기반 정책을 부여 일단 Role을 준비했다 가정하고, S3 버킷을 만들어보자. 나머지는 기본 세팅을 그대로 두..
VPC( Virtual Private Cloud ) AWS의 VPC는 논리적으로 격리된 네트워크 서비스이다. VPC는 온프레미스에서 사용하는 사설 네트워크와 비슷한 용도로 사용한다. 따라서 VPC 또한 사설 IP를 사용해서 생성하게 된다. 하나의 VPC 내부에서는 논리적인 Router가 동작한다. subnet은 VPC 내부의 IP 대역대를 가지도록 세팅되고, 각각이 라우팅 테이블을 가지고 있다. 아래의 그림을 확인해 보자. 여기서 public subnet만이 외부로 접속할 수 있도록 해야 하기 때문에, Public subnet의 라우팅 테이블만 모든 트래픽을 Internet GateWay로 보내도록 0.0.0.0 => IGW 경로를 추가한다. 즉, public Subnet이라는 네트워크가 따로 존재하는 ..
회사에서는 로그를 남기기 위해 각각의 사원에게 IAM user를 할당한다. 하지만 모든 IAM user에게 일일이 권한을 부여하고 관리하는 것을 쉽지 않다. 따라서 user group라는 IAM 사용자 집합으로 그룹 내의 사용자들의 권한을 지정할 수 있다. 간단하게 user를 group에 권한 추가해보자. S3 그룹은 S3 읽기 권한을 가진다. 이 그룹에 사용자를 추가하자. 이제 그룹 내 정상적으로 추가가 된다. IAM login URL로 접속 사용자의 보안 자격 증명 탭에서 콘솔 로그인 링크가 확인된다. 이 링크로 IAM 유저에 바로 접속할 수 있다. 이 유저는 S3 그룹에 속했기 때문에, read 권한을 상속받아 S3의 버킷 리스트들이 보인다. 반면에 ec2는 권한이 없기 때문에 읽을 수 조차 없다...
참조:https://captcha.tistory.com/78 [#1. Kubernetes 시리즈] 3. CNI란? (Container Network Interface) 이번 글에서는 쿠버네티스를 설치하기 전에 간략하게 CNI(Container Network Interface)에 대하여 알아보겠습니다. 무작정 문서대로 설치만 하기 보다는 내가 설치하는 애가 무엇인지 알고 가는게 좋을 captcha.tistory.com 참조: https://coffeewhale.com/packet-network2 [번역]쿠버네티스 패킷의 삶 - #2 쿠버네티스 패킷의 삶 #1에서 살펴 봤듯이, CNI plugin은 쿠버네티스 네트워킹에서 중요한 역할을 차지합니다. 현재 많은 CNI plugin 구현체들이 존재합니다. 그 중..
Kubernetes Deployment 버전 업데이트를 위해 사용한다. Replica set의 상위 오브젝트로서 생성 시, 대응되는 Replica set도 자동 생성된다. 따라서 Replica set을 생성하는 경우는 거의 없다. Deployment는 애플리케이션을 업데이트할 때 레플리카셋의 변경 사항을 저장하는 리비전을 남겨 롤백을 가능하게 해주고, 무중단 서비스를 위한 롤링 업데이트 전략을 적용할 수 있다. 하나씩 없애고 v2에 새로 생성한다. 트래픽을 점차 v2 pod들로 옮겨주면, 서비스 중단 없는 무중단 서비스가 실현이 된다. Deployment 생성해 보기 # deployment.yaml cat > deployment.yaml apiVersion: apps/v1 kind: Deployment#..
Kubernetes Replicasets 일정 개수의 파드를 유지하는 컨트롤러이다. 동일한 여러 개의 파드를 유지해야 할 때, 파드들을 일일이 정의해서 직접 생성하기 보다는 Replica set이라는 오브젝트를 사용한다. Replicaset을 사하면 더 이상 파드의 상태를 관리할 필요가 없어지고, Replica set이 자동으로 일정 개수만큼 유지해 준다. Replica set 또한 Pod처럼yaml파일로 정의 후에 apply 시키면 된다. # 테스트 레플리카 # replicaset.yaml cat > replicaset.yaml apiVersion: apps/v1 kind: ReplicaSet# kind가 레플리카 셋 metadata: name: replicaset-cloud spec:# 레플리카의 스..