분류 전체보기
-
[AWS] VPC(Virtual Private Cloud)란 무엇일까?Cloud/AWS 2021. 4. 2. 15:31
AWS VPC(Virtual Private Cloud)란 무엇일까? 이번 글에서는 AWS VPC에 대해서 정리해보겠습니다. Amazon VPC 서비스는 EC2의 네트워크 계층이며, EC2 인스턴스를 비롯한 여러 AWS 서비스에 네트워크 리소스를 담을 수 있는 가상 네트워크입니다. 글로만 보면 정확하게 이해가 되지 않습니다. 그래서 만약 EC2 인스턴스들을 VPC를 적용하지 않고 서비스를 한다고 가정해보겠습니다. VPC를 사용하지 않고 여러 EC2 인스턴스를 사용하면 위와 같은 상황일 것입니다. 뭔가 그림으로만 봐도 복잡해보이고 서로 거미줄처럼 엉켜있는 듯한 느낌을 받을 수 있을 것입니다. 지금은 6개 정도의 인스턴스여서 그렇지 나중에 인스턴스가 엄청나게 많아지면 정말 관리하기 쉽지 않을 것이고 하나의 인..
-
[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..