참고 : Ubuntu 22.04 LTS 환경에서 작업했습니다. 사이드 프로젝트 서비스 배포 준비를 하며 Dockerfile 빌드를 하던 중, No space left on device 에러가 발생했다. 원래 EC2에 연결되어 있던 EBS 볼륨의 크기는 8GB였다. 도커 파일 빌드 시에 ML 관련 패키지들이 무거운 것들이 있어서인지 df -h 명령어로 파일시스템을 확인하면 빌드가 진행되면서 사용률이 늘어나는 것을 확인할 수 있었다. EC2 인스턴스 > 스토리지 > 블록 디바이스를 선택한다. 수정할 EBS 를 선택하고 볼륨 수정을 선택한다. 나의 경우 16GB로 늘려주었다. 아직 xvda 1 는 7.9G 가 할당된것을 볼 수 있다. 루트 파티션 xvda1 이 전체 공간을 사용할 수 있도록 확장하는 작업이 필..
EC2
airflow 를 t2.micro (가장 저렴한 프리티어 인스턴스) 로 deploy 하다가 서버가 계속 죽는 현상이 나서 메모리 사용량을 찍어봤더니 인스턴스가 버거워 하는 것을 확인했다..사용중인 인스턴스를 '중지' (절대 종료하면 안된다 인스턴스가 삭제됨) 한 후에, 인스턴스 설정 > 인스턴스 유형 변경을 선택한다. 원하는 인스턴스 유형을 선택하고 적용시킨다. 4GB 정도면 충분하겠지..! 적용이 성공되면 다음과 같다 재부팅 후 airflow 실행을 해보니 이제 인스턴스가 어는 것도 없고 task 가 잘 실행된다!
AWS PrivateLink 로 구동되는 자체 VPC 엔드 포인트 서비스를 생성하고, 이 VPC 에 액세스할 수 있게 한다. 다음과 같은 아키텍처를 직접 구현해보는 실습을 정리해 보았다 VPC 내에 Public Subnet 과 Private Subnet을 각각 하나씩 만든다. Public Subnet 내에 ec2 instance 하나를 띄우고, Private Subnet 내에도 ec2 instance를 하나 띄운다. Public Subnet 에서 생성한 ec2 instance인 Bastion host에서는 Private subnet의 Instance에 접근이 가능하다. 그런데 Private Subnet Instance의 경우, 외부로 트래픽이 나가도록 설정되어 있지 않다. 이러한 경우에, Private ..
EC2 인스턴스에 접속하는 방법은 총 3가지가 있다. 1. AWS 웹페이지에서 CLI 사용하기 2. ssh 원격접속하기 3. (Window의 경우) PuTTY를 사용하여 원격 접속하기 AWS 웹 페이지에서 제공하는 방식 EC2 인스턴스 대시보드 페이지에 접속한다. 실행 중인 인스턴스를 선택하고, 상단의 연결 버튼을 누른다. EC2 인스턴스 연결을 선택하고 연결 버튼을 누른다. 웹페이지에서 바로 CLI를 사용할 수 있다. ssh 원격 접속하기 원격 접속을 위해서는 인스턴스 생성할 때 사용했던 key 파일이 필요하다. user 사용자 read only 만 가능하게 권한을 변경했다. user@cccr03-350XCJ-350XCR:~$ chmod 400 minjee_key.pem user@cccr03-350XC..
인스턴스란 EC2에서 사용하는 가상화 서버이다. 인스턴스는 1개에서 수천개로 확장할 수 있으며, 모든 region에서 사용할 수 있다. 또한 EC2 인스턴스에서 사용하는 블록기반 스토리지를 EBS(Elastic Block Storage)라고 한다. 인스턴스 시작하기 인스턴스 시작을 누르면 새로운 인스턴스를 생성할 수 있다. 인스턴스 이름을 정한다. AMI 이미지 선택하기 사용할 OS 이미지를 선택할 수 있다. AMI란, Amazon Machine Image로 EC2 인스턴스를 만들 때 사용하는 이미지 파일이다. 기존에 있는 이미지 파일도 사용할 수 있으며, 직접 커스텀한 AMI 이미지 파일도 사용할 수 있다. 나의 경우 Amazon Linux로 프리티어 사용할 수 있는 것으로 설정했다. 네트워크 설정 다..