본문 바로가기

문돌이 존버/카카오 챗봇 스터디

Ubuntu 18.04용 boto3, AWS CLI 설치 및 Google API 사용 방법

반응형

이번 시간에는 AWS 우분투 서버에 boto3, aws cli를 설치하고 관련 default config를 설정하는 법을 소개하려고 합니다. 제가 진행하는 프로젝트 성격상 AWS의 Translate 및 Comprehend API 서비스를 사용하기 위해서 필요한 절차입니다. 

그 전에 앞서서 AWS에서 키를 발급받아야 하는데요, csv 파일로 다운받을 수 있으니 보관하셨다가 default config 설정에서 잘 입력해주시면 됩니다. AWS에서 키를 받는 방법은 보통 IAM을 사용하여 부분부분 필요한 권한만 부여하는데(더 안전), 저는 귀찮아서 사용자 자체, 즉 root의 개념으로 "보안 정책(My Security Credentials)"을 클릭하여 엑세스 키를 발급받았습니다. 아래 화면이 나타나면 "Access keys (access key ID and secret access key)"가 보이고 이를 클릭하여 새로 받을 수 있답니다. 

Access key를 발급받으면 이제 이를 입력해줘야겠죠. AWS는 AWS Command Line Interface의 약자인 AWS CLI를 제공하는데요, 이를 통해 간편하게 AWS 서비스를 관리할 수 있습니다. AWS CLI로 서비스 키를 등록해줘야 하기 때문에 반드시 설치해야 할 툴입니다. 또한, AWS API를 시작하려면 기본적으로 boto3라는 라이브러리가 필요합니다. boto3에 대한 자세한 내용(소개, 설치, 테스트 과정)은 AWS 공식 문서를 참고하시기 바랍니다.

아래는 boto3 설치와 AWS CLI 설치 및 Access key 입력 과정입니다. 순서대로 진행하면 아무 문제 없을 것입니다. 

sudo apt update
sudo apt install python3-boto3
pip install boto3
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" # aws-cli 최신 버전 설치
unzip awscliv2.zip
# sudo apt install unzip (unzip 명령을 수행할 수 없다는 오류가 날 경우 설치)
/usr/local/bin/aws --version # aws 버전 확인
cd ~/.aws/

# AWS Access Key ID 및 AWS Secret Access Key 입력
# Default region name 및 Default output format 입력
sudo vi credentials
sudo vi config
/usr/local/bin/aws configure list # config 상태 확인

또 하나 중요한 점은 AWS CLI는 이제 버전 1이 아닌 버전 2를 설치해야 API를 사용하는 데 있어서 문제가 발생하지 않을 것이라고 합니다. 설치하는 내용과 관련해서는 AWS 공식 문서를 참고해주시기 바랍니다. aws config 설정 관련 내용역시 AWS 공식 답변에서 자세히 확인할 수 있습니다. 

 


 

다음으로, 구글 API를 사용하기 위한 환경 설정을 추가로 소개하겠습니다. 저는 구글의 Vision API 서비스를 이용해야 하는 상황이고 특히 OCR 기술을 구현하기 위해선 AWS와 같이 별도의 환경 세팅 과정이 필요합니다. 

AWS와 마찬가지로 그 전에 앞서 GCP 환경을 설정하는 법을 설명드리려고 합니다. GCP에 들어가셔서 새로운 프로젝트를 생성합니다. 이후 API 및 서비스 카테고리 내 "라이브러리"를 클릭하여 Vision API를 검색하면 Cloud Vision API가 나올 것입니다.  

해당 API를 "사용 설정" 버튼을 눌러 활성화하고 "사용자 인증 정보" 카테고리를 클릭하여 "+사용자 인증 정보 만들기"를 통해 세부 설정을 진행하면 되는데요. 서비스 계정 이름을 정하고 계정 권한에서 "프로젝트"의 "소유자" 역할을 지정해줍니다. 이후 키를 만들어줘야 하는데, 디폴트 포맷은 json으로 그대로 진행하시면 자동으로 키가 컴퓨터에 csv 파일로 저장될 것입니다.  

이제 실질적으로 구글 API를 사용할 때인데요. 이때도 조금의 설정이 필요합니다. 먼저, Google Cloud SDK 프로그램을 설치해주어야 합니다. 전 설치 환경이 우분투이기 때문에 sudo apt-get update && sudo apt-get install google-cloud-sdk 명령어를 통해 설치했습니다. 이후 SDK 초기화 및 엑세스를 승인, 설정 과정을 진행해야 하며 gcloud init 명령어를 통해 쉽게 할 수 있습니다. 

우분투 환경에서 Google Cloud SDK를 설치하는 방법은 구글 공식 문서에 잘 설명되어 있습니다. SDK 초기화, 설정 방법은 이 구글 공식 문서에 잘 나와있습니다. 

마지막으로 API 사용자 인증을 받기 위해 방금 발급받았던 서비스 키를 등록해줘야 합니다. 이는 우분투의 경우, 다음의 명령어로 수행할 수 있습니다. export GOOGLE_APPLICATION_CREDENTIALS="서비스 키 위치/파일명.json" 윈도우의 powershell은 export 대신 $env: 를 사용하고, cmd의 경우 set 을 사용합니다. 관련 내용 역시 구글 공식 문서에 친절히 소개되고 있습니다. 단! API를 사용하기 전 항상 서비스 키를 등록하여 사용자 인증을 받아야 합니다. 코드를 돌릴 때마다 사용자 인증을 받는 것이 아니라 최초에 API를 사용하기 전에만 받으면 되겠습니다.

사실 윈도우의 경우, 이 과정이 불편하신 분들은 아예 환경 변수 창에 들어가셔서 디폴트로 세팅을 하면 되는데요. 우분투도 이런 방법이 있을 것 같지만 관련 내용은 찾질 못했네요... 이후 발견하면 다시 추가해놓겠습니다!  

이렇게 하면 모든 사전 준비는 끝났고 Vision API의 OCR용 샘플 코드를 구글링하여 찾아보시면 됩니다. 이후 본인의 프로젝트 내용에 맞게 커스터마이징하면 되겠죠. 기타 궁금한 점이 있다면 댓글을 남겨주시길 바랍니다~

728x90
반응형