Amazon EC2 인스턴스Amazon Elastic Compute Cloud(Amazon EC2)는 기존의 온프레미스 서버와 똑같지만 클라우드에서 사용할 수 있습니다. 웹 호스팅, 애플리케이션, 데이터베이스, 인증 서비스를 비롯해 서버가 수행할 수 있는 모든 워크로드
데이터베이스 계층 추가아키텍처 요구사항 : 고가용성, 확장이 용이하며 애플리케이션 서버와 분리된 데이터베이스가 필요합니다.데이터베이스 계층 고려 사항확장성, 총 스토리지 요구 사항, 객체 크기 및 유형, 내구성“얼마나 많은 처리량이 필요한가?선택한 솔루션이 필요할 경우
EC2 인스턴스에서 Django 실행시킨 후 외부에서 접속하기Amazon EC2 인스턴스 시작 선택 후기존에 만들어 두었던네트워크 - Lab VPC서브넷 - Public Subnet 선택보안그룹에서 기존에 설정한 App-SG 선택 후EC2 인스턴스를 실행한다.실행 후
DjangoDjango의 MTV(Model Template View) 아키텍처Django 설치VS Code에서 폴더 생성 후 열고 터미널에서pip install Django 입력설치 완료되면django-admin startproject myDjangoSite 입력그리고
Django 로그인 기능 구현models.py 편집admins.py 편집python manage.py makemigrationspython manage.py migrate 이후 python manage.py runserver 이후 admin 페이지로 접속해서user 추
2/1~2/9일까지 django를 활용한 프로젝트 제작 중이다.프로젝트 주제는 음원 사이트이다.요구사항으로는회원가입/로그인 기능뮤직 리스트 기능음원 재생 기능플레이리스트 기능앨범 리스트 기능 등 이 있다.이를 구현하기 위해서 5개의 테이블을 설계하였다.이를 clas
모든 기능은 장애가 발생한다는 가정하에 역방향으로 설계가능한 모든 지점에서 중복성을 구현하여, 단일 장애로 인해 전체 시스템이 중단되지 않도록 한다.ELB (Elastic Load Balancing)수신되는 애플리케이션 트래픽을 여러 Amazon EC2 인스턴스, 컨테
기밀성 인가되지 않은 주체에게 객체가 노출되지 않는다는 보증기밀성 보장 보안 매커니즘 : 접근 통제, 데이터 암호화, 암호화된 전송 프로토콜무결성정보는 정확하고 완벽해야 하며 인가되지 않은 수정으로부터 보호되어야 한다. 보안 매커니즘이 무결성을 제공 할 때, 보안 매커
아키텍처 측면에서의 필요성→ 팀원이 전문적인 역할을 맡고 있을 만큼 충분히 큰 규모의 조직입니다. 필수 권한을 통한 보호 및 액세스 제어 기능이 필요합니다.AWS 계정을 처음 생성할때 루트 사용자로 시작합니다. 이 사용자는 계정의 모든 AWS 서비스 및 리소스에 대한전
AWS Lambda 서버 리스 환경 구현 서버리스 컴퓨팅이란 무엇인가? 서버리스 컴퓨팅을 사용하면 서버를 생각하지 않고 애플리케이션과 서비스를 구축하고 실행할 수 있습니다. 서버 리스 애플리케이션에서는 사용자가 서버를 프로비저닝, 확장, 관리할 필요가 없습니다.
강력하게 통합된 서버 체인을 중심으로 움직이면, 이러한 구성 요소/계층의 하나에 장애가 발생하면 시스템에 치명적인 영향을 줄 수 있습니다. 또한 이 때문에 규모 조정이 지연될 수 있습니다. 한 계층에 서버를 추가하거나 제거하는 경우, 연결된 모든 계층의 모든 서버가 적
REST APIREST : Representational State Transfer의 약자로써 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미즉 자원의 표현에 의한 상태 전달 a)자원의 표현 \- 자원 : 해당 소프트웨어가 관리하는 모든
캐시 : 메모리에 데이터를 저장하여 흔히 액세스하는 애플리케이션 데이터에 대해 높은 처리량, 지연 시간이 짧은 액세스를 제공합니다. 캐싱은 애플리케이션의 속도를 높일 수 있으며 응답 지연 시간을 줄입니다. 시간 소모적인 데이터베이스 쿼리와 복잡한 쿼리는 애플리케이션에
오늘 수업으로는 리눅스 설치와 명령어를 복습하였다.오늘 복습한 내용리눅스는 단일 트리 파일시스템 구조를 가짐 ( / )프롬프트에 $ 기호가 있을 경우 $ : 일반 사용자 권한프롬프트에 GUI : Graphical User Interface (그래픽 환경)CLI : C
오늘 수업도 리눅스 명령어 관련 복습이었다.복습한 내용파일 통계 정보 출력wc : 파일의 글자수, 단어수, 줄 수 출력옵션을 통해 개별 항목 출력 가능: -l(줄수), -w(단어수), -c(글자수)========================================
리눅스 명령어 복습복습 내용권한기본권한 : 소유자 / 소유그룹 / 기타특수권한ACL (Access Control List)기본 권한소유자/소유그룹/기타사용자권한의 분류 : 읽기(Read), 쓰기(Write), 실행(eXecute)파일/디렉토리에서 각 권한의 의미일반 파
기본 권한만으로는 다양한 대상에 대한 구체적인 권한을 설정할 수 없음 (소유자, 소유그룹, 기타사용자)다양한 대상을 지정하여 권한을 설정할 수 있음특정 사용자특정 그룹ACL 관련 명령어getfacl <대상> : 대상에 설정된 ACL 정보를 확인setfacl <
물리적인 장치로써 자기(Magnetic)을 사용한 데이터 기록주요 부품하드디스크의 기록단위물리적인 구조를 직접 지정하는 방식C(Cylinder), H(Head), S(Sector) 위치를 지정현재는 잘 사용하지 않음 - 디스크 용량의 제한, 현재 디스크의 구조를 반영할
3/3일 수업에 이어서 리눅스 디스크 관리 내용 수업이다.파티션 유형 확인 명령어 : parted 내에서 help mklabel파티션 생성 (단일)퍼센트 지정용량 지정mkpart 시 파티션 유형별 주의사항parted 명령어 정리참고) 디스크의 파티션 정보 삭제파일시
3/4일 수업에 이어서 Linux hardware 관련 수업이었다.수업 내용dd if=/dev/zero of=/swapdir/swapfile bs=512 count=100000약 50MB 정도의 빈 파일이 생성됨스왑파일로 변경스왑 등록스왑 해제스왑 자동 등록디스크 인식
논리 볼륨 내 개체들에 대한 확장/축소볼륨그룹은 물리 볼륨의 집합축소 : 볼륨그룹에서 물리볼륨을 제거축소시 해당 볼륨그룹 내 분리할 장치의 데이터를 옮길만한 여유공간이 있어야 함분리할 PV의 데이터를 옮기는 명령확장볼륨그룹에서 물리볼륨을 추가확장추가 용량이 필요할 때현
현재 사용중인 RHEL(CentOS) 7버전 이후, Ubuntu 18.04 부터프로세스 및 서비스 관리systemd 이전의 프로세스 및 서비스 관리 주체: initsystemd 이전의 프로세스 및 서비스 관리 주체모든 프로세스의 부모 프로세스1번 PID를 가지고 있음0
OSI 7 Layer (개념적인 모델)TCP/IP 모델 (실제적인 모델)네트워크 주소 체계ARP (Address Resolution Protocol)IP와 MAC 주소의 매칭 정보를 요청/응답IP AddressNetworkManager: 네트워크 관리 데몬nmcli :
현재 시스템에는 네트워크 인터페이스의 설정이 되어 있지 않습니다. 다음과 같이 네트워크 설정을 수정해주세요.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이면 됨서브넷의 규모가 결정됨서브넷(Subnet)네트워크
방화벽(Firewall) 네트워크의 외부로부터의 침입을 차단 운영체제에 내장되어 있는 방화벽 기능 Packet Filtering: 전송된 패킷에 대한 허용/차단 송신자/수신자 IP주소 송신자/수신자 Port (TCP/UDP) 공격의 유형 서비스 거부공격 DoS : Denial of Service ...
미국 NSA(국가안보국)에 의해 개발됨 - PRISM접근통제모델DAC : Discretionary Access Control (임의적 접근 제어) 기본적인 리눅스의 파일 접근 권한MAC : Mandatory Access Control (강제적 접근제어)SELinux :
정확한 시간 정보 설정의 필요성시스템 로그는 시스템의 시간정보를 사용하여 저장됨시스템 장애 발생 시, 침해사고 발생 시 등 로그에서 시간정보가 어긋날 경우 파악이 어려움인증 등에서 시스템의 시간정보를 사용할 경우, 시간이 맞지 않으면 인증 불가 (Kerberos 등)시
윈도우 시스템에서 cmd 창 열고 nslookup 실행이와 같이 설정할 경우, BIND는 Cache 전용 DNS 서버로 동작/etc/hosts 파일, DNS 요청, DNS 캐시의 우선순위 (클라이언트)/etc/hostsDNS 캐시 (시스템)DNS 요청우선순위 (DNS서
root 패스워드 설정 : P@ssw0rd부팅 문제 해결vmware nat 네트워크 설정 확인 (192.168.100,0/24)NetworkManager 연결 이름: staticIP: 192.168.100.100netmask : 255.255.255.0gateway:
파일 내에서 사용자가 지정한 내용을 검색검색 내용 부분에는 정규화표현식(Regular Expression)을 사용검색된 내용을 화면에 출력일부 옵션의 경우 검색된 내용이 출력되지 않음검색 실행시 검색 대상 파일에는 영향을 미치지 않음ASCII, 즉 텍스트 데이터를 대상
vi, gedit, nano : file editorsed : stream editorsed 특징pattern spacesed 실행 형식sed 명령어sed 명령어 옵션sed 편집 명령어다중 편집 (-e)스크립트 실행 (-f)sed 종합실습
구분자(Delimiter) : 텍스트 데이터에서 필드(Field)를 구분하는 기호전화번호를 모두 출력하세요awk -F: '{ print $2 }' donorsDan의 전화번호를 출력하세요awk -F: '/Dan/ { print $2 }' donorsawk -F: ‘$1
조건에 따라 수행할 동작을 지정if : 조건이 맞으면 실행, 아니면 패스if~else : 조건이 맞으면 if 아래를 실행, 조건이 틀리면 else 아래를 실행, 양자택일if~else if~else : 조건이 여러개. 첫 번째 조건이 맞으면 if 아래를 실행, 두번째 조
Ansible을 학습하기 위해서 먼저 리눅스 환경을 세팅해야 한다.Control NodeIP: 192.168.100.10/24gateway: 192.168.100.2dns: 192.168.100.2Managed hosts1IP: 192.168.100.21/24gatew
Ansible로 실행할 내용을 작성하는 문서=Codead-hoc 명령과 달리 여러 가지 수행할 내용을 하나의 플레이북에 저장구조플레이북 파일플레이(1개 이상)작업모듈(1개 이상)YAML 문법을 사용하여 작성하여야 함예시ansible 명령과 동일한 옵션 사용가능 : --
재사용할 수 있는 값을 저장하기 위하여 사용ex) 설치할 패키지의 이름, 서비스의 이름, 추가할 파일의 경로, 인터넷 경로 주소…호스트/그룹 : 인벤토리 내의 특정 호스트/그룹인벤토리 내 특정 호스트에 대한 변수 설정: 인벤토리 내 호스트 목록 뒤각 호스트에 대한 변수
다른 파일 관리 모듈들의 기본 동작파일 자체에 대한 속성 설정소유권권한SELinux 컨텍스트Timestamp기본적인 파일 생성/제거 용도로 사용참고: SELinux 컨텍스트 규칙 변경 모듈 - sefcontextfile 모듈의 setype은 chcon 과 같이 파일의
반복문, 조건문, 핸들러, 오류 처리 등webservers에 설치할 패키지: httpd, firewalldwebservers에 구동할 서비스: httpd, firewallddbservers에 설치할 패키지: mariadb-server, firewallddbservers
awefweaf
vagrant init ubuntu/focal64 실행 시 해당 폴더에서 cat .\\Vagrantfile 을 통해서 해당 파일 내용을 확인하면 파일의 코드 내용을 확인할 수 있다.다음 코드는 해당 코드를 변경하여 vm 설정을 코드로 변경한 것이다.이런 식으로 코드로
Docker 기본 명령어
도커 이미지로 컨테이너를 생성하고 해당 컨테이너에서 사용자가 작업을 해도 컨테이너를 삭제하면 해당 데이터도 모두 삭제된다. 이러한 문제점을 해결하는 방법 중 하나가 Docker volume을 이용하는 것이다.초기 데이터베이스 모습이렇게 기존 컨테이너에서 생성한 hell
컨테이너 로그 위치기본 로그 플러그인json-file로그 확인\-f: Live Viewunix timehttps://www.epochconverter.com/디스크 대역폭 확인if: input fileof: output filebs: block sizecoun
FROM: Base 이미지 지정 (반드시 존재해야 함)RUN: 컨테이너 내에서 실행할 명령어 (docker exec)ADD/COPY: 호스트에서 컨테이너로 파일복사 (docker cp)ENV: 쉘 환경 변수WORKDIR: 작업 디렉토리 변경 (RUN, ADD, COPY
가상환경 실행 후 명령어를 통해 마스터 노드로 사용할 vm에 접속한다.https://github.com/kubernetes-sigs/kubespray 해당 git 사이트에서 kuberspray 파일들을 확인할 수 있다. 여기서 2.14 버전 파일을 다운받아 설