오늘부터 내가 배워본 것들을 일기형식으로 작성해보려 한다. 클라우드 엔지니어 교육과정의 첫발을 내딛었고, 아직 가야할 길은 멀게만 느껴진다. 하지만 절대 먼저 포기하지는 않으려 한다.1/25\-정적 웹페이지를 만들어 AWS 기반의 아키텍처를 구축하여 S3에 올려 구동시
\-AWS 계정 전용 가상 네트워크이다.\-워크로드에 대한 논리적 격리 제공.\-Amazon VPC는 클라우드의 네트워크 환경이다.\-AWS 리전 중 1개 리전에 배포.단일 VPC 패턴제한적인 사용. 소규모에 적합. 거의 사용하지 않는다.다중 VPC 패턴단일 팀 또는
\-처리량\-확장성\-가용성\-복구성\-규제\-보안\-엄격한 스키마 규칙 및 데이터 품질 적용이 필요.\-데이터베이스가 과도한 읽기/쓰기 용량을 필요로 하지 않음.\-최상의 성능이 필요하지 않음.\-데이터베이스가 수평적으로 확장되야할 때.\-데이터가 기존 스키마에 적합
VPC를 구성 실습EC2 인스턴스를 하나 생성하여 퍼블릭 서브넷을 통해 인터넷을 사용할 수 있는지 테스트 해 보았다.Django 설치 및 이론 학습Django MTV( Model Template View )아키텍처1) 클라언트로부터 URL 요청이 오면 2) URL co
Pycharm 으로 Django 를 설치해서 간단한 DB를 만들고 인터넷으로 구동시키는 실습을 했다.Django 실습2클래스를 정의해서 DB를 만들 수 있다. HTML문서에서 중괄호와 %를 이용해 파이썬 언어를 적용시키는 것도 흥미로운 부분. 간단한 데이터를 입력해 구
Django로 게시판 웹 어플리케이션 구축 실습어플리케이션을 생성.기초적인 테이블, 서버 구동 등은 저번 글에 올렸으니 생략한다.모델을 편집해서 게시판 기능을 구현.게시판 테이블을 정의.슈퍼유저 계정에 테이블이 반영되도록 코딩. 사이트 확인.변경된 데이터베이스를 반영하
2021/02/01~2021/02/09프로젝트 하느라 정신이 없어 TIL 작성도 못하고 있었다.우리조는 5명이고 회의를 거쳐 각자의 역할을 분배했다.내가 맡은 역할은 Django를 이용해서 게시판을 만들고 게시판의 글 작성, 수정, 삭제, 목록을 만들어 Maria DB
으... 프로젝트 마무리하고 프로젝트 한거 올려야하는데 아직 정리를 다 못했다. 일단 오늘배운 걸 올리고 프로젝트 한 거는 정리해서 나중에 올려야겠다.관리적 보안 - 관리적 보안대책은 각종관리 절차 및 규정을 의미조직 내부의 정보 보호 체계를 정립하고, 인원을 관리하고
세션이란 두대의 호스트간의 통신을 말하며 세션 하이재킹은 스니핑 및 스푸핑 기술을 결합한 공격수단이다. 정상적인 연결 과정 중에서 공격자는 제 3자로서 그 사이에 참여하여 세션을 모니터링하거나, 한 호스트를 대체하여 세션을 진행할 수 있다.TCP 세션은 연결의 신뢰성을
서버 리스 환경 구현서버리스 컴퓨팅을 사용하면 서버를 생각하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있다. 서버리스 애플리케이션에서는 사용자가 서버를 프로비저닝, 확장, 관리할 필요가 없다. 거의 모든 유형의 애플리케이션 또는 백엔드 서비스를 위해 서버리스
캐싱의 아키텍처 측면의 필요성동일한 요청으로 인프라 용량이 지속적으로 과부하됨. 이는 비효율적으로 비용 및 지연 시간을 늘림. 따라서 캐싱으로 이런 부담을 줄여줘야 함.어떤 것을 캐시해야 하나?수집하려면 느리고 비싼 쿼리가 필요한 데이터비교적 정적이고 자주 액세스하는
운영 상태리소스 활용애플리케이션 성능보안 감사1) 지표 - 지표 데이터는 15 개월 동안 보관됩니다.지표는 시스템 성능에 대한 데이터입니다. 많은 AWS 서비스가 리소스에 대한 지표를 기본적으로 제공합니다(예:Amazon EC2 인스턴스, Amazon EBS 볼륨, A
Redhat Enterprise Linux (RHEL) (상용)CentOS : RHEL의 클론Fedora Linux : Redhat에서 새로운 기능/제품을 테스트하기 위한 용도로 사용CentOS Stream : RHEL과 Fedora의 중간 정도의 포지션리눅스는 단일
따옴표의 용도Single Quotation (‘ ’) : 문자열을 감싸는 용도. 내부의 메타문자를 무시Double Quotation (“ “) : 문자열을 감싸는 용도. 내부의 메타문자를 인식Back Quotation () : 명령어의 실행 결과를 반환 명령어\` =
권한기본권한 : 소유자 / 소유그룹 / 기타특수권한ACL (Access Control List)기본 권한소유자/소유그룹/기타사용자권한의 분류 : 읽기(Read), 쓰기(Write), 실행(eXecute)파일/디렉토리에서 각 권한의 의미일반 파일읽기 - 파일의 내용을 볼
Redhat 자격증 리눅스RHCSA(Redhat Certified System Administrator) 기본 리눅스 관리RHCE(Redhat Certified Engineer) 과거: 리눅스 서비스 관련 내용 → 현재: Ansible===================
하드디스크물리적인 장치자기(Magnetic)을 사용한 데이터 기록주요 부품플래터(Platter): 실제 전/자기를 사용하여 데이터를 기록하는 부분스핀들(Spindle): 모터, 플래터를 회전시킴 (7200rpm, 5400rpm…)헤드(Head): 플래터의 데이터를 읽거
파티셔닝 수행 가능 (MBR/GPT)비대화형 실행 가능 (대화형 실행 가능)주요 옵션\-l : 디스크 별 파티션 상태 확인\-m : 출력 형식 변경 (: 기호로 항목 분류)\-s : 비대화형 실행 옵션파티션 유형 설정 반영파티션 유형 설정 명령 parted -s /de
시스템 상태 조회 명령top : 윈도우의 작업관리자와 유사하게 시스템 상태 및 프로세스 별 정보를 실시간으로 갱신하며 출력free : 현재 메모리 상태를 출력swapon -d : 현재 시스템의 스왑 등록 상태스왑 파티션 : 파티션 전체를 스왑 용도로 사용, 파티션으로
Redundant Array of Inexpensive DisksRedundant Array of Independent Disks디스크를 연결하여 사용하는 기술기능 향상을 목표로 사용하는 기술용량성능 : 읽기/쓰기안정성 : 데이터의 보호 / 서비스 지속RAID에서 연결
기존 사용중인 디스크 전부 마운트 해제 / 파티션 제거각 디스크 전체를 1번 파티션으로 생성 후 PV 생성RAID 0 생성시 스트라이프 개수를 지정하여야 함 \-lvcreate -n raid0_lv -L 1G -i 3 -I 64K vg_raid각 PV에서 동일한 개수의
소프트웨어 소스코드 컴파일 : 직접 소스코드에 대한 컴파일 명령을 수행컴파일(Compile) : 프로그래머가 작성하는 소스코드를 기계어로 변환인터프리터(Interpreter) 방식 : 소스코드를 직접 실행컴파일 과정을 간편화 : ‘Makefile’ \-./configu
로그(Log) - 시스템에서 발생한 이벤트에 대한 기록감사(Audit) - 관리자가 설정한 특정 대상에 대한 기록보안적 측면: 침입 등에 대한 감시, 대응운영적 측면: 시스템 장애 대응syslog(rsyslog)syslog(rsyslog)journalsystemd-jo
현재 시스템에는 네트워크 인터페이스의 설정이 되어 있지 않습니다. 다음과 같이 네트워크 설정을 수정해주세요.ip주소: 192.168.100.200서브넷마스크: 255.255.255.0DNS: 192.168.100.2게이트웨이 192.168.100.2기존에 남아있던 연결
IP주소 = Network ID + Host IDNetwork ID: 네트워크를 지정하는 IDHost ID : 네트워크 내에서 호스트를 식별하는 IDNetwork ID / Host ID의 길이는 가변합이 32bit이면 됨서브넷의 규모가 결정됨같은 네트워크(라우터 등을
네트워크의 외부로부터의 침입을 차단운영체제에 내장되어 있는 방화벽 기능Packet Filtering: 전송된 패킷에 대한 허용/차단송신자/수신자 IP주소송신자/수신자 Port (TCP/UDP) 서비스 거부공격DoS : Denial of ServiceDDoS : Dist
미국 NSA(국가안보국)에 의해 개발됨 - PRISM접근통제모델DAC : Discretionary Access Control (임의적 접근 제어) 기본적인 리눅스의 파일 접근 권한MAC : Mandatory Access Control (강제적 접근제어)SELinux :
도메인 이름(FQDN, Full Qualified Domain Name)을 IP주소와 매칭 시켜주는 시스템정방향 조회, 역방향 조회정 : FQDN → IP주소역 : IP주소 → FQDNDNS 서비스는 계층화 된 형태로 제공단일 DNS 서버가 모든 DNS 정보를 가지고
yum info bind yum install bindbind 정보 확인 rpm -ql bind서비스 정보 확인 systemctl status named.service서비스 설정 파일 확인 및 수정 vi /etc/named.confoptions { lis
Master 서버의 영역 전송 설정영역 전송을 허용할 영역의 설정항목 내에 다음 추가 (/etc/named.conf 내 영역zone 항목) Allow-transfer { 전송을 허가할 서버; }; named-checkconf systemctl restart n
암호화 적용ssh 연결 방법 : ssh 사용자ID@<대상서버의 주소>/etc/ssh/key, /etc/ssh/key.pub : 암호화 관련 공개키/개인키 파일사용자가 암호 기반의 인증 대신 키 기반의 인증 사용 가능사용자 암호 키 생성 ssh-keygen키 위치
초기 부팅문제 해결root 패스워드 설정 : P@ssw0rd부팅 문제 해결 <= 이것도 해야됨!! (f….s….t...a….b….)변경할 네트워크 정보vmware nat 네트워크 설정 확인 (192.168.100,0/24)NetworkManager 연결 이름: s
파일 내에서 사용자가 지정한 내용을 검색검색 내용 부분에는 정규화표현식(Regular Expression)을 사용검색된 내용을 화면에 출력일부 옵션의 경우 검색된 내용이 출력되지 않음검색 실행시 검색 대상 파일에는 영향을 미치지 않음ASCII, 즉 텍스트 데이터를 대상
vi, gedit, nano : file editorsed : stream editorInteractive 기능이 없는 에디터 : 비대화형 에디터파일을 수정하여도 수정내용이 반영되지 않음: -i 옵션 사용시 파일에 저장쉘 프로그래밍에서 많이 사용line 단위의 처리vi
구분자(Delimiter) : 텍스트 데이터에서 필드(Field)를 구분하는 기호만든 사람의 이름 첫 글자를 모아서 만든 이름 Aho, Kernighan, and Weinbergerawk 도구는 유닉스 용으로 만들어진 도구awk 는 이후 new awk로 발전gawk :
조건에 따라 수행할 동작을 지정if : 조건이 맞으면 실행, 아니면 패스if~else : 조건이 맞으면 if 아래를 실행, 조건이 틀리면 else 아래를 실행, 양자택일if~else if~else : 조건이 여러개. 첫 번째 조건이 맞으면 if 아래를 실행, 두번째 조
\-프로젝트에 본격적으로 들어가서 이제 바빠지기 시작했다.꾸준히 써야 하는데 쉽지 않다.Control Node : CentOS 7.8.ova. IP: 192.168.100.10/24gateway: 192.168.100.2dns: 192.168.100.2$ sudo -i
filecopyfetchlineinfileblockinfilestat다른 파일 관리 모듈들의 기본 동작파일 자체에 대한 속성 설정소유권권한SELinux 컨텍스트Timestamp기본적인 파일 생성/제거 용도로 사용name: File module testhosts: web
반복문조건문핸들러오류 처리반복문name: service starthosts: webserversbecome: truetasks:name: install service httpd, mariadb-serveryum: name: \- httpd \- mariad
패키지 관리자 설치Windowchocolately 사이트에 들어가 사이트 주소 복사.Powershell을 관리자 권한으로 실행.붙여넣기하여 choco 패키지 설치.명령어로 vagrant와 virtualbox 설치choco install vagrant virtualbox
Namespace: 하나의 시스템에서 수행되지만, 각각 별개의 독립된 공간인 것처럼 격리된 환경을 제공하는 경량 프로세스 가상화 기술.Cgroup(Control Group): 단일 프로세스 또는 작업이라 불리는 프로세스 그룹에 대한 자원 할당을 세밀하게 제어할 수 있는
이미지 docker pull docker create docker start docker run\-i : STDIN 유지\-t : 터미널 할당\-e : 환경변수 제공docker stopdocker restartdocker pausedocker unpausedoc
docker container prune중지 상태의 컨테이너들을 모두 지우는 명령어docker volume prune볼륨을 모두 지우는 명령어docker network prunedocker image pruneStateless: 상태 없음(ex: 웹,앱)Stateful
컨테이너 로그 위치기본 로그 플러그인json-file로그 확인\-f: Live Viewunix timehttps://www.epochconverter.com/디스크 대역폭 확인if: input fileof: output filebs: block sizecoun
호스트 os에 장고의 사전 설정을 해서 복사하여 컨테이너에 올린다.컨테이너 내부에서 장고 설정을 해도 상관없다.sudo apt install python3-pipmkdir django-hello && cd django-hellovirtualenv venvpip3 ins
고랭을 설치한다.디렉토리를 만들어서 go 파일을 생성하고 vi로 Hello Go가 나오도록 코드를 작성한다.hello.go코딩한 파일을 실행하여 본다.코딩한 파일을 빌드한다.Dockerfile도커파일을 작성하여 고랭으로 코딩한 파일을 실행하는 이미지를 만든다.C언어
API-server 쿠버네티스 서비스의 핵심요소.모든 쿠버네티스 서비스는 api를 거쳐가기 때문에 이것이 없으면 쿠버네티스 서비스 운영되지 않는다.etcd모든 쿠버네티스 클러스터 상태를 저장하고 복제Scheduler노드가 배정되지 않은 생성된 파드를 감지하고 노드에
https://github.com/kubernetes-sigs/kubespraykubespray를 받을 수 있는 깃허브 주소https://kubernetes.io/ko/docs/setup/production-environment/tools/kubesp
파드 집합에서 실행중인 애플리케이션을 네트워크 서비스로 노출하는 추상화 방법. 쿠버네티스를 사용하면 익숙하지 않은 서비스 디스커버리 메커니즘을 사용하기 위해 애플리케이션을 수정할 필요가 없다. 쿠버네티스는 파드에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을
Session Affinity세션을 고정시켜 클라이언트가 항상 똑같은 웹/어플리케이션/파드에 접근 할 수 있도록 하는 기술.Service - 로드 밸런서 설정쿠버네티스의 노드에 접근하기 위해 설정해야 하지만 쿠버네티스 내에서 설정할 수 없기 때문에 이를 설치하기 위한
조건mysql.yamlNFS 스토리지 서버: k8s-m1sudo apt updatesudo apt install nfs-kernel-serversudo vi /etc/exports/nfs-volume \*(rw,sync,no_subtree_check)sudo mkdir
요청(request)제한(limit) 요청 <= 제한제한 만 설정하는 경우 요청이 제한 양 만큼 설정됨리소스 타입cpumemoryhuge page단점: 실시간, cpu/memory 메트릭 수집제한 만 설정하는 경우 요청이 제한 양 만큼 설정됨CPU 부하 테스트de
NS: developmentSA: devopsRole: dev-fcdevelopment NS에 모든 권한RoleBinding: devops-dev-fcdevops <-> dev-fcClusterRole: view클러스터 전체 읽기ClusterRoleBinding: