본문 바로가기

INFRA246

Github Action과 AWS CodeDeploy를 활용한 CI/CD 1. 개요 1) 목적 개발과 운영을 결합한 형태인 데브옵스라는 문화가 IT 업계의 트렌드로 자리잡은지는 오래되었지만 여전히 많은 조직에서는 개발과 운영이 분리되어 있습니다. 작은 기업의 경우 실제 서비스와 관련된 애플리케이션 개발에 투자를 집중하다 보니 상대적으로 운영은 개발 이후의 부속 작업으로 여겨지는 경우가 많습니다. 상황이 이렇다 보니 개발자들은 인프라에 대한 이해가 부족한 상태에서 애플리케이션을 배포하게 됩니다. 개발 환경과 운영 환경의 차이, 트래픽 증가 등 예상하기 힘든 이벤트들로 인해 장애가 발생할 확률은 높아질 수밖에 없겠죠. 또한 출시 후 일부 기능 변경이 필요할 때도 수정한 코드를 배포하는 과정에서 서비스 중단이 발생할 수도 있습니다. 베스핀글로벌은 운영의 어려움을 쉽게 해결할 수 있.. 2022. 12. 2.
terraform import 알아보기 #2 ABTCEFG♪ 안녕하세요, 여러분! BTC_뚜벅이입니다. 지난 시간에 이어 terraform import를 사용해서 resource를 가져오는 방법에 대해 알아볼텐데요. 먼저 지난 시간에 생성된 terraform.tfstate 파일에 import 할 때 생기는 구조에 대해 알아볼게요. 1. terraform.tfstate 해석하기 여기엔 aws_vpc, aws_security_group, aws_security_group_rule 2개가 저장이 되어 있어요. 예시로 aws_vpc.import_vpc 리소스를 import했을 때 저장된 값에 대해 살펴볼게요. 테라폼 코드와 달리 json형태로 기록되어 있어요. 먼저 mode입니다. "mode" : "managed"는 리소스를 생성한다는 의미에요. 만약 r.. 2022. 12. 1.
terraform import 알아보기 #1 ABTCEFG♪ 안녕하세요, 여러분! BTC_뚜벅이입니다. 지난 시간에 data 구문에 대해 알아보았는데요. 이번 시간과 다음 시간은 terraform import에 대해 알아보도록 할게요! 이번 시간은 terraform import를 하는 방법에 대해 알아보려고 해요. 1. 환경구성 위처럼 provider "aws"를 사용해주고 aws configure에 등록된 profile을 여기에 넣습니다. 그 후 terraform init을 통해 환경을 구성합니다. 2. 가져올 리소스 특정 vpc와 연결된 sg를 가져올거에요. 여기 리소스에는 TCP, port : 20000, 0.0.0.0/0의 inbound rule 하나와 All traffic의 0.0.0.0/0 outbound rule이 연결되어 있습니다. .. 2022. 11. 30.
Terraform 리소스의 개념 이해 - GCP 6편 안녕하세요! 하씨가문의 영광입니다! 이번에는 firewall와 image에 대해서 다뤄보도록 하겠습니다:) ▶ 목차 google_compute_firewall google_compute_image 1. google_compute_firewall resource "google_compute_firewall" "default" { name = "test-firewall" network = google_compute_network.default.name allow { protocol = "icmp" } allow { protocol = "tcp" ports = ["80", "8080", "1000-2000"] } source_tags = ["web"] } 필수 설명 옵션 설명 name 리소스의 이름입니다. a.. 2022. 11. 29.
Terraform 리소스의 개념 이해 - GCP 4편 안녕하세요! 하씨가문의 영광입니다! 지난번까지 Terraform GCP 3편까지 다뤄보았는데요! 이번에는 autoscaler와 backend_service에 대해서 다뤄보도록 하겠습니다:) Don't have a good day, Have a great day! ▶ 목차 google_compute_autoscaler google_compute_backend_service 1. google_compute_autoscaler resource "google_compute_autoscaler" "default" { provider = google-beta name = "my-autoscaler" zone = "us-central1-f" target = google_compute_instance_group_man.. 2022. 11. 29.
[k8s] ExternalName ExternalName이란? cluster 안에서 외부에 접속 시 사용할 도메인을 등록해서 사용 cluster 도메인이 실제 외부 도메인으로 치환되어 동작 definition apiVersion: v1 kind: Service metadata: name: externalname-svc spec: type: ExternalName externalName: google.com [ Hands - on] ExternalName yaml 파일 생성 및 실행 vi external-name.yaml apiVersion: v1 kind: Service metadata: name: externalname-svc spec: type: ExternalName externalName: google.com kubectl cre.. 2022. 11. 28.
[K8s] LoadBalancer (AKS에서 진행) LoadBalancer란? Public cloud (AWS,Azure, GCP 등)에서 운영 가능 LoadBalancer를 자동으로 구성 요청 NodePort를 예약 후 해당 nodeport로 외부 접근 허용 definition apiVersion: v1 kind: Service metadata: name: loadbalancer-service spec: type: LoadBalancer selector: app: webui ports: - protocol: TCP port: 80 targetPort: 80 [ Hands - on ] LoadBalancer yaml 파일 생성 및 실행 vi loadbalancer-nginx.yaml apiVersion: v1 kind: Service metadata: n.. 2022. 11. 21.
[k8s] NodePort NodePort란? 모든 node를 대상으로 외부 접속 가능한 port를 예약 Default NodePort 범위 : 30000 - 32767 ClusterIP를 생성 후 NodePort를 예약 definition apiVersion: v1 kind: Service metadata: name: nodeport-service spec: type: NodePort clusterIP: 10.100.100.200 # 생략 시 random 생성 selector: app: webui ports: - protocol: TCP port: 80 targetPort: 80 nodePort: 30200 # 생략 시 random 생성 [ Hands - on ] Deployment를 통해서 pod 생성 apiVersion: a.. 2022. 11. 15.