클라우드 (32) 썸네일형 리스트형 (18) GCP 사설 SSL 인증서 만료 확인 및 자동 교체 설정 (Slack) 사설 인증서 만료 알림을 Slack으로 한달 전에 알림을 받아보는 방식으로 구현해보았다. Slack 설정 Slack 가입 방법에 대해서는 따로 작성하지 않고 채널 추가 후 webhook 하는 방법만 작성하도록 한다. Webhook 설정 방법1. api.slack.com 접속 후 Your apps 클릭 2. Create New App 클릭 후 From scratch 버튼 클릭 3. App Name과 내 workspace 선택 후 Create App 클릭 4. 생성된 App (ssl-webhook) 클릭 후 Features - Incoming Webhooks 클릭 후 On으로 설정 후 하단에 생성된 Webhook URL 부분 확인 Cloud function 설정인증서 만료 한달 전 Slack으로 알람을.. (17) GCP GKE Ingress에 SSL 인증서 적용 (16)에서 생성한 SSL 인증서를 이용하여 GKE Ingress에 SSL 적용 방법에 대해 설명하려고 한다. 먼저 SSL 인증서를 GKE Secret으로 만들어야 인그레스 컨트롤러에서 사용이 가능하다. 추후에 설명할 ELK 사설 인증서 적용과정에서도 동일한 인증서 시크릿을 사용하게 된다. 먼저 ssl 인증서를 참조할 ssl 폴더 생성 후 인증서 파일을 넣어준 후 시크릿 파일에서 사용할 수 있도록 인증서 타입을 편집을 통해 변경해주었다. #인증서 타입 변경 cert.pem -> tls-cert.crt chain.pem -> ca.crt privkey.pem -> newkey.key SSL 인증서 쿠버네티스 시크릿 등록을 kubectl 명령어로 하게된다면 아래 형식으로 할 수 있다.kubectl creat.. (16) GCP DNS 등록 및 무료 SSL 인증서 발급 및 등록 GCP DNS 등록도 테라폼을 통해 관리하도록 하였다. 추후에 모듈화를 할지 고민 중이다. (15) GCP Cloud DNS 등록(https://fanic2022.tistory.com/65 ) 작업을 선행으로 진행해야 한다. 나는 아래 3개의 도메인을 등록했다. resource "google_dns_record_set" "jenkins-hrc0303-store" { name = "jenkins.hrc0303.store." type = "A" ttl = 300 managed_zone = google_dns_managed_zone.hrc0303-store.name rrdatas = ["34.64.227.240"]}resource "google_dns_re.. (15) GCP Cloud DNS 등록 GCP Cloud DNS 등록 방법에 대해 기술하도록 한다. 나는 가비아에서 도메인을 구입했다. (hrc0303.store) 가비아에서 구매한 도메인을 테라폼 명령어를 통해 영역을 생성해준다.resource "google_dns_managed_zone" "hrc0303-store" { name = "hrc0303-store" dns_name = "hrc0303.store." description = "An hrc0303.store DNS zone"} 생성된 영역을 들어가게되면 기본으로 NS,SOA 레코드가 생성되어 있는데 이중 NS 유형을 클릭하면 라우팅 데이터에 아래와 같이 4개의 데이터가 있다. 이 데이터를 가비아 도메인 페이지에서 네임서버 정보를 넣어준다. 반영은 1시간 .. (14) GCP VM 인스턴스 등록 GCP에서 VM 인스턴스를 테라폼 모듈로 관리하고 등록하는 방법을 설명하려고 한다. Jenkins를 VM 인스턴스를 등록한다고 가정하고 생성하였다. 1.vm_instance.tf 파일 정보부팅 디스크 및 인스턴스 설정에 대해 작성하고 있는데 추후에는 모듈화된 디스크로 적용해볼 생각이다.module "jenkins_instance" { source = "./modules/compute_instance" #공통 설정 zone = "asia-northeast3-a" project = "pjt-an3-dev-vm-2" #부팅 디스크 설정 boot_disk_name = "jenkins-disk" image = "rocky-linux-8-op.. (13) Cloud Run Terraform으로 Cloud Run을 생성하고 사용하는 방법에 대해 설명하도록 한다. #Cloud Run 서비스 정의#임시 수정 예정resource "google_cloud_run_service" "example_service" { name = "example-service" location = "asia-northeast3" # 서비스 지역 설정 project = "pjt-an3-dev-vm-2" template { spec { containers { image = "gcr.io/pjt-an3-dev-vm-2/my-teams-app-domain17@sha256:1c57711f8d4ffb899885855da27bd8d3805fb81a20301026ed22a.. (12) 임시 GCS Terraform으로 GCS를 생성하는 방법에 대해 설명하도록 한다. resource "google_storage_bucket" "function_bucket" { name = "function-bucket-hr" location = "ASIA" project = "pjt-an3-dev-vm-2" force_destroy = false}resource "google_storage_bucket_object" "archive_2" { name = "test/function.zip" bucket = google_storage_bucket.my_bucket.name source = "./hello_http/hello_http.zip"} google_storage_bucket : 버킷을 생성함go.. (11) API Key 추가 Terraform을 통해 API Key를 생성하고 서비스를 지정해주는 방법이다. resource "google_apikeys_key" "api_key" { display_name = "my-api-key" # API 키의 표시 이름 설정 (필수) name = "my-api-key" project = "pjt-an3-dev-vm-2" restrictions { api_targets { service = "admin.googleapis.com" # methods = ["GET*"] } api_targets { service = "cloudfunctions.googleapis.com" # methods = ["GET*"] } api_tar.. 이전 1 2 3 4 다음