분류 전체보기
-
[Network] HTTPS란 무엇일까?Computer Science/Network 2021. 4. 2. 15:22
HTTPS 동작하는 방식 이번 글에서는 왜 HTTP가 아닌 HTTPS를 사용 하는 것이며 HTTPS는 어떠한 동작방식으로 작동하는지에 대해서 알아보겠습니다. 평상시에 인터넷을 하면서 HTTP, HTTPS에 대해서는 많이 들어봤을 것입니다. 일반적인 웹 사이트들을 보면 위와 같이 http://, https://와 같이 되어 있을 것입니다. http에는 자물쇠가 잠겨있지 않고, https에는 자물쇠가 잠겨있는 것을 보아 https가 좀 더 안전해보입니다. 왜 더 안전하고 http에는 어떠한 단점이 존재하는지 먼저 알아보겠습니다. HTTP의 약점 평문(암호화 하지 않은) 통신이기 때문에 도청 가능 통신 상대를 확인하지 않기 때문에 위장 가능 완전성을 증명할 수 없기 때문에 변조 가능 HTTP는 좋은 점과 편리..
-
[Network] TCP와 UDP의 구조와 특징Computer Science/Network 2021. 4. 1. 10:35
TCP와 UDP의 구조 정리 이번 글에서는 먼저 신뢰성/정확성을 우선으로 하는 연결형 통신 프로토콜인 TCP에 대해 알아보겠습니다. 캡슐화, 역캡슐화에 대해서 알고 있을 것입니다. 캡슐화: 응용 계층부터 물리 계층까지 계층별로 데이터를 전달할 때 헤더를 붙이는 것입니다. 역캡슐화: 물리 계층부터 응용 계층까지 계층별로 데이터를 전달할 때 헤더를 제거하는 것입니다. 이 중에서 TCP로 전송할 때 붙이는 헤더를 TCP 헤더라고 하고, 이 TCP 헤더가 붙은 데이터를 세그먼트(segment)라고 합니다. TCP 헤더에 목적지까지 데이터를 제대로 전송하기 위해 필요한 정보를 가지고 있습니다. TCP는 연결형 통신에 사용되는 프로토콜이라고 설명했습니다. 연결형 통신은 꼼꼼하게 상대방을 확인하면서 데이터를 전송합니..
-
[AWS] AWS CodeDeploy-CodePipeline을 통한 배포 자동화 해보기Cloud/AWS 2021. 3. 30. 17:25
간단한 자동화 배포 구축 해보기! 간단하게 CodeCommit, CodeDeploy, EC2 linux2, Apache를 이용하여 CI/CD 파이프라인을 구축하는 법에 대해서 알아보겠습니다. CodeCommit 레포지토리 생성하기 CodeCommit 레포지토리 만들기 위의 링크를 참고해서 CodeCommit 레포지토리를 만든 후에 로컬 PC에다 clone 받는 작업까지 해보겠습니다. 여기 에서 2단계를 보면 파일을 다운 받을 수 있는 곳이 있습니다.(SampleApp_Linux.zip으로 ) /tmp └-- MyDemoRepo │-- appspec.yml │-- index.html │-- LICENSE.txt └-- scripts │-- install_dependencies │-- start_server..
-
[AWS] AWS RDS 프리티어로 만들기Cloud/AWS 2021. 3. 29. 17:08
AWS RDS 프리티어 만드는 법 RDS를 세팅하기 전에 보안 그룹을 만들어야 합니다. 보안 그룹에 들어간 다음 보안 그룹 생성을 누르겠습니다. 인바운드 규칙에서 MySQL은 3306을 쓰기 때문에 위와 같이 설정을 해주겠습니다. 아웃바운드 규칙에서도 위와 같이 설정을 해주면 됩니다. 이제는 RDS 세팅을 해보겠습니다. 저는 MySQL을 사용할 것이기 때문에 MySQL을 선택하겠습니다. 프리티어를 체크했는지 꼭 잘 확인하시길 바랍니다 ! 마스터 사용자 이름, 비밀번호는 꼭 기억해야 합니다! (나중에 이것으로 접속을 하기 때문에 !!) 그리고 데이터베이스 생성 버튼을 누르면 RDS가 생성이 됩니다.
-
[Docker] EC2에서 Docker 컨테이너를 활용하여 웹 서버 실행하기DevOps/Docker 2021. 3. 29. 16:04
EC2에 Docker를 이용해서 웹 서버 띄우기 이번 글에서는 EC2 Linux2를 이용해서 실습을 진행해보겠습니다. docker 설치 sudo yum update -y sudo amazon-linux-extras install -y docker sudo service docker start Amazon Linux 2에 LAMP 웹 서버 설치 EC2 linux2 버전에서 웹 서버를 설치하는 명령어를 정리해보겠습니다. sudo yum update -y sudo amazon-linux-extras install -y php7.2 sudo yum install -y httpd sudo systemctl start httpd (Apache 웹 서버 시작(d는 daemon 임)) sudo systemctl ena..
-
[Docker] Docker Image로 Container를 만드는 과정DevOps/Docker 2021. 3. 29. 14:52
이미지로 컨테이너를 만들기 지금까지 이미지를 이용해서 컨테이너를 생성한다고 배웠습니다. 하지만 어떻게 해서 이미지를 이용해 컨테이너를 생성하는지를 이번 글에서 한번 다뤄보겠습니다. 아래와 같이 이미지를 통해 컨테이너를 만들고 컨테이너는 이미지의 인스턴스 정도로 생각하면 된다라고 저번 글에서 소개한 적이 있습니다. 이미지: 응용 프로그램을 실행하는데 필요한 모든 것을 포함하고 있습니다. 여기서 말하는 필요한 모든 것이 무엇일까요? 컨테이너가 시작 될 때 실행되는 명령어(Dockerfile로 관리) 파일 스냅샷(ex: 카카오톡이라면 카카오톡을 실행하는데 필요한 파일) - 디렉토리나 파일을 압축시킨 느낌 ex) 스프링 프로젝트 전체 이미지로 컨테이너 만드는 순서 Docker 클라이언트에 docker run 입..
-
[Docker] Docker 간단한 명령어로 실습해보기DevOps/Docker 2021. 3. 29. 14:43
Docker 클라이언트 명령어 알아보기 docker run 앞에서 위와 같은 명령어를 사용했었습니다. 위의 명령어는 어떤 의미를 가지고 있을까요? 도커 클라이언트에 명령어 입력후 도커 서버로 보냄 도커 서버에서 컨테이너를 위한 이미지가 이미 캐쉬가 되어 있는지 확인 없으면 도커 허브에서 다운 받아옴(Pulling) 있다면 이미 가지고 있는 이미지 컨테이너 생성 docker run alpine ls 위와 같이 뜨는 것을 볼 수 있습니다. 저는 alpine 이미지가 이미 존재하기 때문에 바로 위와 같이 컨테이너가 실행된 것을 볼 수 있습니다. ubuntu 컨테이너 docker run --rm -it ubuntu:20.04 /bin/sh --rm: 컨테이너를 실행하고 바로 삭제하라는 명령어 위와 같이 ubun..
-
[Docker] Docker Image를 직접 만들어 보기DevOps/Docker 2021. 3. 29. 14:38
Docker 이미지를 직접 만들기 Docker 이미지는 컨테이너를 만들기 위해 필요한 설정이나 종속성들을 갖고 있는 소프트웨어 패키지 Docker 이미지는 Dockerhub에 다른 사람들이 만들어놓은 이미지를 다운받아 사용할 수도 있고 직접 이미지를 만들어 사용할 수도 있습니다. 이미지의 읽기 영역 vs 쓰기 영역 여기서 빨간 테두리는 읽기 영역, 초록색 테두리는 쓰기 영역을 할 수 있습니다. 읽기 영역: ubuntu, centOS 등등 (수정할 수 없음) 쓰기 영역: Git 설치, 모듈 설치 등등 (이미지에 추가할 수 있음) docker run -it --name git ubuntu:latest bash 위와 같이 ubuntu:bash 이미지에는 Git이 설치되어 있지 않습니다. apt-get upda..