AWS의 EC2에서 S3로 업로드 하는 방법은 많습니다. 노드나 파이썬과 같은 프로그래밍 언어로 언어를 구현하고, 스케쥴러를 이용해 파일을 업로드 하는 방법이 있지만 이 글에서는 EC2를 구동하면 자동으로 설치가 되는 AWS-SDK를 이용하여 S3로 업로드를 하는 방법에 대해서 소개 하겠습니다.
포스트에 들어가기 전에 아래의 4가지는 기본적으로 설정이 되어 있다고 가정하고 글을 진행하겠습니다.
- EC2 서버
- S3 버킷
- AWS IAM
- contab
1. AWS Configure 설정
Amazon의 EC2에서 만든 인스턴스에는 기본적으로 AWS-SDK가 설치되어 있습니다.
이제 이 AWS-SDK를 사용하기 위해서는 AWS Configure를 먼저 설정을 해 주어야하는데요. 설정을 해 주는 방법은 다음과 같습니다.
- EC2의 커맨드 라인에서 aws configure list를 입력 한 뒤 정보가 입력이 되어있는지 확인 합니다.
- 아무 정보가 없는것을 확인하고, aws configure를 입력 한 후 필요한 정보들을 입력 해 줍니다.
- AWS IAM에서 발급받은 정보들을 입력 해 줍니다.
- AWS Access Key Id
- AWS Secret Access Key
- Default region name
- format
- region name은 ap-northeast-2를 입력해 주시면 됩니다.
- format은 default인 None으로 하셔도 무방합니다.
2. 쉘 스크립트 작성
AWS-SDK를 사용하기 위한 설정은 끝이 났습니다. 이제 파일을 업로드 하기 위해 쉘 코드를 작성을 하기에 앞서, 쉘 코드를 작성 할 폴더와 파일을 만들어 줍니다.
mkdir shell && cd shell && touch logShell.sh
그 뒤 vi나 vim과 같은 에디터를 이용하여 쉘 코드를 작성 해 줍니다. 아래의 예제는 전날 생성된 로그파일들을 S3로 업로드 하기 위한 코드입니다.
폴더는 해당 경로에 없으면 자동으로 생성이 됩니다.
3. crontab으로 shell 동작 등록하기
이제 남은 작업은 contab으로 일정 시간이 되면 로그를 업로드 하는 쉘을 등록 해 주는 일입니다.
설치 방법은과 crontab의 사용방법은 아래의 JDM's Blog님의 글을 참고하시면 좋습니다.
리눅스 크론탭(Linux Crontab) 사용법 :: JDM's Blog
* 이 포스팅은 네이버 블로그에서 작성(2013.04.01)한 내용을 옮겨온 것입니다. 오늘은 리눅스 크론탭에 대해 알아볼까 합니다. 음, 윈도우에서는 스케줄러와 비슷하다고 보면 되겠네요. "특정 시간에 특정 작업을 해야한다." 라고 한다면 크론탭을 사용해 편하게 리눅스를 사용하실 수 있습니다. 크론탭 기본 (crontab basic) 일단 기본이 되는 크론탭 사용법을 한 번 볼까요. 리눅스 쉘에서 다음처럼 입력합니다. $ crontab -e 그러면 뭔가
jdm.kr
이제 로그파일은 매일 S3로 업로드가 됩니다!!!
'AWS' 카테고리의 다른 글
CORS - AWS편 (0) | 2022.01.17 |
---|---|
Cloudwatch Agent 설치 법 (0) | 2020.04.13 |
댓글