DevOps

DevOps/Linux

[Linux]Hard link, Symbolic link

0. Inode? Index node! 참고: A hard link and a symbolic link? What is the difference between them? A hard link and a symbolic link? What is the difference between them? Hard link and symbolic link are two types of links in the file system. They are the pointers to files or directories. To use links, we… medium.com 파일 시스템에서 링크의 종류에는 하드 링크와 심볼릭 링크가 있다. 이 둘은 모두 파일 또는 디렉토리를 가리키는 포인터다. 링크를 사용하려면, inode(..

DevOps/Network

[네트워크]Transport Layer(전송계층)

Transport Layer(전송 계층) 서로 다른 호스트에서 실행되는 애플리케이션 프로세스 간의 논리적인 연결을 담당한다. 전송 프로토콜(Transport protocol)은 end system에서 실행된다. 그래서 전송 계층을 논리적인 종단 간 전송 시스템(logical end-end transport system)라고 하기도 한다. 송신 측: 애플리케이션 메시지를 세그먼트 형태로 만들어 네트워크 계층으로 보낸다. 수신 측: 세그먼트를 메시지 형태로 만들어 애플리케이션 계층으로 보낸다. 네트워크 계층과 전송 계층의 차이점 네트워크 계층은 호스트 간의 논리적인 연결을 담당한다. 전송 계층은 프로세스 간의 논리적인 연결을 담당한다. 전송 계층에서 주로 다루는 것 TCP(connection oriented..

DevOps/Network

[네트워크]네트워크 레이어/NAT/DHCP

데이터를 보낼 때 네트워크 레이어는 세그먼트(전송계층)를 데이터그램(네트워크 계층)으로 캡슐화(encapsulate)한다. 데이터를 받을 때 네트워크 레이어는 데이터그램을 전송계층으로 보낸다. 네트워크 계층의 핵심 기능에는 '포워딩(forwarding)'과 '라우팅(routing)'이 있다. 네트워크에는 출발지에서 목적지까지 이동할 수 있는 여러가지 경로가 있다. 네트워크 계층에는 최상의 경로를 찾는 몇 가지 전략이 있다. 이 출발지에서 목적지로 패킷으로 이동하는 경로를 결정하는 프로세스를 라우팅이라고 한다. RIP, OSPF, BGP와 같은 다양한 라우팅 프로토콜이 있다. 포워딩은 다양한 네트워크들을 연결하는 스위칭이나 라우팅 장비에서 수행되는 동작으로, 들어온 패킷의 헤더 정보를 이용하여 최종 목적지..

DevOps/Network

[네트워크]패킷 교환 네트워크에서 지연과 손실

패킷 교환 네트워크(Packet Switching Network)에서 지연(delay)이나 손실(loss)가 어떻게 일어나게 되는 걸까? (1) 지연(delay) 검색, 이메일, 지도 등 많은 인터넷 애플리케이션의 성능이 네트워크 딜레이에 엄청난 영향을 받는다. (1) Processing delay 패킷의 헤더를 검사하고 패킷을 보낼 위치를 결정하는 데 필요한 시간이 Processing delay의 일부이다. 또한 업스트림 노드에서 라우터 A로 패킷의 비트를 전송할 때 발생한 패킷의 비트 수준 오류를 확인하는 데 필요한 시간도 포함한다. 고속 라우터의 Processing delay는 일반적으로 마이크로 초 이하다(즉, 실제로 별 문제 없는 지연임). 이 Processing delay 후 라우터는 라우터 ..

DevOps/Network

[네트워크]네트워크 기초와 OSI 7계층

네트워크의 형태는 규모에 따라 LAN, MAN, WAN으로 나눌 수 있다. 1.네트워크 형태 LAN(local area network; 근거리 통신망): 가까운 거리에 있는 단말간의 네트워크 단일 LAN은 거리적으로 한정되지만, 복수의 LAN을 연결하면 대형 네트워크 형성이 가능하다. 관리자가 직접 관리 가능한 영역 MAN(metropolitan area network; 도시권 통신망): LAN과 WAN 중간 정도의 네트워크 LAN이 1개의 기업, 빌딩 내를 연결하는 네트워크라면, MAN은 1개의 도시로 확장한 네트워크 WAN(wide area network; 광역통신망): 도시 간, 국가 간 등 원격지 사이를 연결하는 통신망 두 개 이상의 LAN 영역을 연결한 영역 광범위하게 분산된 LAN과 MAN을 ..

DevOps/Docker

[도커]도커 이미지와 도커 컨테이너

도커는 대표적인 컨테이너 기술이다. 나는 회사에서 모 프로젝트를 진행하면서, 온갖 가상머신에 각종 프로그램을 실행하기 위한 설정을 하고 라이브러리를 설치하면서 컨테이너 기술에 관심을 가지게 됐다. 컨테이너 GCP에서 컨테이너의 개념과 이점을 잘 설명한 글(cloud.google.com/containers/?hl=ko)이 있다. 일부를 발췌하면 아래와 같다. 컨테이너와 VM의 공통점 가상 머신(VM)은 호스트 운영체제에서 구동되며 그 바탕이 되는 하드웨어에 가상으로 액세스하는 Linux, Windows등의 게스트 운영체제를 의미한다. 컨테이너는 가상 머신과 마찬가지로 애플리케이션을 관련 라이브러리 및 종속 항목과 함께 패키지로 묶어 소프트웨어 서비스 구동을 위한 격리 환경을 마련해준다. 컨테이너와 VM의 ..

DevOps

Terraform aws s3 bucket 만들어보기

명령어 사용 순서 # 새로 만들기 $ vim provider.tf $ terraform init $ vim s3.tf $ terraform plan $ terraform apply # 불러오기(import): resource를 불러오기 전에 root module에 configuration file이 위치하고 있어야함 # 위의 경우에는 s3.tf 파일 $ terraform import aws_s3_bucket.bucket bucket-name $ terraform plan $ terraform apply # 잘 만들어졌는지 확인하는 용도 $ terraform state list terraporm plan 명령어는 실제 인프라의 존재 여부를 확인하지 않지만, terraform apply 명령어는 확인한다. ..

DevOps

ec2 zsh, oh-my-zsh 설치

$ sudo yum install zsh # ubuntu 는 바로 됨 linux server는 바로 안됨 $ chsh -s /bin/zsh # linux server는 $ sudo yum install util-linux-user.x86_64 $ sudo yum install git $ chsh -s /bin/zsh $ sudo vim ~/.zshrc 우분투는 그냥 바로 zsh로 변경이 되겠지만 linux 서버는 안된다고 한다. 그래서 util-linux-user.x86_64 설치 그래도 안된다. 그래서 git 설치까지 하면 된다. 그 다음에는 oh-my-zsh 설치 테마 설정은 원하는 대로하고 한번 종료한 다음에 다시 실행하면 테마가 변경되서 예쁜 터미널을 볼 수 있다. 예뻐졌다

DevOps

윈도우에서 aws ec2 .pem파일로 접속하기(putty)

프리티어 계정으로 EC2를 드디어 만들었다 강의를 보고 리눅스 서버에 접속해보려고 하니까 잘 안된다. 그래서 PuTTY를 다운 받았다. docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud 프라이빗 키의 암호는 추가 보호 계층입니다. 프라이빗 키가 노출되더라도 암호 없이 사용할 수 없습니다. 암호문 사용의 단점은 인스턴스에 로그온하거나 인스턴스에 파일을 복사하기 위해 사 docs.aws.amazon.com docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html#putty-pri..

DevOps

[DevOps/03]The Core Terraform Workflow 테라폼 코어 워크플로우

Write(init) - 원하는 에디터에서 코드를 작성하는 것처럼 테라폼 구성을 작성 - 다른 명령어(plan, apply 등)를 위한 설정 작성 - 내부적으로 provider, state, module 설정 등이 존재 - 개인/팀에 관계없이 버전 관리 저장소에 작업을 저장하는 것이 일반적 # Create repository $ git init my-infra && cd my-infra Initialized empty Git repository in /.../my-infra/.git/ # Write initial config $ vim main.tf # Initialize Terraform $ terraform init Initializing provider plugins... # ... Terrafor..

DevOps

[DevOps/02]Terraform Use cases 테라폼을 사용하는 이유

테라폼을 사용하는 이유 1. Heroku App Setup - codify the setup required for a Heroku application, ensuring that all the required add-ons - configuring DNSimple to set a CNAME, or setting up Cloudflare as a CDN for the app - do all of this in under 30 seconds without using a web interface 2. Multi-Tier Applications A very common pattern is the N-tier architecture. The most common 2-tier architecture is a po..

DevOps

[DevOps/01]IaC와 Terrafrom 기본 개념

1. Terraform(링크)? Terraform is an open-source infrastructure as code software tool that provides a consistent CLI workflow to manage hundreds of cloud services. Terraform codifies cloud APIs into declarative configuration files.테라폼은 코드로써의 인프라(IaC)를 위한 오픈소스 소프트웨어 도구로 수백 개의 클라우드 서비스를 관리하기 위해 일관된 CLI 워크 플로우를 제공한다. 테라폼은 현재 가장 많이 쓰이는 IaC도구라고 한다. IaC는 인프라 구성요소를 코드를 통해 구축하는 것을 말한다. IaC는 코드로 인프라를 구축하는 것..

박한결
'DevOps' 카테고리의 글 목록 (3 Page)