본문 바로가기

DevOps29

[EC2] 실습 : 직접 만든 키페어 / 스크립트로 인스턴스 시작 EC2 인스턴스 실습 팁   실습 : 직접 만든 키페어를 사용한 인스턴스 생성로컬에서 키페어 만들기- 프라이빗키(개인키) 생성하기openssl genpkey -algorithm RSA \    -out my_private_key.pem \    -pkeyopt rsa_keygen_bits:2048- 퍼블릭 키 생성 openssl rsa -pubout \    -in my_private_key.pem \    -out my_public_key.pem - 개인키 권한 축소(안하면 쓰질 못함) chmod 400 my_private_key.pem키페어 등록하기- 퍼블릭 키 복사cat my_public_key.pem  BEGIN과 END사이 복사  * 파일이 아닌 텍스트로 등록하기 위함- EC2 > 키페어 > 작.. 2024. 11. 20.
[VPC] 라우팅 테이블 작성 방법 라우팅 테이블VPC의 네트워크를 제어하는데 주요한 기능을 하는 라우팅 테이블에 대해 톺아본다.라우팅 테이블(RT)데이터를 통신하기 위한 경로들을 모아놓은 표- 네트워크 패킷이 목적지에 도달할 수 있도록 경로(경유지)를 지정하는 데이터베이스- 각 라우트(route)는 네트워크 목적지(IP주소 또는 네트워크주소)가 다음홉으로 어디로 가야할지 지정한다. 서브넷 레벨에서 동작- 연결된 서브넷에서 발생하는 네트워크 트래픽을 제어함- vpc 생성시 기본적으로 기본 RT(Main RT)가 생성되나, vpc레벨이 아닌 서브넷과 연결되어야지 기능을 하게 되는 것  (vpc는 하나 이상의 서브넷이 존재한다)- 서브넷은 하나의 RT에만 연결될 수 있다aws 특이사항- 한국어 사이트는 목적지가 대상으로 잘못 번역되어있음(대상.. 2024. 11. 19.
[VPC] 세밀하게 제어하는 리소스간 통신 규칙 VPCAWS에서 제공하는 가상의 프라이빗 클라우드을 사용해본다.포스팅 순서연관 CS - IPv4 CIDR - Bastion Host / Jump SeverVPC(Virtual Private Cloud)VPC의 주요 구성 요소실습 : VPC 시작 / 서브넷 생성실습 : 인터넷 게이트웨이 사용하기실습 : NAT 게이트웨이 사용하기실습 : 보안 - NACL 사용실습 : 엔드포인트를 사용한 S3 연결 연관 CSIPv4 CIDR- 네트워크의 주소를 표현하는 방법- IPv4 표기 옆에 슬래시(/)와 함께 네트워크 주소의 유효 비트 수(서브넷 마스크)를 나타낸다.- ex) 192.168.1.0/24는 네트워크 부분이 192.168.1.x까지이고 192.168.1.0 ~ 192.168.1.255 까지의 호스트를 가질 .. 2024. 11. 19.
[CloudHSM] 전용 하드웨어 장치를 제공받아 키 관리하기 CloudHSM사용자가 직접 관리하는 HSM 서비스에 대해 톺아본다. HSM(Hardware Security Module)암호화 키를 생성/저장하는 전용  하드웨어- 애플리케이션에서 암호화 키가 필요할 경우, 애플리케이션 측에서 다루는게 아니라, HSM이라는 전용 장치에서 암호화 키를 생성 및 관리- HSM에 들어 있는 정보(키)는 외부에 복사 및 재생성이 되지 않는다.고도의 보안이 필요한 조직/서비스에서 널리 사용- 금융 기관, 정부 기관, 보안 업계 등CloudHSM- AWS에서 전용 HSM 하드웨어를 제공받아 사용자가 직접 암호화 키를 관리한다.- 키의 생성, 저장, 삭제 등의 라이프사이클 관리를 사용자가 직접 수행- 더 높은 수준의 커스터마이징과 보안 제어 가능.  (대칭키만 가능한 KSM에 비해.. 2024. 11. 19.
[KMS] OpenSSL로 직접 키 구성요소 만들기 KMS with OpenSSL직접 키 구성요소를 만드는 과정을 진행해본다 외부 키 구성요소란?사용자가 직접 만든 키- AWS KMS에서 기본적으로 생성된 AWS 관리형 키 대신, 고객이 자체 생성한 키를 KMS에 업로드하여 사용할 수 있도록 해주는 기능사용자의 제어 하에 키 관리- 키의 보안과 관리에 대한 완전한 제어를 유지할 수 있다.- 특정 규제 요건이 충족되어야하는 경우 유리하다  OpenSSL오픈 소스 기반 암호화 라이브러리암호화 및 복호화- 대칭 키 암호화(예: AES)와 비대칭 키 암호화(예: RSA)를 지원- 데이터를 암호화하여 전송하거나 저장할 때 사용디지털 인증서 관리- X.509 인증서를 생성, 서명, 검증할 수 있다.- CSR(Certificate Signing Request) 생성 .. 2024. 11. 19.
[KMS] 암호키 서비스를 사용한 S3 암호화 KMSAWS에서 제공하는 Key Management Service에 대해 톺아본다.포스팅 순서연관 CS - 암호 관리 발전 과정 - 대칭키 / 비대칭키AWS KMS(Key Management Service)S3의 데이터 암호화 방식실습 : S3 객체 업로드시 SSE-KMS 암호화(CLI)실습 : S3 암호화 및 권한에 따른 접근 확인 (콘솔)실습 : 암호화 권한부여(CLI) 연관 CS암호 관리 발전 과정하드코딩 : 가장 원시적>> ap 서버저장 : 한곳에 모아 저장, 하지만 해킹시 탈취됨>> kms : 키를 관리해주는 서비스 탄생>> hsm : 전용하드웨어에 저장    가장 안전해서 금융, 정부기관들에서 사용대칭키 / 비대칭키- 대칭키 :  암호화하고 복호화하는 데 동일한 키를 사용  속도가 빨라 데이터.. 2024. 11. 19.
[CLI] AWS 리소스 접근방식 / 명령줄 사용 AWS CLI AWS 리소스 접근방법Management Console- AWS 웹 기반 GUI- 대시보드를 통해 상태와 통계 확인할 수 있음- 초보자나 테스트 환경에서 적합하다AWS CLI- 명령줄에서 AWS 서비스와 상호작용할 수 있는 도구- 스크립트로 자동화가 용이하여 CI/CD 등에서 활용된다AWS API- AWS가 제공하는 RESTful API를 사용하여 HTTP 요청으로 AWS 리소스를 관리- 언어독립적이다AWS SDK- Software Development Kit- 프로그래밍 언어용 라이브러리  (API 호출을 간소화한 방식)# AWS SDK인 boto3를 사용하여 S3객체를 업로드하는 예제import boto3s3 = boto3.client('s3')s3.upload_file('my_file.. 2024. 11. 15.
[Compose] 설정파일(yaml)로 컨테이너들 관리하기 Docker Compose 도커 컴포즈란?다수의 Docker 컨테이너를 관리하는 도구- 여러 개의 서비스(컨테이너)를 한 번에 실행하고, 이 서비스들이 어떻게 상호작용해야 하는지 설정할 수 있다.- 다수의 컨테이너를 가지는 어플리케이션을 통합적으로 관리하기 좋다설정 파일(YAML)로 관리한다- 설정파일은 디폴트가 'docker-compose.yaml'이다- 각 서비스의 이미지, 환경 변수, 포트, 볼륨 등을 설정할 수 있다.주요 개념1. 서비스    - 설정파일에 정의된 각 컨테이너     - services 하위 뎁스로 정의한다.2. 네트워크    - 각 서비스간의 통신을 위한 경로     - 설정하지 않아도 '프로젝트명_default'로 자동생성된다.설치관련- 도커 데스크탑 설치시 자동으로 설치됨- .. 2024. 7. 22.
[S3] 스토리지 서비스 : 보안적 측면에서 S3aws에서 제공하는 S3(Simple,Storage, Service) 서비스에 대해보안적 측면 중심으로 알아본다. 포스팅 순서S3란?유용한 명령어접근 권한 제어 종류실습 : ACL 적용(콘솔 / CLI)실습 : 버킷 정책 적용(콘솔)실습 : 임시 URL로 접근권한 제어하기 S3란?객체(Object) 저장 서비스- 파일을 객체 단위로 저장하며, 각 객체는 고유 키(Key)로 식별함- 물리적 디스크를 제공받는 것이 아닌 버킷(Bucket)단위의 논리적 컨테이너를 제공받는다.- 각 파일마다 엔트포인트를 제공하여 간단하게 접근이 가능하다빠르고, 안정적이며, 합리적인 비용- 지역시간 최소화를 위한 멀티파트 업로드를 지원- 99.999999999%(11개의 9)의 내구성을 제공하도록 설계- EC2의 스토리지를 .. 2024. 3. 1.
[EC2] 다양한 옵션 : 탄력적 IP, ELB EC2 : 다양한 옵션생성된 인스턴스에 적용할 수 있는 옵션들을 알아본다탄력적 IP(Elastic IP)탄력적 IP란?- 고정된 공용 IP 주소를 클라우드 인스턴스에 할당하여 인터넷과의 연결을 유지할 수 있게 하는 서비스- 서버가 재시작되거나 인스턴스가 교체되더라도 IP 주소가 변경되지 않도록 보장한다  >> Scale Up의 기본원칙은 현 인스턴스의 상태로 이미지를 만들고 해당 이미지로 더 좋은 인스턴스를 생성하는것  >> 인스턴스를 껐다 키는 과정에서 IP가 변화하지 않아야 함요금정책- 1개의 IP가 실행중인 인스턴스에 연결된 경우 : 무료- 2개 이상의 인스턴스와 연결되어있거나 연결되지 않은 IP가 있는경우 : 유료사용하기1. EC2 서비스 접속2. 네트워크 및 보안에서 [탄력적 IP] 선택3. 생.. 2024. 2. 2.
[CLI] 유용한 명령어들 다양한 명령어들 도커 명령어공식문서- https://docs.docker.com/reference/ - 왼쪽 메뉴에서 CLI Reference 선택>> 다양한 docker 명령어에 대한 설명을 볼 수 있다.특징- 권한거부될 시 앞에 'sudo'를 붙이면 된다- 컨테이너를 특정할때는 ID 또는 이름을 넣을 수 있다.  이때, ID는 앞 n글자만 입력해도 된다(n은 다른 ID와 구분되는 최소한의 길이)  유용한 명령어들로그확인docker logs 컨테이너명- 해당 컨테이너의 로그를 확인한다* 옵션 -tail n : 마지막 n개의 로그만 출력 -f : 실시간으로 생성되는 로그를 확인('ctrl + c'로 중단)파일복사docker cp 컨테이너명:파일경로 호스트경로- '파일경로'에는 컨테이너 내부의 경로를 파일.. 2024. 1. 21.
[Container] 도커 컨테이너 실습 / 포트포워딩 도커 컨테이너컨테이너를 생성하는데 필요한 개념들을 추가적으로 알아보고컨테이너 조작 실습을 진행해본다. 옵션 : 포트포워딩Container와 Host는 독립적인 실행환경이기 때문에 독립적인 port와 File System을 갖는다.* Host : 컨테이너가 실행중인 환경Host의 포트와 Container의 포트를 연결해야 외부로부터 요청을 받을 수 있다.>> docker run 명령어에서 포트포워딩을 지정한다 옵션 : 도커 데몬 마운트-v /var/run/docker.sock:/var/run/docker.soc- 호스트의 데몬을 컨테이너와 공유하는 옵션- 컨테이너 내부에서 외부의 다른 컨테이너를 관리하거나 새로운 컨테이너를 생성할 수 있음이유 : DinD를 피하기 위해- Docker-in-Docker : .. 2024. 1. 19.
[Volume] 도커 볼륨 / 생성 및 CLI 도커 볼륨컨테이너 생성의 주요 옵션인 도커 볼륨에 대해 알아본다. 도커 볼륨이란?컨테이너가 데이터를 저장하고 컨테이너간 데이터를 공유할 수 있도록 하는 컨테이너 외부 저장 공간* 볼륨 : 독립적인 데이터 저장 단위볼륨 필요성- 컨테이너는 호스트의 파일시스템이 아닌 격리된 임시 파일시스템을 사용함- 컨테이너를 삭제하면 내부에 저장된 데이터는 모두 사라짐- 도커 볼륨을 통해 호스트 파일시스템에 영구히 저장할 수 있음  도커 볼륨 종류익명 볼륨- 특정 이름없이 자동생성되는 볼륨- 컨테이너 삭제시 함께 삭제된다- 컨테이너 수명 동안에만 접근할 데이터를 저장할때 사용- 생성예시      docker run -d -v /app/data my_image이름있는 볼륨- 볼륨 생성 명령어를 사용하거나 이름을 지정한 경우.. 2023. 6. 26.
[Github-Action] CICD / 워크플로우 Github ActionCI/CD 도구 중 하나인 깃헙액션에 대해 톺아본다. Github Action 이란?CI/CD 플랫폼- 코드 변경 사항을 자동으로 테스트하고 빌드하며, 성공하면 배포까지 자동으로 진행할 수 있다.- 컨테이너 환경의 경우 CI기능만 사용하고 CD는 다른 전문 도구를 사용하는 경우가 많음  (배포전략, 쿠버네티스 환경 등의 이유로 깃옵스 기반 도구 사용)GitHub 기반- Pull Request, Commit, Merge 등과 같은 이벤트를 기반으로 동작시킬 수 있다.- 레포지토리 내부 또는 외부의 작업들을 인식할 수 있다.마켓플레이스- 기 구현된 커스텀 작업들(Action)을 마켓플레이스에서 가져다 쓸 수 있다.공식문서https://docs.github.com/ko/actions h.. 2023. 3. 24.
[IAM] 자격 증명 유형 / 정책을 통한 권한 제어 IAM IAM이란?AWS 리소스에 대한 액세스 제어 서비스- Identity and Access Management- AWS 계정에서 누가(사용자, 그룹, 서비스) 무엇을(AWS 리소스에 대한 작업) 할 수 있는지 결정- 특정 작업 단위까지 세세하게 권한을 제어할 수 있고 활동 로그를 통해 모니터링도 가능하다.- 보편적 서비스이며, 지역(Region)에 특정되지 않는다.루트 계정을 통해 IAM 계정 관리- 루트 계정(AWS에 가입하면서 생성되는, 결제 정보를 관리를 포함하는 최상위 권한 계정)으로 다양한 권한의 IAM 계정(유저)를 생성할 수 있다.- 루트계정은 보안리스크가 높기 때문에 관리자 역할의 iam 유저를 만들어 사용할것이 권장된다.- IAM 계정 id/pw 외에도 숫자로된 Account ID를.. 2023. 1. 10.
[프로바이더] TLS : 키페어/인증서 생성, TLS 프로토콜 프로바이더 TLS테라폼에서 TLS를 사용하게끔 하는 프로바이더 TLS에 대해 톺아본다. TLS란?데이터 보안을 위한 프로토콜- Transport Layer Security* 이 프로토콜은 아래 세가지 주요 요소를 달성한다.  1. 키페어 암호화 : 데이터를 암호화하여 전송 중에 도청이나 데이터 유출을 방지.  2. 인증 : 서버(그리고 필요하면 클라이언트)의 신원을 확인하여 신뢰할 수 있는 통신만 가능하도록 보장.  3. 데이터 무결성 : 데이터가 전송 중에 변경되거나 위조되지 않았음을 보장.다양한 프로토콜, 구현체에서 활용1. HTTPS를 구현   - HTTP가 TLS 위에서 동작하도록 하는 프로토콜2. 스프링부트, NginX 등의 프로그램   - 어플리케이션에서 간단하게 보안 프로토콜을 적용할 수 있.. 2023. 1. 10.
[HCL] 테라폼을 작성하는 언어 HCL테라폼을 작성하기 위한 언어인 HCL(HashiCorp Configuration Language)에 대해서 톺아본다. HCL이란?테라폼 도메인 특화 언어- 인프라 정의를 더 간단하고 명확하게 선언적 방식으로 표현할 수 있다- 기존의 구성언어의 단점을 개선함  YAML : 가독성은 좋으나 복잡한 논리 표현 부적합   JSON : 구조적이지만 파일이 길면 가독성 떨어짐튜링 완전한 언어이다- 조건문과 반복문을 표현할 수 있다- 임의의 메모리 사용이 가능하다  (변수에 값을 저장하고, 필요시 참조 및 수정이 가능함)# main.tf == HCL 사용한 경우resource "aws_instance" "example" { ami = "ami-12345678" instance_type = .. 2023. 1. 10.
[Image] buildx : 멀티 플랫폼 빌드 buildxDocker에서 제공하는 확장기능인 buildx에 대해서 톺아본다.   관련 CS 지식OS와 CPU 아키텍처- 운영체제는 추상화를 통해 애플리케이션을 하드웨어 세부사항과 무관하게 실행할 수 있게 함- But 커널 자체는 CPU 아키텍처에 종속- Docker는 기본 커널에 의존하여 가상화를 하므로 OS 및 CPU 아키텍처에 종속된 이미지가 필요멀티 플랫폼 빌드 - 다양한 플랫폼에서 실행 가능한 애플리케이션을 하나의 빌드 프로세스에서 생성 하는것  buildx도커의 멀티 플랫폼 빌드 도구- 동일한 Dockerfile로 여러 아키텍처나 운영체제에 대한 이미지를 빌드할 수 있다- 다양한 기능 지원- DockerHub에 이미지 업로드- BuildKit(빌드 엔진) 기본 사용으로 고속 빌드와 효율적인 캐.. 2023. 1. 10.
[Image] 도커 이미지 / Dockerfile / CLI 명령어 Docker Image도커 이미지에 대해 톺아본다 CS에서 이미지(Image)란?실제 파일이나 시스템의 상태를 복제하거나 스냅샷처럼 특정 상태를 캡처해둔 템플릿이를 기반으로 나중에 동일한 환경을 복원하거나 실행할 수 있게 한다사용예- 시스템 이미지 : 운영 체제와 그 위에 설치된 소프트웨어, 설정 등을 포함한 전체 시스템의 상태를 압축된 파일 형태로 저장한 것. 백업 및 복구에 사용된다.- 디스크 이미지 : 물리적 디스크의 전체 내용을 그대로 복사한 파일. 원본 디스크의 구조, 데이터, 파일 시스템 등을 그대로 포함하고 있어 백업 및 복구에 사용된다.  도커 이미지 (Docker Image)컨테이너를 실행하기 위한 템플릿- 실행할 애플리케이션의 코드, 그 코드가 의존하는 라이브러리, 환경 변수, 실행 명.. 2023. 1. 10.
[개요] 컨테이너 개념 / 설치(윈도우, 우분투) Docker 개념docker에 연관된 개념들을 알아보고 각 OS에 설치해본다. 가상화란?하드웨어 리소스(예: 프로세서, 메모리, 스토리지)를 여러 개의 독립적인 가상 환경으로 나누는 기술격리된 공간에서 프로세스가 동작하게 한다.효율적으로 리소스를 활용할 수 있게 되고 어플리케이션의 이식성이 좋아진다.  컨테이너란?가상화 기술 중 하나OS 커널 공유- 호스트와 동일한 운영체제 커널을 공유하고 시스템의 나머지 부분으로부터 애플리케이션 프로세스를 격리- 운영체제를 공유하기 때문에 설치용량도 적게 차지하고 실행속도도 높다일관성 있는 환경- 애플리케이션과 필요한 모든 의존성을 하나의 패키지로 묶어, 어느 환경에서든 일관성 있게 동작할 수 있도록 한다.리눅스 기반- 리눅스는 컨테이너 기술을 구현하기 위한 네임스페이.. 2023. 1. 10.
[개요] 클라우드 보안 이론 / VirtualBox 실습 환경 구축 클라우드 보안 시작하기24/11/18~21에 진행된 클라우드 보안 강의에 대한 개요를 정리한다. 보안 관련 CS정보 보안- IT에서의 보안은 정보 보호(데이터 보호)를 의미- 데이터를 다루는 모든 과정(수집, 저장, 검색, 가공, 전송)에서 취약점을 식별해야함- 보통 네트워크에서 탈취하거나 저장된 스토리지에서 탈취함  >> 네트워크보안(통신), 인프라보안(암호화)이 최우선 되어야함정보 보안의 3요소 : CIA- 기밀성 (Confidentiality) : 인가된 사용자만 정보자산에 접근하는 것- 무결성 (Integrity) : 데이터가 악의적으로 변경되지 않는 것- 가용성 (Availability) : 인가된 사용자가 원하는 시간에 데이터에 접근 가능한것   DDos등의 공격으로 가용성이 침해당하면 큰 피.. 2023. 1. 10.
[EC2] 실습 : 스트레스 상황 / Scale UP & OUT Scalability 실습 Scalability란?시스템, 네트워크, 프로세스 또는 애플리케이션이 증가하는 부하나 확장된 자원 요구사항에 따라 성능을 유지하거나 향상할 수 있는 능력클라우드 컴퓨팅(AWS의 EC2)은 가상화와 종량제로 Scalability를 효과적으로 구현할 수 있도록 한다종류- Scale Up (단일컴퓨터의 사양 높이는것)- Sale Down (단일컴퓨터의 사양을 낮추는것)- Scale Out (여러개의 컴퓨터가 협력해서 트래픽을 담당)   실습 : 수요 증가 스트레스 상황만들기시뮬레이션을 위해 서버역할과 유저역할의 인스턴스 총 2개를 생성한다서버역할 인스턴스 터미널에 top 입력>> 컴퓨터 자원 현황이 실시간으로 출력된다유저역할 인스턴스에서 부하발생기 ab 사용하기 :1. sudo a.. 2023. 1. 10.
[gh] CLI를 통한 원격 저장소 제어 gh gh란?터미널에서 관리하는 GitHub- 깃헙 레파지토리 및 관련 기능을 터미널에서 직접 관리할 수 있게 한다- 브라우저를 사용할 수 없는 환경에서 특히 유용하다  (CICD에서 인터렉션 처리 등)설치방법(윈도우)winget install --id GitHub.cli   * winget 첫 사용시 원본 사용 약관 동의 뜸(y선택)설치확인(설치후 IDE 재시작 해야함)gh --version  명령어 : 로그인 관련gh auth login- 로그인을 진행한다- 터미널 로그인 옵션 선택 :   1. 깃허브 사용 위치 : 일반 사용자는 Github.com을 선택한다  2. 프로토콜 선택 : 보안이 다소 약해도 설정이 단순한 HTTPS를 선택한다  3. git과 github 로그인을 통합할지 질문에는 개인적.. 2023. 1. 10.
[EC2] 실습 : 인스턴스 생성, 원격 접속, 웹서버 실행 EC2 실습 인스턴스 생성 항목 선택하기이름 및 태그- 이름 : 인스턴스를 식별할 이름- 태그 : 인스턴스에 대한 메모  Key와 Value로 입력할 수 있다애플리케이션 및 OS 이미지(Amazon Machine Image)- 임대할 컴퓨터의 운영체제 선택하는 항목- 운영체제마다 무료 체험 가능여부 다름(프리티어로 표기됨)- Amazon Linux : 유닉스 기반 아마존에서 자체 수정한 리눅스- Ubuntu : 보편적으로 많이 사용되는 유닉스 기반 OS인스턴스 유형- 임대할 컴퓨터의 사양을 선택하는것- t2.micro : t2.nano보다 성능은 높지만 프리티어로 사용할 수 있음- 사양항목  vCPUs : 몇개의 가상 cpu가 달려있는가  Memory : 메모리의 용량 GiB  Network Perfor.. 2023. 1. 10.
[개요] 클라우드 개념 / 리전 / EC2 / AMI AWS 개요 AWS란?아마존에서 제공하는 대표적인 클라우드 컴퓨팅 서비스클라우트 컴퓨팅이란?- 인터넷(네트워크)을 사용해서 외부에 있는 컴퓨터 자원을 사용하는 것다양한 상품군들이 존재- 초기에 생성되어 인프라가 되어주는 상품군- 특수한 경우에 아주 편리하게 사용할 수 있는 상품군  지역(Region)과 가용구역(AZ, availability zone)지역(Region)- 특정 지리에 위치해있는 데이터 센터- 사용자와 가까운 지역에서 서비스를 제공함으로써 응답시간을 줄인다- 소비자의 위치와 서버의 위치가 멀면 멀수록 네트위크는 느려진다  (물리적인 거리도 영향을 주고 경유지가 많을수록 병목리스크 커짐)- AWS의 지역별 속도를 비교하는 사이트 등을 활용해서 지역을 결정한다  (ex: http://www.c.. 2023. 1. 10.
[개요] IaC 개념 / 테라폼 기본 플로우 Terraform테라폼을 활용하기 위한 기초 지식들을 톺아본다 연관 CS 개념프로비저닝(Provisioning)- 사용자의 요구에 맞게 시스템 자체를 제공 하는 것- 클라우드를 사용하는 것은 클라우드 Vendor 로부터 서비스를 Provisioning 받는것- 예 :   서버 프로비저닝 : CPU, Memory, IO 등과 같은 실제 서버의 자원을 사용할 수 있도록제공하는것  OS 프로비저닝 : OS를 서버에 설치하고 구성작업을 해서 사용할 수 있도록 제공하는 것  Software 프로비저닝 : WAS, DBMS 등의 소프트웨어를 설치하고 세팅하여 실행할 수 있도록 제공하는 것인프라 리소스(infrastructure resources)- IT 환경을 운영하고 관리하는 데 필요한 구성 요소- 서버, 데이터.. 2023. 1. 10.
[개요] CICD 입문 / 연관 CS 지식 CI/CD본격적으로 실습에 들어가기 전에 필요한 개념들을 다져본다. 연관 개념아티팩트- artifact- 개발 과정의 최종 산출물- war(웹 어플리케이션 패키징), jar(리소스 패키징), 이미지(앱 및 환경 패키징) 등이 이에 해당한다배포 환경 종류1. 개발 환경 : 개발자들 작업공간, 주로 로컬 머신에서 실행2. 테스트 환경 : 단위 테스트, 통합 테스트, 시스템 테스트 등이 수행되는 환경3. 스테이징 환경 : 프로덕션 환경과 유사한 설정을 가진 테스트 환경   실제 배포 전에 최종 검증을 수행한다.   QA 팀이나 이해관계자들이 기능을 검토하고, 실제 사용 시나리오를 기반으로 애플리케이션을 테스트4. 프로덕션 환경 : 실제 사용자에게 서비스를 제공하는 최종 환경MSA- Micro Service A.. 2023. 1. 10.
[YAML] 설정 파일을 구성하는 데이터 구조 YAML데브옵스에서 설정파일등에 많이 쓰이는 데이터 구조에 대해 톺아본다 데이터 직렬화데이터를 전송하거나 저장할 수 있는 형태로 변환하는 과정* 프로그램이 사용하는 데이터는 보통 객체 등의 복잡한 구조를 가지므로 이를 파일에 저장하거나 네트워크를 통해 전송하기 쉬운 형태로 변환한다종류- JSON (관련 포스팅 : 129번 포스팅)- YMAL- XML  YAML이란?YAML Ain't Markup Language (재귀약어)데이터 직렬화 방식 중 하나이나 직관적인 데이터 구조로 설정파일 등에 많이 쓰인다(오히려 직렬화 성능은 떨어짐)특징- 들여쓰기를 통해 데이터 계층을 표시한다(파이썬과 동일)  이때, 보통 2칸의 공백을 사용한다(탭x)- '---'(시작표시)와 '...'(끝표시)를 통해 여러개의 문서를 .. 2023. 1. 10.
[Git] 버전 관리와 원격 저장 Git / GitHub프로젝트 버전관리에 활용되는 git hub에 대해 톺아본다. 포스팅순서자주 쓰는 명령어버전관리- 변경관리 / 버전관리 / 형상관리- Git & GitHub- Git BashGit 용어정리기본 사용법- init, clone : 시작하기- config : 설정관련- remote, fetch : 원격저장소 관련- branch, switch : 브랜치와 전환- merge, pull : 병합하기- diff, log : 변경사항 비교 및 추적- status, add, commit : 변경 사항 관리- reset, restore : 되돌아가기- push : 로컬에서 원격으로 변경사항 업로드심화 사용법- Fork- Pull Request- 깃이그노어 자주 쓰는 명령어로컬 커밋 삭제git reset.. 2023. 1. 10.