DevOps

DevOps

[AWS] 클라우드 컴퓨팅이란?

클라우드 컴퓨팅은 IT 리소스를 인터넷을 통해 온디맨드(수요에 따라)로 제공 사용한 만큼만 비용을 지불하는 것서버-클라이언트 아키텍처클라우드 컴퓨팅의 장점속도 및 민첩성 개선몇 번의 클릭으로 바로 리소스를 확보 가능개발비용 절감데이터 센터 운영 및 유지 관리에 비용 투자 불필요인프라 관리가 아닌 비즈니스에 자원 집중 가능빠른 확장성몇 번의 클릭으로 전 세계에 서비스 가능클라우드의 컴퓨터 유형SaaS (Software as a Service, 소프트웨어형 서비스)제공: 최종 사용자가 바로 쓰는 완성된 소프트웨어사용자 관리: 없음 (단순히 서비스 이용만 하면 됨)예시: Gmail, Slack, Dropbox, Zoom👉 "완성된 프로그램을 인터넷에서 구독해 쓰는 것"PaaS (Platform as a Se..

DevOps

[AWS] 커스텀 VPC 처음부터 끝까지 : IGW·NAT·피어링까지 따라하기

VPC 관련 알아둘 점커스텀 VPC 생성 시 만들어지는 리소스 : 라우팅 테이블, 기본 NACL, 기본 보안그룹서브넷 생성 시 모두 기본 라우팅 테이블로 자동 연동서브넷 생성시 AWS는 총 5개의 IP를 미리 점유함VPC에는 단 하나의 Internet Gateway만 생성 가능Internet Gateway 생성 후 직접 VPC에 연동 필요Internet Gateway는 자체적으로 고가용성/장애내구성을 확보보안 그룹은 VPC 단위서브넷은 가용영역 단위(1 서브넷 = 1 가용영역)가장 작은 서브넷 단위는 /28(11개, 16-5)VPC 생성(서울 리전)탄력적 IP탄력적 IP 할당(일단 VPC 사용 전에 탄력적 IP가 있어야 한다.)VPC 생성VPC > VPC > VPC 생성VPC가 두 개인데 아무 이름 없는..

DevOps

[AWS] Stateless 함정 헷갈리지 말자 : NACL vs 보안그룹 완전정복

보안그룹에서 ALB를 통해서만 인스턴스에 접근할 수 있게 하기인스턴스에 단독으로 직접 접근 차단보안그룹 생성(로드밸런서용)또 다른 보안 그룹 생성(인스턴스관리용)인바운드 규칙을 앞에서 만든 demo-ALB-SG로 온 트래픽만 받도록 설정 인스턴스의 보안그룹 변경하기방금 만든 demo-EC2-SG를 추가 새로운 보안 그룹이 추가된 모습다른 인스턴스도 보안 그룹을 모두 추가해준다. 로드밸런서도 보안그룹 추가 NACL(Network ACL)서브넷 단위로 적용되는 방화벽 규칙 세트보안그룹과 달리, Stateless 방식인바운드 규칙에 허용을 줬다고 해서 자동으로 아웃바운드가 허용되는 게 아님 -> 반드시 양쪽 방향에 규칙을 따로 설정해야 함특징적용 범위VPC 안에서 서브넷 단위로 적용됨(보안그룹은 EC2 인스턴..

DevOps

[AWS] VPC 구성요소 한 번에 이해하기

AWS 서브넷의 IP 개수AWS는 각 서브넷의 첫 4개와 마지막 1개 IP를 예약한다(5개가 예약되어 있음)첫 번째: 네트워크 주소두 번째: VPC 라우터세 번째: DNS네 번째: AWS에서 내부 용도로 예약마지막: 브로드캐스트 주소정리서브넷 크기는 CIDR로 결정되고, 항상 5개는 AWS가 예약하므로 실제 사용 가능 IP는 전체 수에서 5를 뺀 값입니다.VPC(Virtual Private Cloud)AWS에서 제공하는 가상 네트워크(클라우드 안의 독립된 네트워크 공간)기본적으로 AWS 리소스(EC2, RDS, ELB 등)는 반드시 VPC 안에서 동작사용자가 원하는 IP(CIDR 블록)를 지정할 수 있음보안, 라우팅, 네트워크 제어가 가능-> VPC는 회사 데이터센터 안의 큰 네트워크 망 같은 개념VPC..

DevOps

[Docker] 이미지 레지스트리 명령어 사용하기

도커 허브https://hub.docker.com/ 아이디가 없다면 가입을 하셔야 합니다.회원가입을 마치고 로그인을 한 다음 Repositories를 들어가 보면 아직 아무것도 없는 것을 확인할 수 있습니다.이미지 다운, 업로드 명령어docker pull 이미지명 : 로컬 스토리지로 이미지 다운로드docker tag 기존이미지명 추가할 이미지명: 새로운 이미지명을 만드는 명령어docker push 이미지명: 이미지 레지스트리에 이미지 업로드이미지명을 변경하는 이유A프로젝트에서 이미지를 다운 받아서 사용한 다음 프로젝트명을 그대로 A로 두고 이미지를 push 한다면 기존에 다운받은 A프로젝트에 push가 될 것입니다.본인의 프로젝트에 이미지를 push 하고 싶다면 A프로젝트를 다운받고 docker tag를..

DevOps

[Docker] 이미지 레지스트리

이미지 레지스트리와 이미지 네이밍 규칙에 대해서 알아보겠습니다이미지 레지스트리이미지를 저장하는 저장소GitHub 같은 저장소의 역할을 한다. 가장 유명한 레지스트리는 Docker Hub입니다.이미지 레지스트리가 공통적으로 제공하는 기능이미지 공유이미지 검색이미지 버전 관리보안파이프라인이미지 공유이미지를 다운로드, 업로드하는 기능을 제공합니다.이미지 검색이미지 레지스트리에 있는 이미지들을 검색하고 필요한 이미지를 찾아볼 수 있습니다.이미지 버전 관리이미지 레지스트리는 버전 관리 기능이 있기 때문에 사용자는 원하는 버전을 다운로드할 수 있습니다.보안안전한 이미지를 다운로드할 수 있도록 업로드된 이미지의 보안을 검증하는 기능도 있습니다.파이프라인DevOps 파이프라인 기능과 연계해서 이미지를 업로드했을 때 자..

DevOps

[Docker] 컨테이너의 라이프사이클

docker run 명령어는 docker create와 start가 합쳐진 명령어입니다.실행 상태에서 docker restart를 하면 프로세스를 재식작할 수 있습니다. 실행중인 프로세스에 종료나 재시작 신호를 보내면 10초 뒤에 이 신호가 동작하게 됩니다.docker pause : 컨테이너에서 실행 중인 모든 프로세스가 일시 중지된 상태입니다.현재의 상태를 모두 메모리에 저장해 두는 것 = CPU는 사용하지 않고 메모리만 사용합니다.docker unpause: 프로세스를 일시 중지한 시점으로 재시작 가능합니다.docker start : 실행 중인 프로세스가 모두 종료되었고 다시 시작하면 CPU 및 모든 리소스가 처음 부터 재식작합니다.컨테이너는 모든 상태에서 rm 명령을 사용해서 삭제할 수 있습니다.대..

DevOps

[Docker] 도커 이미지와 컨테이너 - 메타데이터

하나의 이미지는 이미지파일과 이미지에 대한 메타데이터로 구성되어 있습니다.Env: 소프트웨어의 실행할 때 사용할 설정 정보Cmd: 컨테이너 실행 시 프로세스 실행 명령어 지정이미지를 컨테이너로 실행할 때 CMD에 있는 명령어를 통해서 어떤 프로그램을 실행할지를 메타데이터에서 결정합니다.컨테이너를 실행할 때 이미지의 메타데이터를 읽어서 컨테이너의 메타데이터를 생성합니다.컨테이너는 실행할때 Cmd 부분을 덮어쓰기해서 실행할 수 있습니다.컨테이너를 실행할 때 더 큰 유연성과 적응성을 제공합니다. 이를 통해 다양한 환경과 상황에 맞춰 컨테이너의 동작을 쉽게 조정할 수 있습니다.유연한 실행: 동일한 이미지를 다양한 용도로 사용할때, 특정 작업을 수행하기 위해예) 디버깅이나 특정 스크립트를 실행하는 경우환경에 맞춘..

DevOps

[Docker] 도커에서 이미지란

이미지특정 시점의 파일시스템(디렉터리)를 저장한 압축 파일컨테이너를 사용하는데 있어서 아주 중요한 기능을 한다.다른 사람이 만들어 놓은 이미지를 사용할 수도 있고, 자신이 직접 이미지를 생성해서 사용할 수도 있다. 물론, 공유도 가능하다.이미지와 컨테이너 실행이미지와 컨테이너를 이해하기 전에 프로그램와 프로세스에 대해 간단하게 알아보겠습니다.프로그램- 실행 가능한 소프트웨어- 디스크 공간 차지프로세스- 실행되고 있는 프로그램- 프로그램 1 : N 프로세스- 실행시 CPU, MEM등의 리소스 사용이미지- 실행 가능한 소프트웨어 + 실행에 필요한 환경- 디스크 공간 차지컨테이너- 실행 상태의 이미지- 이미지 1 : N 컨테이너- 컨테이너로 실행 시 CPU, MEM 등의 리소스 사용- 컨테이너 간 리소스 격리..

DevOps

[Docker] 컨테이너 실행

도커 명령어docker version : Client, Server의 버전을 볼 수 있다.docker info : docker의 상태를 상세하게 볼 수 있다.docker --help : 메뉴얼 확인docker [Management Command] Commanddocker container(생략가능) run ...docker container --help : 도커의 컨테이너 관련 도움을 받을 수 있다.docker container run --help : 도커 컨테이너를 실행하기위한 여러가지 도움을 받을 수 있다.docker run(실행옵션) 이미지명: 컨테이너 실행도커를 사용해서 Nginx 실행해보기docker run -p 80:80 --name hellonginx nginx1. Nginx 이미지 다운로드..

여행하는 개발자(SOO)
'DevOps' 카테고리의 글 목록
상단으로