# GCP

456개의 포스트
post-thumbnail

프로젝트 ymd - oauth 개발 (google)

google-oauth를 통해 소셜로그인이 가능하도록 프로젝트 로그인을 추가하려고 한다. 프로젝트의 Oauth 전략 현재 프로젝트의 Oauth전략이다. oauth는 accessToken과 refreshToken에 대한 정책과 만료기간이 다르니 해당 공식문서를 꼭 확인해야한다. accessToken관련 정책 공식문서 refreshToken관련 정책 공식문서 여기서 구글에서 refreshToken은 첫번째 승인시에만 반환된다고 한다.

2일 전
·
0개의 댓글
·

[SpringBoot] M1 Mac GCP 인스턴스 ssh 접속방법

GCP 을 사용하여 가상 머신(VM) 인스턴스를 생성하였고, 이 가상 머신은 클라우드 환경에서 실행되는 가상 서버로, 원격으로 액세스 하여 여러 종류의 애플리케이션 및 서비스를 호스팅할 수 있다. >VM 인스턴스에는 다양한 운영체제와 소프트웨어를 설치하고 실행할 수 있으며, 필자는 위 생성된 VM 인스턴스를 통하여 데이터베이스 서버를 구축하였다, 이런 일련의 서버 생성 과정을 거친 후 GCP VM 인스턴스에 SSH 접속 하는 방법을 알아보겠다. SSH 키 생성 -t 옵션을 사용하여 key 생성 type 을 rsa 암호화 방식으로 설정하였고, -f 옵션을 사용하여 생성할키 파일의 이름을 gcp-key 로 설정하였다. 또한 -C 옵션으로 사용자 이름을 email 주소를 적어주었다. 위 명령어를

3일 전
·
0개의 댓글
·
post-thumbnail

Flask & Fluentd & Big Query & Looker

이 글은 간단하게 빅쿼리 유스케이스를 경험하기 위한 실습 및 설계이다. 흐름 Flaks와 Fluentd를 통해 Bigquery 내부에 있는 테이블에 데이터를 로드시킨다. 그 뒤에 Bigquery 내부에 있는 Customer query를 적용시킨 데이터를 Looker를 통해 시각화 하여 분석한다. Code App.py fluentd.conf Bigqueyr Schema 위의 코드를 보면 fluend의 역할을 가늠해볼 수 있다. API에 따라서 어떤 곳에 데이터를 로드시킬 지 정할 수 있다. 그리고 빅쿼리 내부 구조 또한 가늠해 볼 수 있는데, 빅쿼리 내부에는 데이터세트와 테이블이 정의되어 있다. 그리고 특이한 점은 테이블의 스키마가 상당히 단순하다는 것이다.

6일 전
·
0개의 댓글
·

ChatGPT vs PaLM2 ( Google Vertex AI ) 가격 비교

현재 공개 되어 있는 LLM들중에서 클라우드 형태로 서비스 하는 곳은 크게 2군데. 하나는 ChatGPT로 알려져 있는 OpenAI ( 혹은 Azure OpenAI ). 또 하나는 Google의 Vertex AI - Palm2. 성능 비교는 이 문서의 목적이 아니고, 단순한 가격 비교. 공식 홈페이지에는 각각 1천토큰 / 1천글자당으로 되어 있으나, 소수점이하로 너무 길어서 둘다 1백만토큰/ 1백만글자로 변환 했음. ChatGPT 가격 ( Azure OpenAI 동일 ) : 1백만 토큰당 | Model | Input | Output | |------------- |------- |-------- | | GPT-3.5 | $1.5 | $2 | | GPT-3.5 16k | $3 | $4 | | GPT-4 | $30 | $60 | | GPT-4 32k | $60 | $120

7일 전
·
0개의 댓글
·
post-thumbnail

GKE 에 SSH 접속하기

✏️ 연결이 안되는 경우 GKE 를 좀 더 디테일하게 사용하기 위해서 VM 인스턴스를 사용해 연결하려고 했지만 아래와 같은 오류가 발생했다. 원인을 찾아보니 VM 인스턴스가 접근할 수 있는 GCP 의 다양한 API 가 있는데, GKE 에 접근하기 위한 API 호출 권한이 없기 때문이라고 한다. ✏️ VM 인스턴스 생성 📍 API 권한 추가 이미 생성된 VM 인스턴스를 수정하는 것은 복잡하다고 해서 인스턴스를 새롭게 생성했다. ID 및 API 액세스 → 액세스 범위 → 각 API 에 액세스 설정 선택 Cloud Platform → 사용 설정됨 선택 ![](https://velog.velcdn.com/images/shdrnrhd113/post

2023년 9월 14일
·
0개의 댓글
·

GKE 시작하기

✏️ 결제 계정 연동 먼저 결제 메뉴에서 결제 계정을 생성해야 시작할 수 있다. ✏️ Kubernetes Engin 시작하기 📍 클러스터 생성 Kubernetes Engin → 클러스터 → 사용 → 결제 사용 설정 → 생성한 결제 계정 선택 Kubernetes 클러스터 → 만들기 → 시작하기 이름 입력 리전 : asia-northeast3 나머지는 기본값으로 만들기를 누르면 완료된다. 📍 Deployment 와 Service 생성하기 작업 부하 → 배포 → 컨테이너 → 새 컨테이너 → 기존 이미지 이미지 경로에 Docker hub 에 업로드한 이미지 경로를 입력 환경변수 추가후 계속 구성 배포이름과 네임스페이스 작성 라벨 작성후 계속 노출 Service 까지 생성할거면 새 서비스로 배포 노출 선택 포트와 서비스 유형 선택

2023년 9월 14일
·
0개의 댓글
·
post-thumbnail

[GDSC] Google Cloud Platform 사용해보기

Google Cloud Platform https://console.cloud.google.com/ > 90일간 300$의 금액으로 무료 이용이 가능합니다. 카드 등록을 해야 진행이 가능! 인스턴스가 가동되고 있지 않으면 비용이 발생하지 않고 유료 계정으로 직접 전환해야 비용이 청구! (무료 평가판 종료 후 자동 청구 되지 않음, 자동가입을 방지하기 위함) 회원가입 후 결제 수단 등록 VM 인스턴스 생성 ![](https://velog.velcdn.com/images/minskim2/po

2023년 9월 13일
·
1개의 댓글
·
post-thumbnail

[CI/CD] Jenkins + Docker를 이용한 GCP 환경 Springboot 애플리케이션 배포 자동화

들어가며 새로운 프로젝트를 진행하며 서버 배포 자동화를 위해 Jenkins를 도입하기로 결정했습니다. 구글링하며 시도하면 간단할 줄 알았지만, 정말 고생을 많이 했습니다 ㅠㅠ,, 몇 날 며칠을 밤을 새우며 결국 완성해냈고, 그 과정을 공유하고자 합니다! 다른 분들은 부디 편히 완성하시길 바라며, 들어가보겠습니다 :) 왜 Jenkins를 사용했을까? 이전 다수의 프로젝트 서버 배포는 로컬에서 개발한 springboot 프로젝트를 수동으로 빌드하는 방식을 사용했었습니다. 따라서, 프로젝트에서 수정사항이 생길 때마다 매번 재빌드해 배포해야하는 번거로움이 있었습니다. 이는 정말 불편하게 느껴집니다. 따라서, 배포 자동화에 관심이 생겨 공부를 진행하다 CI/CD 를 접하게 되었고, 이번 프로젝트에 적용하기로 결정했습니다. 사실 한 번 써보고 싶었던게 제일 클지도... 프로젝트 구조 저희 프로젝트의 서버 아키텍처는 다음과 같이 배포 자동화 시스템을 구축했습니다.

2023년 9월 11일
·
0개의 댓글
·

[8월 미니프로젝트] Spark 사용해보기 - 2

쇼핑몰 데이터 EDA > 캐글에서 가지고 온 쇼핑몰 로그 데이터(8,9월 자료)를 병합하여 탐색한 내용 데이터 합치기 스파크 세션을 띄우고 스키마를 자동으로 설정하게 하고, 헤더가 있는 자료라는 옵션을 주어 불러왔다. 이후 union을 이용하여 합쳤다. union - 데이터를 합치고 중복된 행을 제거 unionAll - 데이터를 합치고 중복된 행을 유지 printSchema를 활용하여 스키마 구조 탐색 category_code 전처리 csv파일에 category_code 칼럼이 electronics.audio.headphone과 같은 형식으로 .을 기준으로 대, 중, 소분류가 되어있었다. 이를 나눠서 탐색하고자 .을 기준으로 나누고 새로

2023년 9월 11일
·
0개의 댓글
·
post-thumbnail

30살 비전공자 JAVA 국비에서 클라우드 엔지니어 까지

앞서 안녕하세요 클라우드 엔지니어 2년차가 된 따끈따끈한 하하씨입니다. 글을 적고보니 그냥 일기 같네요. 작문 능력이 처참하여 봐주기 힘들지만 점차 좋은글을 쓰기위해 시작해보려 합니다. 시작은.... 기계공학를 전공한 나는 전공엔 딱히 흥미가 없었다. 전공과 친해지지 못한 나의 변명 이겠지만 평생 이분야를 할수있을까 생각하니 도저히 못할것 같았다. 아니 하기 싫었다 우유부단한 나는 결국 다닌게 아까워서 2019년 간신히 5학년 1학기를 다니고서 졸업장을 받았다. 적당한 아르바이트나 하면서 최소 수입과 최소 소비를 그 경계 어딘가를 유지하던 나는 제발 국비학원에서 개발 같은(?)거라도 배워보라는 친한 친구의 말에 덜컥 2021년에 JAVA 개발과정 국비학원을 등록했다. 쫄봉이던 나는 국비학원에 입과 하기전 정말 많은 정보를 찾아 보았다. 유투브, 블로그 닥치지 않고 꾸역꾸역 컨텐츠들을 소비했다. 잡지식을 습득하는걸 좋아한다 특히 인프런의 한정수님의

2023년 9월 4일
·
0개의 댓글
·
post-thumbnail

스프링부트에서 Oracle Cloud ATP 사용 & CI/CD (github actions, GAE)

0. 문제점 기존 사용중이던 GCP Cloud SQL의 비용이 너무 비싸서(하루에 약 6,000원) Oracle Cloud ATP(Autonomous Transaction Processing)으로 이주하기로 하였습니다. 프리티어 기준 20GB까지 스토리지를 무료로 제공해주기 때문에 변경하지 않을 이유는 없었습니다. 문제는 기존에 사용하던 방식(호스트 주소&포트)과 달리 TNS 방식으로 연결해야 하며, 해당 과정에서 클라우드 전자지갑(Wallet)을 사용해야 하는데, 이를 CI/CD 파이프라인을 구축할 때 함께 고려해야 한다는 점이었습니다. 1. 전자 지갑 발급 & 스프링 프로젝트에 적용 > 기본적인 스프링부트 + GAE + github actions를 이용한 CI/CD는 여기를 참고해주세요. OCI ATP 설정 클라이언트 인증서(전자지갑, W

2023년 9월 3일
·
0개의 댓글
·
post-thumbnail

GCP에서 우분투 FTP 프로토콜 접속하기

토이 프로젝트에서 대용량 파일을 서버로 업로드하고 이를 활용하기 위해 FTP가 필요한 상황이 발생했습니다. FTP에 'guest' 계정으로 접속을 하여 'root'(최상단) 폴더까지의 접근을 막고, 오직 'guest' 폴더 내에서만 사용 할 수 있도록 만들어보겠습니다. 유저 생성 우분투에 유저를 생성합니다. 비밀번호를 입력하고, 나머지 설정은 넘어가도록 하겠습니다. 그럼 디렉토리에 home/guest가 생성됩니다. vsftpd 설치 > 리눅스 서버에서 가장 흔히 사용하는 FTP (File Transfer Protocol) 서버 프로그램 서버 관리와 설정이 간편하다는 장점과 보안 강화 등 많은 장점을 가지고 있다. vsftpd를 설치하기에 앞서 설치 가능한 패키지 리스트를 밑

2023년 8월 30일
·
0개의 댓글
·
post-thumbnail

AWS - GCP IPsec(VPN) 연결 방법

개요 AWS와 GCP를 IPsec(Site-to-Site) VPN 연결하려고 여러 글을 보며 시도했지만 옛날 글들을 보고 따라하는 바람에 터널 상태가 계속 DOWN이라 계속 실패를 했다. 언제부터인지는 모르겠지만 BGP를 이용하여 VPN 연결하는게 기본이 되었나보다. 컨셉 AWS와 GCP의 인스턴스(리눅스 서버) 간 사설 통신을 통한 SSH 연결 해당 서버는 설정한 IP 외에는 접속 불가 준비 AWS와 GCP의 VPC 확인 > - AWS Private Subnet(AZ A): 10.0.128.0/25 > - GCP Private Subnet: 172.31.44.128/25 인스턴스 생성 > - AWS EC2 Instance(이하 EC2) 생성 (프리티어, Ubu

2023년 8월 28일
·
0개의 댓글
·
post-thumbnail

키바나 로그인 오류 해결

잘만 되던 키바나가 갑자기 로그인 에러를 일으켰다. 아무리 찾아보아도 답은 하나이다. 여유용량이 충분하지 않아서 발생한 에러이다. 1. 시도 (실패) kibua20님의 블로그를 보고 참고하여 진행했다. GCP에서 새 디스크 추가를 해준다. 100기가를 추가해주었다. ![](https://velog

2023년 8월 27일
·
0개의 댓글
·

빅쿼리 클러스터링

빅쿼리 테이블의 클러스터링에 관한 내용을 정리했습니다. 이슈 기존의 모든 테이블들은 날짜를 기준으로 파티셔닝 되있었지만 새로 만들 테이블은 파티셔닝을 적용하기가 어려운 상황이 생겼습니다. 회원 정보 테이블에서 '등급이 GOLD 인 유저를 추출' 이라고 하면 정수 범위나 시간 단위로 파티셔닝을 적용하기가 어렵습니다. 그렇다고 전체 테이블을 스캔하면 어마어마한 비용이 발생할테니 일단 String 값을 숫자로 변환해 파티셔닝을 적용해보았습니다. 테이블에 partitionIndex 컬럼을 추가했고 조회시 where 조건에 포함했습니다. 1G가 넘는 조회 비용이 110M

2023년 8월 25일
·
0개의 댓글
·
post-thumbnail

GCP 고정 ip 설정하기

1. 고정ip설정이유 프로젝트를 하면서 VM마다 역할을 따로 설정하며, 따라서 이 VM간 송수신을 해야한다. 이때 고정ip가 아니라 유동ip로 설정이 되어있다면 VM이 종료되는 순간 세팅을 다시 다 해줘야하기에.. 고정 ip 설정을 해놓는다. 2. 고정ip 설정 상단에서 VPC를 검색한다. 이후 왼쪽에서 ip 주소를 선택해준다. 고정ip를 설정할 vm을 찾고 왼족 점 세개를 눌러준다. 고정ip로 승급을 해준다. 이름과 설명을 추가해준다. 설정 끝 |![](https://velog.velcdn.com/images

2023년 8월 20일
·
0개의 댓글
·
post-thumbnail

Generative AI Studio 사용해보기

Vertex AI Google Cloud는 AI 및 머신러닝 배경이 있든 없든 프로젝트에서 Generative AI를 사용하는 데 도움이 되는 몇 가지 사용하기 쉬운 도구들을 제공해준다. 그 중 Vertex AI는 머신러닝 모델을 빌드, 배포, 관리하는 데 도움되는 Google Cloud의 엔드 투 엔드 ML개발 플랫폼이다. Vertex AI의 Generative AI Studio를 사용하여 코드가 없거나 Low-code로 Generative AI 모델의 프로토타입을 빠르게 만들 수 있다. Generative AI Studio Language : 작업을 수행하고 언어 모델을 조정하기 위한 프롬프트 디자인 가능 Vision : 프롬프트를 기반으로 이미지를 생성하고 이미지를

2023년 8월 18일
·
2개의 댓글
·
post-thumbnail

GKE 생성 방법

쿠버네티스 생성 > 🫡쿠버네티스 환경을 만드는 방법은 여러가지가 있습니다. 직접 가상머신을 생성해서 띄우는 방법, cloud의 가상머신을 이용하는 방법, 그리고 플랫폼에서 제공하는 쿠버네티스를 이용하는 방법등이 있습니다. gke, aks, eks등 다양한 클라우드 플랫폼에서 쿠버네티스를 제공하고 있으며 이를 이용한다면 정말 쉽게 쿠버네티스 환경을 생성할 수 있습니다. 😁대부분의 플랫폼의 경우 생성하는 방법이 비슷하므로 여기서는 gcp를 활용하여 만드는 방법을 알아보겠습니다. 1. 클러스터 생성 > 😎먼저 시작하기 위해 Kubernetes Engine으로 이동하여 만들기를 눌러줍니다 이후 표준모드의 구성을 눌러줍니다. 2. 이름 설정 ![](https:

2023년 8월 17일
·
0개의 댓글
·

[GCP] Cloud SQL

Cloud SQL Cloud SQL은 GCP(Google Cloud Platform) 에서 제공하는 완전 관리형 관계형 데이터베이스 서비스다. 이 서비스를 사용하면 MySQL, PostgreSQL 및 SQL Server와 같은 관계형 데이터베이스를 클라우드에서 배포, 관리 및 확장할 수 있다. Cloud SQL은 데이터베이스 관리 작업을 최소화하고, 개발자들이 데이터베이스에 집중할 수 있도록 도와준다. Cloud SQL 특징 1. 완전 관리형 Cloud SQL은 데이터베이스 클러스터의 프로비저닝, 설정, 패치, 백업 및 복원과 같은 작업을 자동으로 처리를 해준다. 사용자는 데이터베이스 운영에 대한 복잡한 작업을 걱정하지 않고, 개발에 집중할 수 있다. 2. 다양한 데이터베이스 엔진 MySQL, **PostgreS

2023년 8월 17일
·
0개의 댓글
·

gcp vm만들기 (2)

vm 생성 >🫠저번에 만든 VPC를 이용하여 실제 vm을 생성해보겠습니다. 머신 구성 >🧐먼저 Compute Engine의 VM인스턴스로 이동하여 생성하기를 눌러줍니다. >🫡이름과 리전의 경우 알맞게 설정해주시면 되는데 리전의 경우 vpc에서 설정한 것과 동일하게 해주시면 됩니다.(그림에는 라스베이거스이지만 저는 vpc를 서울로 하였기에 서울로 지정하겠습니다.) >머신의 경우 E2 micro의 경우 무료입니다. 만약 더 고사양의 머신이 필요하시다면 알맞게 설정해주시면 됩니다. 부팅 디스크 ![](ht

2023년 8월 16일
·
1개의 댓글
·