Develop 27

[Django Rest Framework] To Do List

DRF로 To Do List 앱 제작Django Rest Framework를 사용해 REST API 형태의 To do list 앱을 위한 백엔드 서버를 제작한다. 이후 React를 사용해 만든 프론트 엔드와 연동할 예정이다. 프로젝트 설정먼저 가상 환경을 설정한다. 여기서는 PyCharm에서 Conda를 사용해 설정해주었다. 1️⃣ Django 설치다음으로 장고를 설치해준다.$ pip install django2️⃣ 프로젝트 생성장고를 설치했으면 이제 장고 명령어를 통해 프로젝트를 생성한다.$ django-admin startproject django_rest생성하면 다음과 같이 기본적인 프로젝트 구성이 완료된다. 여기다 앱을 만들어 추가해보도록 하자.3️⃣ 앱 생성프로젝트 폴더로 이동한다. $ cd d..

Develop/Django 2021.03.16

React 앱 배포하기 (feat. Nginx, Docker, AWS)

React 앱을 만들었다는 가정하에 진행되며 Nginx에 대한 개념없이 단순히 사용하고 있음을 미리 알립니다.Make docker image using NginxNginx 서버를 사용해 제작한 React 앱을 도커 이미지로 만들어보자. 도커 이미지로 만들고 도커 허브에 올리면 Github처럼 어디서든 받아서 컨테이너를 실행시킬 수 있고 수정해서 다시 올릴 수 있다. Create Nginx server Container 먼저 React 앱을 동작시킬 Nginx 서버를 도커 이미지를 통해 생성한다. Nginx는 도커 허브에서 공식 이미지를 지원하고 있으므로 바로 다운받아 실행이 가능하다. 1️⃣ Nginx 컨테이너 생성 로컬 터미널에서 docker run명령을 통해 Nginx 이미지를 받아 컨테이너를 생성한..

Develop/Docker 2021.03.10

[AWS] IAM

이 글은 A Cloud Guru의 예제를 바탕으로 작성되었습니다. IAM 이란?AWS에서 제공하는 유저 관리 서비스로 API/서비스에 대한 계정과 접근 권한을 관리하도록 돕는 역할을 한다. 아래 그림을 보면 왼쪽에 AWS 계정에 3개의 그룹이 있고 각 그룹에 사용자가 속해있는 모습을 볼 수 있다. 이렇게 사용자와 그룹이 구성되면 해당 그룹에 권한을 부여해 그림 오른쪽 부분과 같이 각 사용자 혹은 그룹별로 할 수 있는 일을 정할 수 있게 된다. 출처 : A Cloud Guru 실습사용자와 그룹은 이미 생성되어있다. 이를 전제로 총 3가지 작업을 해본다. 사용자와 그룹의 정보를 확인한다. (무엇을 확인할 수 있는지)그룹에 사용자를 추가해본다. (어떻게 추가할 수 있는지)각 사용자별로 권한이 다를때 실제 권한..

Develop/AWS 2021.02.28

[AWS] 클라우드 구성 템플릿(CouldFormation Templates)

해당 포스팅은 A Cloud Guru 서비스에서 제공하는 예제를 포함하고 있습니다. CloudFormation이란?리소스 관리 시간을 줄일 수 있도록 AWS 리소스를 모델링하고 설정해서 자동으로 생성해주는 서비스 스택 작업AWS CloudFormation은 스택을 통해 리소스를 관리한다. 스택이란AWS 리소스를 관리할 수 있는 하나의 단위로 AWS 리소스 모음을 지칭한다. AWS 리소스를 스택에 쌓아둔 것이라고 생각하면 이해가 편할 것이다. 스택 특징스택은 리소스의 모음이라 스택이 삭제되면 리소스가 전부 삭제된다.스택을 구성하는 모든 리소스는 AWS CloudFormation Template으로 정의한다.스택을 생성, 업데이트, 삭제하면 해당하는 리소스들도 전부 생성, 업데이트, 삭제된다.출처 : A C..

Develop/AWS 2021.02.13

[AWS] Custom AMI

해당 포스팅은 A Cloud Guru 서비스에서 제공하는 예제를 포함하고 있습니다. Custom AMI AWS에서 사용하던 인스턴스를 그대로 이미지로 만들 수 있다. 그런 이미지를 Custom AMI이라고 하며 자신이 구축한 인스턴스 환경을 그대로 이미지화 할 수 있다는 점에서 클라우드 환경에서 반드시 필요한 기능이다. 장점 이미지를 만드는 것뿐만아니라 만들어진 이미지를 바탕으로 새로운 인스턴스를 생성할수도 있는데 이런 특징은 클라우드 환경에서 몇가지 장점으로 작용하게 된다. Scale OutAWS는 Auto Scaling기능을 지원한다. Auto Scaling 그룹에 구축이 완료된 이미지를 추가하면 Scale Out 이벤트가 발생할 경우, Custom 이미지를 바탕으로 동일 환경의 인스턴스가 추가되어 ..

Develop/AWS 2021.02.13

[AWS] EC2 인스턴스로 Docker 컨테이너 실행(feat. docker compose)

기본 VPC 설정EC2인스턴스가 가동될 네트워크 환경을 구성하기 위해 기본 VPC 생성한다. 원하는 서브넷이나 게이트웨이 설정이 있다면 VPC를 하나하나 선택해 생성해줘도 상관없다. 인스턴스 생성인스턴스 종류 선택Ubuntu Server 20.04 LTS (HVM), SSD Volume Type지금까지 사용해온 익숙한 환경을 고르도록 한다. 나는 계속 ubuntu를 사용해 연습했으니 ubuntu를 선택했다. 보안 그룹 설정 보안 규칙은 2가지가 필수적으로 요구된다. SSH : AWS EC2 인스턴스에 원격으로 붙어서 사용하기 위해HTTP : docker 컨테이너에서 동작할 웹 서버를 위해위에 2가지는 반드시 추가하고 사용하고 있는 컴퓨터(노트북)만 접속할 수 있도록 소스를 내 PC로 지정해준다. 인스턴스..

Develop/AWS 2021.02.13

[AWS] EC2 인스턴스 생성 및 관리

EC2 란? Amazon에서 제공하는 Elastic Compute Cloud(EC2)의 약자고 클라우드에서 확장 가능한 컴퓨팅 서비스를 제공하는 것이다. 이 서비스의 인스턴스를 생성해 클라우드에 개인용 작업 공간을 만들 수 있다. Amazon EC2에서는 다양한 기능을 제공하는데 몇가지만 알아보면Amazon Machine Image (AMI) : 인스턴스를 만들 수 있는 이미지 제공 (개인 이미지 제작 가능)인스턴스 유형 선택 : CPU, 메모리, 스토리지 등을 선택해서 인스턴스 생성 가능키 페어를 통한 정보 보호 : 퍼블릭 키를 AWS에 프라이빗 키를 사용자에게 보관임시 볼륨과 영구 볼륨 : 인스턴스와 연결된 임시 볼륨을 통해 저장 가능하지만 인스턴스 종료시 데이터 삭제, EBS라는 영구 볼륨을 통해 ..

Develop/AWS 2021.02.13

[AWS] VPC 환경 구성과 EC2 인스턴스 생성

VPC란?Virtual Private Cloud의 약자로 AWS에서 제공하는 가상 개인 네트워크이다. VPC를 사용하면 AWS에서 이용하는 모든 서비스 환경을 사용자가 원하는대로 구성할 수 있다. 이런 환경 구성은 저장하고 다시 사용할수도 있는데 만약 기본적인 네트워크가 필요한 경우 AWS에서 기본적으로 구성된 네트워크를 제공해주기도 한다.Amazon VPC란 무엇인가?Amazon Virtual Private Cloud(Amazon VPC)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다. Amazon VPC는 Amazon EC2의..

Develop/AWS 2021.02.13

[Docker] MongoDB가 설치된 우분투 이미지 만들기(feat. commit)

목표 도커 우분투 이미지로 컨테이너를 생성하고 생성된 이미지에 mongo DB를 설치해 ubuntu:mongodb 이미지를 작성한다. 컨테이너 실행 docker run -it [container] [image] 도커 우분투 이미지를 실행시켜 mongo DB를 설치할 컨테이너를 생성하도록 하자. docker run -it --name ubuntu_mongo ubuntu /bin/bash 설치 방법 패키지 업데이트 apt-get update 설치에 앞서 패키지 업데이트를 진행한다. wget 설치 apt-get install wget 도커 이미지의 경우, 리눅스 이미지를 받아오면 wget명령도 없을 것이다. 없다고 뜨는 것들은 설치한다음 다시 진행해주면 된다. 패키지 매니저 시스템을 사용해 공개키 받아오기 w..

Develop/Docker 2021.02.05

[Docker] zsh테마가 설정된 이미지 만들기 (feat. commit/Dockerfile)

목적 열심히 WSL위에 Docker를 설치하고 Docker로 Ubuntu컨테이너를 만들어 zsh과 oh-my-zsh을 통해 꾸며주었다. 이 과정을 다시 반복하지 않기 위해서이미지로 저장해두는 작업을 하려고 한다. 이미지 저장은 commit을 통해서 쉽게 할 수 있으나 dockerfile을 만들어보고 제대로 동작하는지 확인하는 과정을 거쳐보려고 한다. 방법 docker commit을 이용한 이미지 저장 ⇒ 변경하려면 앞의 모든 작업을 다시 수행 dockerfile을 이용한 이미지 저장 commit으로 저장하기 이미지 생성 docker commit Ubuntu-20.04 ubuntu:zsh Ubuntu-20.04라는 컨테이너를 ubuntu라는 이미지베이스에 zsh이라는 태그를 달아서 저장한다. 생성된 이미지..

Develop/Docker 2021.02.03