본문 바로가기

IT

(17)
[AWS] EC2에 Private IP지정하여 사용하기 AWS EC2를 생성하면 기본적으로 서브넷의 범위에서 랜덤하게 Private IP가 생성되는 것을 확인할 수 있다. 특정 서브넷에 Private IP 를 고정하여 사용이 필요한 경우가 있을 수 있다. 인스턴스 생성 단계에서 Network interfaces 의 Primary IP에 IP를 입력하여 고정된 IP를 사용할 수 있었다. 단, 예약된 IP 주소는 사용할 수 없다. (Subnet CIDR이 192.168.1.0/24 인 경우) 192.168.1.0 : 네트워크 주소 192.168.1.1 : VPC 라우터용으로 예약한 주소 192.168.1.2 : VPC에서 예약한 DNS 주소 192.168.1.3 : AWS 에서 향후 사용을 위하여 예약한 주소 192.168.1.255 : 브로드 캐스트 주소, V..
[CI/CD] AWS Code 시리즈 [CodeCommit, CodeBuild, CodeDeploy,CodePipeline] 1. AWS CodeCommit 이란 AWS CodeCommit은 Git 기반의 레포지토리를 클라우드 기반으로 제공하는 서비스입니다. 애플리케이션을 개발하면서 관리할 소스코드를 안전하게 저장하고, 제어할 수 있는 기능을 제공합니다. CodeCommit은 완전관리형 서비스로써 사용자가 자체 소스코드 제어 시스템을 운영하거나 인프라 규모 조정을 걱정할 필요없이 코드부터 바이너리까지 모든 사항을 저장할 수 있습니다. 2. AWS CodeBuild 란 AWS CodeBuild 란 애플리케이션 개발에 필요한 소스코드를 컴파일 하고 테스트 후 배포전 까지의 단계를 제공하는 서비스입니다. CodeBuild 를 사용하면 자체 빌드 서버(jenkins 등)가 필요하지 않기 때문에 서버를 직접 설정하고 패치 및 업 데이트..
[AWS] VPC 엔드포인트 VPC 엔드포인트란? VPC Endpoint는 가상 장치로서 VPC와 AWS 서비스를 전용 연결(private connection) 로써 AWS를 벗어나지 않고 EC2 인스턴스를 VPC 외부의 AWS 서비스와 프라이빗 하게 연결하기 위해서 사용됩니다. VPC Endpoint 를 사용할 경우에 VPC 외부의 서비스가 VPC로 바로 들어오지 않고 인터넷으로 나갔다가 다시 VPC로 들어오기 때문에, VPC 엔드포인트를 사용하면 IGW, NAT GW를 통하지 않고 Private 하게 연결할 수 있습니다. 인터페이스 VPC 엔드포인트 (AWS PrivateLink) 인터페이스 VPC 엔드포인트(인터페이스 엔드포인트)는 서브넷의 IP 주소 범위에서 프라이빗 IP 주소를 사용하는 네트워크 인터페이스 입니다. AWS ..
[AWS] IAM 의 Policy (정책) 및 Permission (권한) AWS를 이용하면서 가장 중요하고, 가장 어려운 부분이 IAM 이라고 생각합니다. 서비스 구축할때 보안은 절대적으로 중요한 요소이기도 합니다. IAM의 Policy 와 Permission 에 대해서 정리해 보고자 합니다. AWS IAM이란 무엇인가? AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 서비스입니다. IAM을 사용하여 리소스를 사용하도록 인증(로그인) 하거나 권한 부된 대상을 제어할 수 있습니다. IAM 용어 IAM 리소스 - IAM에 저장된 사용자, 그룹, 정책 및 자격 증명 공급자 객체 IAM 자격증명 - 사용자를 식별하거나 그룹화에 사용되는 IAM 리소스 객체입니다. IAM 엔터티 - AWS가 인증에 사용하는 IAM 리소스를 의미합니다. (User, Group, Role...) I..
DNS 동작과정 1. DNS 란 네트워크 상에서 컴퓨터들은 IP주소를 이용하여 서로를 구별하고 통신합니다. 사람들이 네트워크를 통해 컴퓨터에 접속하기 위해서는 IP주소를 이용하여야 합니다. 하지만 숫자의 연속인 IP주소를 일일이 외울 수 없기 때문에 쉽게 기억할 수 있는 도메인 주소가 만들어졌습니다. 2. DNS 동작원리 도메인 주소를 IP주소로 변환하기 위해서는 DNS 서버에 도메인을 쿼리하는 과정이 필요합니다. 보통 PC는 인터넷 서비스 제공사업자(ISP) 를 사용하게 되면 DHCP 프로토콜을 통해 DNS 주소 2개를 자동으로 할당받게 됩니다. 확인방법 1. 윈도우키 -> CMD (명령 프롬프트) 2. ipconfig /all 입력 3. 할당된 DNS 주소확인 3. DNS 동작과정 Local DNS: ISP사로 할당..
[K8S] 구성요소 및 API 쿠버네티스 구성요소 1. Master Kubernetes Control Plane을 제공한다. 클러스터에 대한 전반적인 결정을 수행하고 이벤트를 감지하고 이에 대응한다. (1) API 서버 쿠버네티스 클러스터의 모든 구성요소들은 마스터의 API 서버와 메시지를 주고 받는다. (2) etcd(엣지디) 쿠버네티스 클러스터의 모든 상태와 데이터를 저장하는 일관성과 분산시스템을 구성하여 고가용성의 키-값 저장소 (3) 쿠버네티스 컨트롤러 관리자(kube-controller-manager) 컨트롤러는 API 서버를 통해 클러스터의 상태를 감시하고, 필요한 상태로 이행하는 기능을 가진다.컨트롤러를 담당하는 마스터의 구성요소이다. (4) Scheduler 노드에 할당되지 않은 새로 생성된 파드를 감시한다. 파드가 실..
[AWS] VPC 란 VPC 란? Amazon Virtual Private Cloud (VPC)는 AWS 클라우드에서 다른 고객과 완벽하게 논리적으로 격리된 네트워크 공간을 제공하여 프로비저닝하여 가상 네트워크에서 AWS 리소스를 만드는데 사용하는 리소스입니다. VPC 생성에 필요한 구성요소 1. 리전 2. 가용영역 3. VPC 4. CIDR 5. Subnets (서브넷) 6. Route Tables (라우팅 테이블) 7. Internet Gateways (인터넷 게이트웨이) 8. Network ACLs & Security Group (네트워크 ACL & 보안그룹) 1. 리전 AWS가 전 세계에서 데이터 센터의 물리적 위치를 리전이라고 합니다. 각 Amazon EC2 리전은 세계 각지 여러곳에서 호스팅하고 있습니다. 이를 통..
멀티 클라우드 vs 하이브리드 클라우드 클라우드의 유형은 PUBLIC CLOUD, PRIVATE CLOUD, MULTI CLOUD, HYBRID CLOUD 로 크게 나눌 수 있습니다. MULTI CLOUD 와 HYBRID CLOUD 에 대해서 비교해 보도록 하겠습니다. MULTI CLOUD : 클라우드 사이의 워크로드 이식성, 상호연결, 오케스트레이션, 통합관리 없이 퍼블릭 클라우드와 프라이빗 클라우드를 개별적으로 사용합니다. HYBRID CLOUD: 클라우드 사이의 워크로드 이식성, 상호연결, 오케스트레이션, 통합관리를 통해 퍼블릭 클라우드와 프라이빗 클라우드퍼블릭 클라우드와 프라이빗 클라우드를 상호 운용적으로 사용합니다.
[Terraform] AWS CLI 설치하기 0. 시작하기 Terraform 은 인프라스트럭처 도구로써 자동화된 배포가 가능합니다. AWS IAM을 구성하고 CLI를 통해 AWS 리소스를 배포하고, 관리하는 방법에 대해서 기술해 보고자 합니다. 1. Terraform이란 Terraform 은 인프라스트럭처 도구로써, 클라우드서비스의 인프라를 소스코드 형태로 관리하고, 자동화된 배포가 가능합니다. 테라폼은 공급자(aws,gcp등)의 api와 상호작용하며 리소스를 배포한다. 2. AWS IAM 구성 1) AWS 회원가입 2) AWS 로그인 3) 서비스 > IAM 검색 > 사용자 > 사용자 4) 사용자 추가 - 사용자 이름 : terraform (자유롭게 설정) - 액세스유형: 프로그래밍 방식 액세스 체크 5) 그룹 추가하기 - 그룹이름: terrafo..
[k8s] Kubespray로 Kubernetes 설치하기 Kubespray는 쿠버네티스를 쉽게 설치하는 자동화 도구입니다. Ansible의 playbook과 inventory 설정을 통해서 Kubernetes 클러스터를 설정해 보고자 합니다. Kubernetes는 최소 1개의 Mater Node와 1개의 Worker Node 1개가 필요합니다. 하지만, 1개의 Master Node와 3개의 Worker Node 클러스터로 구성해 보고자 합니다. Requirements (요구 사항) Ansible Playbook을 실행하려면 Jinja 2.9 이상이 필요합니다. Docker 이미지를 가져 오려면 대상 서버가 인터넷에 액세스 할 수 있어야합니다. 인벤토리의 모든 서버 부분에 SSH 키를 복사해야합니다. 배포 중 문제를 방지하려면 방화벽을 비활성화해야합니다. Con..