728x90
반응형

https://aws.amazon.com/ko/blogs/korea/amazon-ebs-update-new-elastic-volumes-change-everything/

 

Amazon EBS 업데이트 – 언제나 자유롭게 볼륨 유형 및 크기 변경 가능 | Amazon Web Services

AWS 고객은 서비스를 시작한 후, 사용자 트래픽 및 데이터 사이즈가 증가함에 따라 기존 볼륨을 수정하여 용량을 추가하거나 I/O 성능 특성을 변경해야 할 경우가 생깁니다. 이를 변경하기 위해, 2

aws.amazon.com

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

 

볼륨 크기 조정 후 Linux 파일 시스템 확장 - Amazon Elastic Compute Cloud

볼륨 크기 조정 후 Linux 파일 시스템 확장 EBS 볼륨 크기를 늘리고 난 후에는 파일 시스템 관련 명령을 사용하여 파일 시스템의 크기를 늘려야 합니다. 볼륨이 optimizing 상태가 되자마자 파일 시스�

docs.aws.amazon.com

2017년 발표된 신규 EBS가 출시되면서 EC2에서 EBS를 사용할 경우 저장 공간에 대한 탄력적인 운영이 가능해졌습니다. 

 

예를들어 용량이 부족할 때는 일정 비율 이상으로 자동 증가하는 방법들을 선택할 수 있게 되었죠.

 

최근 수동으로 용량을 증가할 일이 있어서 관련 내용을 정리해봤습니다. 

 

만약 해당 시스템이 현재 서비스 중인 시스템이라도 중단 없이 처리가 가능합니다. 하지만, EBS에 손실될 경우 문제가 될만한 중요한 정보가 있다면 스냅샷을 꼭 만든 후 진행하시기 바랍니다. 

 

스냅샷을 생성해두면 문제가 발생 시 기존 EBS를 해제하고 스냅샷으로 새로운 볼륨을 생성 후 기존 인스턴스에 연결할 수 있습니다. 

 

우선 AWS Console에서 EC2 >> EBS >> 볼륨을 선택합니다. 

그리고 수정이 필요한 볼륨을 선택한 후 "볼륨 수정"을 선택합니다.

그리고 필요한 볼륨으로 크기를 조정합니다.

이제 시스템에 접속해서 lsblk 명령으로 인스턴스에 연결된 블록 디아비스 정보를 확인합니다. 

 

현재 8G를 사용중이며 총 용량이 16G인 것을 확인할 수 있습니다. 

사용하지 않고 있는 8G를 xvda1에 추가해 보겠습니다. 

growpart 명령으로 파티션을 확장합니다. 디바이스 이름과 파티션 번호 사이에는 띄어쓰기가 있으니 유의하세요.

df 로 파일 시스템을 확인해보면 아직 이전 상태인 것을 확인 할 수 있습니다. 

xfs_growfs 명령으로 파일 시스템을 확장합니다. 

이후 df로 다시 확인하면 xvda1 의 용량이 8G 에서 16G로 확정된 것을 확인 할 수 있습니다.

 

확장된 volume은 다시 축소할 수 없으니 꼭 필요한 경우 진행하시고, 확정 전에 꼭 스냅샷을 만들어 두시는걸 추천드립니다.

 

복잡하진 않지만 찾아보지 않으면 알 수 없는 내용이라 간단히 정리해 보았습니다. 

 

조금이라도 도움이 되셨길 바랍니다. :)

반응형
728x90
반응형

일반적으로 시스템 부팅 후 자동으로 시작되도록 서비스를 등록할 때 systemctl 혹은 init.d 스크립트 등록하여 사용합니다. 

 

systemctl 혹은 init.d 스크립트를 등록하는 방법이 쉽지많은 않으며, 혹시 해당 서비스에 문제가 발생할 경우 서비스가 다운되면 다시 시작되지 않는 문제도 있습니다.

 

이를 해결하기 위해 upstart 같은 프로그램을 사용하여 간단히 해결할 수 있습니다. 하지만 이마저도 각 서비스 별로 별도 등록, 관리해야 합니다. 

 

만약 당신이 pm2를 사용하여 Node.js로 제작된 서비스를 관리하고 있다면 위의 모든 문제를 손쉽게 해결할 수 있습니다. 

 

pm2에 서비스를 등록, 중단, 삭제하는 방법은 아래와 같이 간단합니다. 

 

pm2 start your_app.js  >> 서비스 등록 및 시작하기
pm2 stop your_app      >> 서비스 중단하기
pm2 restart your_app.js>> 서비스 재시작하기
pm2 del your_app       >> 등록된 서비스 정보를 삭제하기

부트 스크립트에 추가하기 전에 당신의 서비스를 pm2에 모두 등록했다고 가정하고 진행하겠습니다. 

 

부트 스크립트와 관련해서 startup과 unstartup 명령만 알고 있으면 됩니다. 

 

startup은 해당 시스템의 init system을 찾아 pm2의 초기 실행 스크립트를 등록하고, 필요한 환경 변수 설정을 위한 값을 출력해 줍니다. 실제 환경 변수 등록과 부팅 스크립트에 등록을 위해서는 출력된 내용을 복사하여 실행해야 하니 해당 과정을 잊지 마세요. 

 

$ pm2 startup
[PM2] Init System found: systemd
[PM2] To setup the Startup Script, copy/paste the following command:
sudo env PATH=$PATH:/home/user/.nvm/versions/node/v14.7.0/bin /home/user/.nvm/versions/node/v14.7.0/lib/node_modules/pm2/bin/pm2 startup systemd -u user --hp /home/user
# 위 sudo env .. 라인 전체를 복사해서 실행하면 필요한 설정이 모두 적용됩니다.

끝!!!

반응형
728x90
반응형

>> EPEL(Extra Packages for Enterprise Linux) 저장소 활성화하기

https://aws.amazon.com/ko/premiumsupport/knowledge-center/ec2-enable-epel/

>> 원격접속을 위한 키 발급 및 설정

EC2는 기본적으로 생성 시 발급한 공개키를 사용하여 원격접속 할 수 있도록 설정되어 있습니다. EC2에 키 페어를 설정하는 방법은 아래와 같습니다.

 

EC2 생성 전에 키 페어로 가서 ...

"키 페어 생성" 버튼을 눌러 ppk를 생성합니다. 이때 비번 설정은 없으니 참고하세요. 

 

EC2 기본 설정을 완료 후 시작을 누르면 키 페어 설정 화면이 나옵니다. 여기서 새로 생성할 수도 있으며 생성된 키 페어를 설정할 수 있습니다. 

 

키 페어가 변경된 경우에 대해서는 이 링크를 참고하세요. 

 

이제 putty에서 Auth에 다운받은 ppk 파일을 설정합니다. 

그리고 ssh 연결 설정에서 host name에 public dns 값을 입력, 사용자에 ec2-user를 입력 후 연결할 수 있습니다. 

 

파일 이동을 쉽게 하기 위해 WinSCP를 사용하는 경우 아래 이미지를 참고해서 ppk 파일을 설정하면 됩니다. 

 

보안 그룹에서 접속할 instance의  inbound 설정에 ssh 연결을 위해 22 번 포트를 가능한 제한되고 안전한 PC에서만 접속할 수 있도록 접속 가능한 IP를 제한해야 합니다. 

 

예를들어 자신의 회사에서 사용하는 public ip가 1.1.1.0 ~ 1.1.1.255까지 사용하며 자신의 ip가 1.1.1.11이라고 가정해 봅시다. 

 

인바운드 규칙에서 소스에 값을 적용할 때는 CIDR 표기법으로 기록해야 합니다. 

 

만약 회사원 일부가 접속을 할 경우 1.1.1.0/24 로... 자신만 접속한다면 1.1.1.11/32로 설정하면 됩니다. 

 

혹시 원격접속을 "브라우저 기반 ssh 연결"하려면 추가 설정이 필요합니다. 

 

"브라우저 기반 ssh 연결"은 "웹 브라우저 -> EC2 Instance Connect -> EC2 Instance"의 과정을 거쳐 연결됩니다. 이때 EC2 Instance Connect은 각 지역별로 별도의 IP 대역이 할당되어 있습니다.  예를들면 서울 리전(ap-northeast-2)의 경우 13.209.1.56/29를 ssh의 포트에 같이 포함하여 적용되어 있어야 합니다. 이에 대한 상세한 내용은 https://ip-ranges.amazonaws.com/ip-ranges.json 파일을 참고하시면 됩니다.

 

>> VPC를 생성하면..

라우팅 테이블 , 네트워크 ACL, 보안 그룹이 자동으로 같이 생성됩니다.

>> 실행중인 EC2로 이미지 생성 시

실행중인 인스턴스로 이미지 생성을 하게 되면 인스턴스가 일시적으로 중단된 듯 한 상황이 발생할 수 있습니다. 주의하세요.

>> EC2에서 다른 EC2로 원격 접속하기

해당 EC2에 설정된 키 페어를 다운받고, ppk일 경우 pem 파일로 변경(https://aws.amazon.com/ko/premiumsupport/knowledge-center/convert-pem-file-into-ppk/)합니다.

$ sudo puttygen ppkkey.ppk -O private-openssh -o pemkey.pem

puttygen이 설치되지 않은 경우 putty(혹은 putty-tools) 패키지를 설치하면 됩니다. EC2의 경우 epel을 활성화되지 않을 경우 패키지를 찾을 수 없습니다. 

sudo ssh -i your-key.pem ec2-user@ec2-ip

>> node 설치 방법

https://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html

 

# download
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

# nvm 활성화
. ~/.nvm/nvm.sh

# nodejs 설치
nvm install node

#pm2 설치
npm install pm2 

 

 

반응형

+ Recent posts