Amazon Elastic Compute Cloud(EC2)는 AWS에서 제공하는 가상 서버 인스턴스입니다. EC2를 사용하면 필요에 따라 가상 서버를 프로비저닝하고, 확장하거나 축소하여 애플리케이션을 실행할 수 있습니다.
EC2 인스턴스란 가상 컴퓨팅 환경입니다. 가상 머신을 생성하고 실행합니다.
웹 호스팅, 애플리케이션, 데이터베이스, 인증 서비스를 비롯해 서버가 수행하는 모든 워크로드를 지원합니다.
AMI란 인스턴스를 시작하는데 필요한 정보를 제공하는 이미지로, 한 AMI로 여러 인스턴스를 생성할 수 있습니다.
EC2는 SSH 22번 포트를 사용하여 터미널을 접속하기에 기본으로 허용해주어야 합니다.
EC2 SSH에 접속하여 ubuntu일 경우 명령어를 통해 소프트웨어를 설치하여 EC2를 세팅합니다.
EC2 Instance connect (ubuntu)
sudo apt-get update
sudo apt-get upgrade
#build tools
sudo apt-get install build-essential
#python
sudo apt install python3.11-venv
sudo apt-get install python3-pip
Inbound 규칙을 설정
Protocol, ip source, port 설정
Elastic IP adress 할당 후 Elastic IP adress를 원하는 EC2 instance로 연결
sudo apt install docker.io
sudo systemctl start docker
sudo systemctl enable docker
sudo usermod -aG docker $USER
sudo apt install docker.io: 이 명령어는 apt 패키지 관리자를 사용하여 Docker 패키지를 설치합니다. docker.io는 우분투 및 Debian 기반 배포판에서 Docker를 설치하기 위한 패키지 이름입니다. 이 명령어는 관리자 권한(sudo)이 필요하므로 관리자로 실행해야 합니다.
sudo systemctl start docker: 이 명령어는 Docker 데몬을 시작합니다. Docker 데몬은 Docker 컨테이너를 관리하는 백그라운드 프로세스입니다. systemctl 명령어는 리눅스에서 시스템 서비스를 시작하고 관리하는 데 사용됩니다.
sudo systemctl enable docker: 이 명령어는 Docker를 시스템 부팅 시 자동으로 시작하도록 설정합니다. Docker를 서비스로 등록하면 시스템이 재부팅될 때마다 Docker가 자동으로 시작됩니다.
sudo usermod -aG docker $USER: 이 명령어는 현재 사용자를 docker 그룹에 추가하여 sudo를 사용하지 않고도 Docker 명령어를 실행할 수 있게 합니다. 이 명령어를 실행한 후에는 로그아웃하고 다시 로그인해야 그룹 멤버십이 적용됩니다.
sudo apt-get update -y
sudo apt install postgresql
psql --version
PostgreSQL 서버 설정 파일인 postgresql.conf를 엽니다.
sudo nano /etc/postgresql/{version}/main/postgresql.conf
postgresql.conf 파일 내에서 listen_addresses 항목
주석 처리된(#로 시작하는) 부분을 찾아서 주석을 제거하고, 다음과 같이 수정
listen_addresses = ‘*’
PostgreSQL의 pg_hba.conf 파일을 엽니다.
sudo nano /etc/postgresql/{version}/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
host all all ::/0 md5
sudo service postgresql restart
postgresql 계정을 추가
sudo -u postgres psql << 안되면 sudo su 이후에
postgres=# \password
Enter new password:
Enter it again:
postgres=#
\q
sudo -u postgres psql
postgres=# ALTER USER <username> WITH PASSWORD <'password'>;
postgres=# CREATE DATABASE <db> WITH OWNER <username>;
postgres=# \du ==> Account
postgres=# \l ==>DB list
postgres=# \c <db> ==> DB 접속
SELECT * FROM <table>; ==> table 조회
psycopg2
dj-database-url
DATABASE_URL='postgresql://<user>:<password>@<host>:<port>/<db>'
pgAdmin을 활용한 postgresql 관리
Server 생성 후 connection
username, password 입력