목록Data Engineering (29)
코딜기

명령어를 이용한 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..

※ 이 글은 맥북이나 리눅스 환경에서 진행됩니다.SSH를 통한 EC2 인스턴스 접속터미널에 접속을 하고, 아래 명령어를 사용해서 인스턴스에 연결을 합니다.ssh -i [.pem 파일 저장 위치] [User id]@[퍼블릭 ip 주소 또는 DNS 주소]성공적으로 접속이 되었다면 인스턴스 정보와 명령어 헤더가 바뀐 것을 확인할 수 있습니다.※ 퍼블릭 ip 주소와 DNS주소는 AWS 홈페이지 - EC2 인스턴스 정보에서 확인할 수 있습니다. ※ 처음 .pem 키를 사용해서 인스턴스에 연결을 할 때 아래와 같이 .pem 파일의 퍼미션 경고가 나올 수 있습니다. -> .pem 파일의 퍼미션은 기본적으로 0644로 설정되어 있기 때문에 400으로 바꿔줘야 성공적으로 사용할 수 있습니다.chmod 400 [...

키페어(Key Pair)란?AWS는 비대칭키 방식을 이용하여 인스턴스 접근을 제어합니다.키페어는 EC2 인스턴스에 접속하기 위해 사용되는 암호화된 파일입니다.발급받은 프라이빗 키를 이용하여 인스턴스에 접근할 수 있기 때문에 키를 안전하게 보관하는 것이 중요합니다.키페어 생성1. 키페어를 생성하기 위해 새 키 페어 생성을 눌러줍니다.2. 키페어의 이름과 유형, 파일 형식을 설정해 줍니다. ※ MAC이나 리눅스 이용자는 .pem을 선택해 주고, 윈도우 사용자는 .ppk를 선택해 줍니다. 3. 키페어가 정상적으로 생성이 되었다면 .pem 파일 혹은 .ppk 파일이 자동으로 다운로드되고, 인스턴스 생성 시 키페어를 선택할 수 있게 됩니다. (파일은 잃어버리지 않게 잘 보관해야 합니다.)

EC2란?EC2는 AWS 내에서 제공하는 클라우드 컴퓨팅 리소스를 사용할 수 있는 서비스입니다.EC2를 통해 가상 서버를 구축하면 빠르게 애플리케이션을 개발하고 배포할 수 있습니다.EC2는 사용할 인스턴스 유형, 운영체제 등을 선택할 수 있고, 메모리, CPU, 스토리지 크기 등을 설정할 수 있습니다.※ EC2를 사용하기 위해 AWS에 가입을 하고, Free Tier 설정까지 마쳐야 합니다. ※ 모든 게시물은 AWS의 Free Tier 기준으로 진행할 예정입니다.1. AWS 홈페이지에 로그인을 한 후 검색창에 EC2를 검색해서 EC2 대시보드로 이동해줍니다.2. 리전을 한국의 서울로 바꿔주고, 인스턴스 목록을 띄워줍니다.3. 인스턴스를 만들기 위해 인스턴스 시작을 눌러줍니다.4. 인스턴스의 이름과 운영체..

Airflow Library 설치airflow를 사용하기 위해 필요한 라이브러리를 설치해야 합니다.프로젝트를 위해 만든 가상환경 위에 라이브러리를 설치해야 다른 프로젝트 환경에 영향을 주지 않고 실행할 수 있습니다.1. 아래의 명령어를 프로젝트 가상환경 터미널에 입력해서 라이브러리를 설치해 줍니다.pip install "apache-airflow[celery]==2.9.0" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.9.0/constraints-3.8.txt"※ 여기서 주의할 점은 꼭 맨 앞에 (venv)가 있는지 확인하고 명령어를 입력해주셔야 합니다. 만약 없다면 가상환경에 접속 후 New Termin..

로컬에서 실행된 Docker에서 Airflow 띄우기모든 과정은 Docker가 설치되어 있는 상태에서 터미널(CMD)에서 진행됩니다.맥북은 터미널창에서 그대로 진행하시면 되시고, 윈도우는 WSL의 리눅스 환경 터미널에서 진행해 주시면 됩니다.1. cd 명령어를 통해 작업을 할 폴더로 이동해 줍니다. 2. airflow를 실행시키기 위해 공식 홈페이지에서 제공하는 docker-compose.yaml 파일을 불러오는 명령어를 실행시켜 줍니다.curl -LfO 'https://airflow.apache.org/docs/apache-airflow/2.9.0/docker-compose.yaml' 3. airflow 사용에 필요한 폴더를 만들어줍니다.mkdir -p ./dags ./logs ./plugins ./c..

Riot Games API 지난 게시글에서 Request Limits를 높이기 위해 API Key를 추가적으로 승인 요청해서 발급을 받았습니다. 이번에는 발급받은 API를 사용해서 Data Request를 해보겠습니다. API 요청 이번에는 홈페이지를 통해서 API를 사용하겠지만, 이후 글에서는 전부 Python으로 API를 사용하겠습니다. 저는 주로 홈페이지에서 제공하는 API Request 기능은, 각각 Method들이 어떤 데이터를 제공하는지, 나의 API Key가 정상 작동하는지, Request URL이 어떻게 구성되어 있는지 확인하는 경우에 사용합니다. FTF 랭크 게임의 Challenger 유저들에 대한 Method를 사용해보겠습니다. Method를 클릭하면 아래쪽에 위와 같은 Query Pa..

Riot Games API Riot Games에서 제공하는 API를 통해 데이터를 수집 및 적재하고, 이후 BigQuery, Airflow를 사용해서 데이터 파이프라인을 구축하고, 간단한 서비스를 시각화를 통해 만들 계획입니다. 먼저 API를 사용하려면 Riot Games에서 API를 어떤 방식으로 제공하는지 알아봐야겠죠?? https://developer.riotgames.com/ Riot Developer Portal About the Riot Games API With this site we hope to provide the League of Legends developer community with access to game data in a secure and reliable way. This..