Intern/Project

[Intern] AWS CLI 설정 / Serverless 배포 / 윈도우 배포 에러 문제

dbfl9911 2024. 12. 2. 20:29
반응형

근무 내용

  • 팀 온보딩 및 주간 공유 회의 참석
  • aws 설정 및 interchain explorer 배포

근무 결과

1. AWS CLI 설정 및 역할 Assume 작업

  • 목표: AWS CLI를 이용해 역할(Role)을 Assume하고, 인증 정보를 사용해 AWS 자원에 접근 가능하도록 설정.
  • 조건:
    • IAM 사용자를 생성하여 AWS CLI에 설정.
    • 역할(Role)을 Assume하여 MFA 인증 기반으로 접근 권한을 획득.
    • Serverless Framework와 연동.

2. 환경 변수 설정 및 AWS CLI 사용

  • 기본 환경 구성:
    • Access Key와 Secret Key 설정:
      • ~/.aws/credentials 파일에 Access Key와 Secret Key 추가
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
  • 프로필 기반 역할 구성:
    • ~/.aws/config 파일에 역할 기반 설정 추가
[profile role-name]
region = ap-northeast-2
role_arn = arn:aws:iam::ROLE_ID:role/ROLE_NAME
source_profile = default
mfa_serial = arn:aws:iam::ACCOUNT_ID:mfa/USER_NAME
  • 역할 Assume 작업:
    • 역할 기반으로 CLI 명령 실행
aws sts get-caller-identity --profile role-name

3. jq 설치 및 JSON 데이터 처리

  • 목표: IAM 역할 Assume 시 생성되는 캐시 파일에서 Access Key와 Session Token을 추출.
  • 설치:
    • Windows 환경에서 jq 설치:
      • jq GitHub 릴리스 페이지에서 Windows용 jq-win64.exe 다운로드.
      • jq-win64.exe를 C:\\Windows\\System32에 복사하여 실행 가능하게 설정.
      • 설치 확인:
jq --version
  • JSON 데이터 추출:
    • 캐시에서 Access Key, Secret Key, Session Token 추출
FILE_NAME=$(grep -rl 'AccessKeyId' .)
export AWS_ACCESS_KEY_ID=$(jq -r '.Credentials.AccessKeyId' < "$FILE_NAME")
export AWS_SECRET_ACCESS_KEY=$(jq -r '.Credentials.SecretAccessKey' < "$FILE_NAME")
export AWS_SESSION_TOKEN=$(jq -r '.Credentials.SessionToken' < "$FILE_NAME")

4. Serverless Framework 설정 및 로그인

  • 목표: AWS Lambda 배포를 위해 Serverless Framework를 설정하고 로그인.
  • 설치:
    • Node.js 설치 후 npm으로 Serverless Framework 설치
npm install -g serverless
  • 로그인:
    • 브라우저 기반 로그인
serverless login

5. 프로젝트 배포

윈도우 환경에서 aws 배포 작업을 하려고 하다보니, 아래 배포 명령 후 결과에서 사진과 같은 에러가 떠서 해결해야 한다.

serverless deploy

반응형