DEVOPS 49

[AWS] EC2 인스턴스 접속하기(Git Bash, Putty)

1. Git Bash 이용 Git Bash를 실행해 키 페어 파일이 있는 디렉토리로 가서 아래 명령어들을 실행해 접속한다. chmod 400 [키 페어 파일] ssh -i “[키 페어 파일]” ubuntu@IP_Address 2. Putty 이용 puttygen 실행 Load 버튼을 눌러 키페어 .pem파일을 로드 Save private key 클릭 -> 이름 지정해 ppk 파일 생성 Putty 실행 Connection- SSH - Auth - Private key file for authentication 생성한 ppk 파일 선택 HostName에 ubuntu@[IP] 입력 - Open 접속 완료

DEVOPS/CLOUD 2022.10.12

[AWS] 키 페어, 보안 그룹, 인스턴스 생성하기

키 페어 생성 region마다 고유한 키 페어가 존재한다. 네트워크 및 보안 - 키페어 - 키페어 생성 버튼 클릭 이름을 설정하고 프라이빗 키 파일 형식을 .pem으로 선택 키 페어를 적절한 폴더에 저장 보안그룹 생성 연결된 instance에 대한 방화벽 역할 SSH를 사용하여 IP 주소에서 instance에 연결할 수 있게 하는 규칙을 보안 그룹에 추가해야 함 nbound/outbound HTTP/HTTPS 액세스 허용 규칙 추가 가능 region마다 별도의 보안 규칙 필요 네트워크 및 보안 - 보안 그룹 - 보안 그룹 생성 클릭 보안 그룹 이름을 설정하고 default VPC를 선택한다. 인바운드 규칙으로는 유형을 SSH로 선택해 ssh 포트로만 들어오는 트래픽을 허용하게 한다. 소스는 내 IP로 해..

DEVOPS/CLOUD 2022.10.12

[AWS] MFA 설정하기

루트 계정으로 로그인한 뒤 IAM 대시보드 -> MFA 추가 버튼 클릭 MFA 활성화 버튼 클릭 가상 MFA 디바이스 클릭 핸드폰에 google authenticator 어플리케이션 설치 -> QR 코드 인식 해 코드 입력 이후 루트로 로그인하려하면 멀티 펙터 인증창이 뜬다. 이 때 google authenticator 어플리케이션을 실행해 뜨는 코드를 입력하여 제출하면 로그인이 된다. 이렇게 이중 인증을 통해 루트를 안전하게 보호한다.

DEVOPS/CLOUD 2022.10.12

[AWS] IAM 유저 생성하기

루트 계정으로 로그인 한 후 IAM -> 사용자 -> 사용자 추가 클릭 사용자 이름 설정 AWS 자격 증명 유형으로 암호 -AWS 관리 콘솔 액세스 선택 콘솔 비밀번호 설정 AWS에서 기본적으로 제공하는 Policy를 활용해 User에게 권한을 부여할 수 있다. Admin 권한을 부여하기 위해 기존 정책 직접 연결 - > Administrator Access 권한을 선택하고, 다음 클릭 태그 키-값 추가(선택 사항) 검토 후 사용자 만들기 IAM 대시보드- 계정 별칭 생성 버튼을 클릭해 별칭 생성 가능 새로운 별칭으로 로그인

DEVOPS/CLOUD 2022.10.12

클라우드 컴퓨팅이란?

클라우드 컴퓨팅이란? 인터넷 너머에 존재하는 클라우드 사업자의 컴퓨터에서 정보처리를 하는 서비스. 여기서 클라우드란 각각 고유의 기능을 가진 서버의 글로벌 네트워크를 의미하며, 클라우드 컴퓨팅은 클라우드에서 서버, 스토리지, 소프트웨어 등 필요한 IT 자원을 받아서 사용하는 기술을 의미한다. AWS에서는 클라우드 컴퓨팅을 'IT 리소스를 인터넷을 통해 온디맨드로 제공하고 사용한 만큼만 비용을 지불하는 것' 이라 정의한다. 인프라를 더 이상 하드웨어로 생각하지 않고, 소프트웨어로 생각하고 사용할 수 있다. 클라우드 컴퓨팅의 특징 -주문형 셀프 서비스 (사용자 스스로 개별 관리) -광범위한 네트워크 접속 -리소스 공유 -신속한 확장성 (scale up/down) -측정 가능한 서비스(종량제) 클라우드 컴퓨팅..

DEVOPS/CLOUD 2022.09.03

[Linux] 프로세스 ID

각 프로세스는 프로세스를 구별하는 번호인 프로세스 ID를 갖는다. 각 프로세스는 자신을 생성해준 부모 프로세스가 있다. int getpid( ); // 프로세스의 ID를 리턴한다. int getppid( ); // 부모 프로세스의 ID를 리턴한다. 프로세스는 프로세스 ID 외에 프로세스의 사용자 ID와 그룹 ID를 갖는다. -그 프로세스를 실행시킨 사용자의 ID와 사용자의 그룹 ID -프로세스가 수행할 수 있는 연산을 결정하는 데 사용된다. (프로세스의 권한을 통해 누구의 권한으로 어떤 리소스에 대한 할당 작업을 할것이냐를 결정해야 하는데, 사용자의 아이디로만 결정이 안될수도 있다.) 프로세스의 사용자 ID 실제 사용자 ID(real user ID) 그 프로세스를 실행한 원래 사용자의 사용자 ID로 설정..

DEVOPS/LINUX 2021.12.04

[Linux] 프로그램 실행 시작, 종료

프로그램 실행 시작 exec 시스템을 호출하여 디스크에 있는 실행파일을 주기억장치로 올려 실행시킨다. c 시작 루틴에 명령 줄 인수와 환경 변수 두가지 정보를 전달하고 프로그램을 실행시킨다. c 컴파일러가 프로그램을 컴파일 할 때 메인 함수 말고 별도의 코드를 추가한다. 이것을 c start-up routine이라고 한다. 여기서 exec에서 받은 인자를 가지고 main 함수를 호출한다. 프로그램 종료 프로그램 종료는 정상 종료, 비정상 종료로 나누는데 이것은 커널의 입장에서 논한다. 정상 종료 main() 실행을 마치고 리턴하면 C 시작 루틴은 이 리턴값을 가지고 exit()을 호출 프로그램 내에서 직접 스스로 exit()을 호출 비정상 종료 exit을 부르지 않고 종료하는 것(ex-kill) 시그널에..

DEVOPS/LINUX 2021.12.04

[Linux] 프로세스 명령어(sleep, kill, exit)

sleep 지정된 시간(초)만큼 실행을 중지한다. $ sleep (초) kill 현재 실행중인 프로세스를 강제로 종료한다. $ kill [-시그널] 프로세스번호 exit 쉘을 종료하고 종료코드(exit code)을 부모 프로세스에 전달한다. $ exit [종료코드] exit(0) - 정상적인 종료 exit(1) - 비정상적인 종료(오류 났을 때) 부모 프로세스는 전달된 종료코드를 보고 자식 프로세스가 이 번호로 가지고 종료했다는 것을 알게된다. 커널 입장에서 exit 했다는 것은 이 프로세스가 정상적으로 사용자가 종료했다고 생각한다. 오류라는 것은 프로그래머가 생각하는 논리적인 오류이다. 커널 입장과 프로그래머 입장에서 오류를 판단하는 기준이 다르다.

DEVOPS/LINUX 2021.12.04

[Linux] 프로세스란?(+init프로세스)

프로그램과 프로세스 프로그램이란 실행 파일이다. 실행 파일이 주기억장치에 올라가 실행을 하게 되면 프로세스로 만들어진다. 프로세스란 실행중인 상태의 프로그램을 말한다. 프로그램 자체가 프로그램은 아니다. 하나의 프로그램에서 여러 개의 프로세스를 생성할 수 있다. 각 프로세스를 프로그램의 인스턴스라고 한다. 프로세스를 다른 프로세스가 만든다. 프로세스마다 부모 자식간의 관계가 있는데 만든 프로세스를 부모 프로세스, 만들어진 프로세스를 자식 프로세스라고 부른다. 모든 프로세스는 부모 프로세스를 가진다. ex) 쉘에서 프로세스를 만드는게 가장 흔한 프로세스를 만드는 방법이다. 쉘이라는 프로세스가 vi라는 프로세스를 만든다. 프로세스 각 프로세스는 유일한 프로세스 번호 PID를 갖는다. 사용자는 파일 이름으로 ..

DEVOPS/LINUX 2021.12.04