봄날은 갔다. 이제 그 정신으로 공부하자

node.js로 웹서비스 만들기 (20. Cloud Storage 버킷 만들기부터 비공개키 key 다운로드까지) 본문

학습

node.js로 웹서비스 만들기 (20. Cloud Storage 버킷 만들기부터 비공개키 key 다운로드까지)

길재의 그 정신으로 공부하자 2023. 8. 21. 11:11

개발하다보니 이미지 관리(업로드 & 다운로드)하는 기능이 필요해졌습니다.

VM 인스턴스에서 저장 및 관리를 할까 생각했는데...

그렇게 개발하면 VM 인스턴스가 웹 서비스 뿐만 아니라 파일 관리까지 맡게 되어 VM입장에서는 불필요한 트래픽과 저장 용량 등의 이슈가 발생할 우려가 있고 이런한 이슈를 VM에서 대응하기 보다는 처음부터 파일 관리를 위해 GCP에서 지원하는 Cloud Storage를 사용하는 것이 나을 듯하여 이미지 관리하는 기능에 GCP Cloud Storage를 사용하기로 하였고 이번 글에서는 그 과정을 기록하였습니다.

 

이번 글에서 Cloud Storage는 아래와 같이 4단계로 나누어 기록합니다.

  1. Cloud Storage 버킷 만들기
  2. 버킷 외부에서 접근할 수 있도록 설정하기
  3. 버킷에 접근 할 수 있는 서비스 계정 만들기
  4. 서비스 계정의 key 파일 생성하기
  5. 웹 서비스에 Cloud Storage 적용하기 (이건 다음 글에서 자세히 설명)

 

1. Cloud Storage 버킷 만들기

좌측 상단 햄버거 메뉴 클릭 > “Cloud Storage” 클릭 > “버킷” 클릭

 

상단 “만들기” 버튼 클릭

 

버킷 정보 입력 아래 정보 입력 후 “만들기” 버튼 선택

  - 버킷 이름: 

  - 데이터 저장 위치: 단일 리전 & 서울: 

  - 데이터 스토리지 클래스: Autoclass

  - 객체 엑세스 제어 방식: 공개 엑세스, 균일한 엑세스 제어

  - 객체 데이터 보호 방법: 없음.

 

아래와 같이 버킷 생성이 완료 됩니다.

 

 

2. 버킷 외부에서 접근할 수 있도록 설정하기

버킷을 만들었습니다. 이제 버킷을 외부에서 접근할 수 있도록 설정해야 합니다.

버킷 화면으로 돌아가서 방금 전 선택한 버킷의 햄버거 메뉴의 “엑세스 수정”을 클릭합니다.

 

“엑세스 제어”에서 “세분화된 권한으로 전환하기” 버튼 클릭합니다.

 

엑세스 제어 수정 팝업에서 세분화된 엑세스 제어 선택하고 “저장”버튼 클릭합니다.

 

“주 구성원 추가” 버튼 클릭합니다.

 

업로드된 파일에 다수의 사용자들이 접근 가능해야 하므로 아래와 같이 정보 선택하고 “저장” 버튼 클릭합니다.

  - 주 구성원 추가: allUsers

  - 역할 지정: 저장소 개체 뷰어

 

3. 버킷에 접근 할 수 있는 서비스 계정 만들기

내가 만드는 웹서비스에서 버킷에 접근할 수 있도록 사용자 인증 정보 화면으로 이동해 Cloud Storage에 접근 할 수 있게 하는 키를 발급 받는 작업을 해야 합니다.

 

좌측 상단 햄버거 메뉴 클릭 > “API 및 서비스” 클릭 > “사용자 인증 정보” 클릭합니다.

 

상단 “사용자 인증 정보 만들기” 버튼 클릭 > “서비스 계정” 클릭합니다.

 

서비스 계정 세부 정보 아래와 같이 입력하고 “완료” 버튼 클릭합니다.

 

4. 서비스 계정의 key 파일 생성하기

서비스 계정정보가 생성 완료되면 해당 계정 클릭합니다.

 

계정 세부 정보에서 “키탭” 클릭 후 하단의 “키 추가” 버튼 클릭 후 “새키 만들기” 클릭합니다.

 

비공개 키 만들기 팝업에서 키유형을 json 선택하고 만들기 버튼을 클릭해 json 파일 다운로드합니다.

 

* 주의사항: 

다운로드 받은 비공개 키는 비밀 키를 담고 있으므로 .gitignore 추가해 gitbub 올라가지 않도록 하는 것이 좋습니다.

Comments