✅ 오늘 배운 것
발등에 불이 떨어진 이슈가 있다. 바로 고도화에 당첨되지 않아서, 11월 29일날 소마 AWS 계정 서버 인프라가 모두 닫힌다는 것이다. 남은 시간은 2일인데, 이 안에 기존 서버 세팅과 똑같이 옮겨야 한다. 그런데 이런 작업은 처음 해 봐서, 어떻게 해야 할지 감이 오지 않았다. 우선은 GPT로 워밍업을 해 보았다.
녀석은 멘토링에서 몇 번 들어본 IaC(Infrastructure as Code)를 추천해 주었다. 인프라를 하나하나 설정하고 기록하는 것은 매우 번거로울 수 있으니 IaC 도구를 통해서 AWS 설정 정보를 저장해 두고, 이걸 다시 내 기존 계정에서 사용하라는 거였다. 오케이.
우선은 terraform을 설치하고, 'terraform init'을 통해 관리를 시작하라고 했다. git과 비슷한데 인프라를 관리하는 버전 관리 시스템 정도로 일단은 이해했다. Terraform 홈페이지의 Download 페이지에서 쉽게 다운로드 받을 수 있었다. homebrew 다운로드도 있고 binary 다운로드도 가능했는데 나는 좀 더 간단해 보이는 homebrew 다운로드 방법을 선택했다.
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
버전 명령어를 실행시켜서 버전이 잘 나오는지를 확인해보자. 잘 설치되었다.
이제 git처럼 특정 디렉토리에서 terraform을 초기화 시켜주고, 파일을 작성해보자. (아직 원리에 대해서 100% 이해하진 못했다. 그냥 이런 게 있구나 싶다.) 디렉토리를 만들어주고 명령어를 실행해 주었다.
terraform init
이제 .tf 확장자를 가진 terraform 파일을 만들어서 작업을 시작하면 된다. vscode로 디렉토리를 열어보자. 그런데 .tf 확장자를 가진 파일을 만들고 GPT의 예제 코드를 따라하려는 찰나 의문이 생겼다. 나는 아직 내 AWS 계정에 관련된 어떠한 정보도 제공하지 않았고 예제 코드에서도 관련된 부분이 없는데, 어떻게 특정 AWS 서비스의 정보를 가져오나 싶어 의아했다.
알고보니 누락된 부분이 있었다. 해당 작업 상황에서는 우선 aws cli가 설치되었다는 것을 가정으로 하는데, 나는 aws 명령어를 터미널에서 인식할 수 있어서 이 과정은 패스했다.
GPT 피셜, aws configure 명령어로 aws 인증 프로필을 생성한 뒤, 해당 프로필 정보를 terraform 파일에 집어넣으면 된다고 했다. 그렇다면 aws cli에서 입력한 정보를 terraform 파일에서 인식할 수 있는 건가?
알고보니 aws cli에서 입력한 정보는, aws 프로바이더가 자동으로 인식할 수 있어서 terraform에서도 가져와서 사용할 수 있다고 했다. aws 프로바이더가 terraform과 관련 있는 장치냐고 묻자 그렇다고 했다. aws 프로바이더는 terraform에서 aws와 같은 클라우드 서비스를 관리하기 위한 플러그인이라고 한다.
✅ 궁금한 점
1. plugin이 정확히 뭘까?
plugin은 소프트웨어의 코어를 바꾸지 않고도 소프트웨어에 새로운 기능을 추가해 줄 수 있는 구성요소라고 한다.
'개발 일기장 > SWM Onestep' 카테고리의 다른 글
20241129 TIL: terraform으로 IaC를 통해 AWS 설정 복사하기 [보류] (1) | 2024.11.30 |
---|---|
20241128 TIL: terraform으로 IaC를 통해 AWS 설정 복사하기 [진행중] (1) | 2024.11.28 |
20241110 TIL: React Native에서 UI Kitten dependency 최대한 제거하면서 디자인 붙이기 (1) | 2024.11.12 |
20241102 TIL: 드디어 에뮬레이터 실행 관련 이슈 청산하고 애플로그인 마무리하기 [진행중] (2) | 2024.11.02 |
20241029 TIL: 갑자기 막힌 ios emulator expo prebuild 에러 해결하기 [진행중] (1) | 2024.10.31 |