목록Data Engineering/AWS (13)
코딜기
AMI(Amazon Machine Image)란?AMI(Amazon Machine Image)는 인스턴스를 생성하기 위한 이미지입니다.기존의 사용했던 인스턴스의 환경(운영 체제(OS), 애플리케이션 서버, 애플리케이션, 구성 설정, 라이브러리 등)을 그대로 이미지로 캡처해서 새로운 인스턴스를 만들 수 있습니다.이를 통해 사용자는 특정 환경이 미리 구성된 인스턴스를 쉽고 빠르게 시작할 수 있습니다.AMI의 용도1. 인스턴스 복제AMI를 사용하면 기존의 사용했던 EC2 인스턴스 환경을 그대로 복제하여 새로운 인스턴스를 생성할 수 있습니다.이는 다양한 환경(개발, 테스트, 프로덕션)에서의 일관된 설정을 유지하는 데 매우 유용합니다.2. 백업 및 복구인스턴스의 현재 상태를 AMI로 캡처하여 백업으로 사용할 수 ..
EC2의 가상환경자세한 개념은 파이썬 가상환경 설정 게시물에서 확인할 수 있습니다.EC2 가상환경 설치가 필요합니다.EC2에 가상환경 활성화하기아래 명령어를 통해 python용 가상환경을 env라는 디렉터리에 생성해 줍니다.가상환경을 만들 프로젝트 폴더 경로 안에 들어가서 생성해 줘야 작업별로 가상환경을 독립시킬 수 있습니다.이 포스팅에서는 활성화하는 방법을 공유하는 것이 목표이기 때문에 따로 독립시키지 않고 진행하겠습니다.virtualenv env아래 명령어를 통해 가상환경을 활성화 및 비활성화를 할 수 있습니다.가상환경을 설치한 폴더로 이동한 후 진행하셔야 합니다.정상적으로 활성화가 되었다면 사진과 같이 커맨드 라인 맨 앞에 (env) 표시가 생긴 것을 확인할 수 있습니다.# 가상환경 활성화하기sou..
EC2의 가상환경자세한 개념은 파이썬 가상환경 설정 게시물에서 확인할 수 있습니다.EC2에 가상환경 세팅하기아래 명령어를 통해 virtualenv를 설치한 후 버전을 확인해 주면 정상적으로 설치가 된 것을 확인할 수 있습니다.python3 -m pip install --user virtualenvvirtualenv --version
EC2에 pip 설치하기1. 우선 pip를 설치할 EC2 인스턴스를 생성한 후 SSH로 접속을 해줍니다.2. pip 설치를 해주기 전에 python 세팅을 먼저 해줍니다.3. 아래 명령어를 통해 pip를 설치해 줍니다.sudo apt updatesudo apt install python3-pip -y4. 설치를 하고 pip 버전을 확인해 줍니다.5. 만약 pip 버전이 9.0.x 또는 20.x 이상이 아니라면 업그레이드를 해줘야 합니다.python -m pip install --upgrade pip
EC2에 python3 세팅하기1. 우선 python 세팅을 할 EC2 인스턴스를 생성한 후 SSH로 접속을 해줍니다.2. 접속 후 apt를 업데이트하고 build-essential을 설치합니다.sudo apt updatesudo apt install build-essential -y3. 설치가 완료되었다면 python을 설치해 줍니다. -> 필요에 따라 python 버전을 변경해 줍니다.sudo apt install python3.8 -y4. 설치를 하고 python 버전을 확인하면 방금 설치한 python 버전과 다르게 나타납니다. -> 설치한 python 버전으로 나오면 아래 과정은 생략해도 됩니다.5. python 명령어를 치면 방금 설치한 python을 가리키도록 설정을 해줘야 합..
MySQL 원격 접속1. 먼저 mac 터미널에서 MySQL을 사용하기 위해 아래 코드로 MySQL를 설치해 줍니다. -> homebrew를 설치하지 않았다면 homebrew의 설치가 우선적으로 필요합니다.brew updatebrew install mysql2. 설치가 완료되었다면 아래 명령어를 통해 MySQL에 원격 접속을 할 수 있습니다. -> 엔드포인트 주소는 RDS 데이터베이스 대시보드에서 확인할 수 있습니다.mysql -u [마스터 사용자 이름] -h [엔드포인트 주소] -P 3306 -p※ 만약 접속 명령어가 실행되지 않는다면 인스턴스의 보안 그룹 설정이 문제일 수도 있습니다. -> 이 게시물을 통해 포트 설정이 되었는지 확인해 주세요. -> 위 게시물은 EC2 인스..
보안 그룹이란?인스턴스 사용 시 설정해야 하는 값 중에 하나입니다.AWS는 설정해 놓은 포트를 통해서만 원격접속이 가능하기 때문에 인스턴스에서 필요한 포트를 개방해줘야 합니다.인스턴스를 생성할 때 지정한 보안그룹의 포트는 보통 기본값으로 설정되어 있기 때문에 추가적인 포트 개방 설정이 필요합니다.포트 설정은 AWS EC2 대시보드에서도 설정이 가능합니다.1. 설정하고자 하는 인스턴스의 정보창에서 보안 - 보안그룹을 클릭합니다.2. 보안그룹의 인바운드 규칙에서 "인바운드 규칙 편집"을 선택해 줍니다.3. 보안 그룹 규칙을 하나 추가한 후 필요에 맞게 설정을 하고 규칙 저장을 눌러줍니다. -> 이 게시물에서는 예시로 Redis에서 사용하는 포트인 6379 포트로 만들어줬습니다.4. 아래와 같이 새로운..
RDS(Relational Database Service)란?AWS의 관계형 데이터베이스 서비스입니다. AWS는 DB 인프라 및 업데이트들을 관리해 주고, DB의 설치, 운영, 관리 등의 서비스들을 지원해 줍니다.현재 RDS는 MySQL, Oracle, PostgreSQL, MariaDB, Microsoft SQL Server, Aurora DB를 제공하고 있습니다.※ RDS를 사용하기 위해 AWS에 가입을 하고, Free Tier 설정까지 마쳐야 합니다.※ 모든 게시물은 AWS의 Free Tier 기준으로 진행할 예정입니다.RDS로 MySQL DB 생성하기1. AWS 홈페이지에 로그인을 한 후 검색창에 RDS를 검색해서 RDS 대시보드로 이동해 줍니다.2. 리전을 한국의 서울로 바꿔주고, DB 인스턴스..
명령어를 이용한 EC2 인스턴스와 로컬 간 파일 교환하기EC2 인스턴스와 로컬 간의 파일 교환을 하기 위해 아래의 명령어를 통해서 할 수 있습니다.# 로컬 -> EC2 인스턴스scp -i [보낼 파일의 경로] [User id]@[퍼블릭 ip 주소]:[파일을 받을 위치]scp -i [보낼 파일의 경로] [보낼 파일의 경로] [User id]@[퍼블릭 ip 주소]:[파일을 받을 위치]scp -r [보낼 디렉터리의 경로] [User id]@[퍼블릭 ip 주소]:[디렉터리를 받을 위치]# EC2 인스턴스 -> 로컬scp -i [User id]@[퍼블릭 ip 주소]:[보낼 파일의 경로] [파일을 받을 위치]scp -i [User id]@[퍼블릭 ip 주소]:"[보낼 파일의 경로] [보낼 파일의 경로]" [파일을 ..
FileZilla란?FileZilla를 통해 EC2 인스턴스와 로컬 간의 파일 교환이 가능합니다.FileZilla 설치 EC2 연결1. https://filezilla-project.org에서 운영체제에 맞는 FileZilla client를 설치해 줍니다.2. 설치가 완료되었다면 FileZila를 실행시킨 후 설정창을 띄워줍니다.3. Connection - SFTP에서 Add key file을 선택하고, AWS 키페어 생성 때 다운받은 .pem키를 불러온 후 OK 버튼을 눌러줍니다.4. Site Manager - New site로 새로운 호스트를 만들어줍니다.Site 이름 - 인스턴스 이름과 동일하게 설정하는 것을 권장합니다.Protocol - SFTPHost - 인스턴스 DNS 주소Port - 22Us..