클라우드 컴퓨팅의 핵심적인 아이디어는 인터넷이다. 인터넷에 연결된 거대한 컴퓨터를 사용한다.
서버 쪽을 관리하는 부분은 보안이 매우 중요하다.
100대의 컴퓨터에 다 똑같은 아이디와 비밀번호를 사용하는 것은 보안상 매우 위험할 수 있다.
그래서 2단계 인증을 사용하는 것이다. 2단계 인증은 아이디와 비밀번호를 입력하는 과정을 두번 거치는 것이다.
identity and access management가 있다. 이것을 클릭해본다.
multifactor authentication: 2단계 인증
30초마다 비밀번호가 바뀜 => 훨씬 더 안전하다.
The MFA device was successfully associated. (2단계 인증이 잘 되었다.)
아마존의 컴퓨터와 우리들의 컴퓨터 사이의 거리가 멀수록 컴퓨터 속도가 느려진다.
아마존 데이터 센터가 자신의 위치에 더 가까울수록 컴퓨터 속도가 더 빨라진다.
Availability zone(가용영역): 하나의 건물이 무너진다 해도 다른 건물에 백업을 해놓을 수 있다.
EC2 => 인스턴스 => 인스턴스 시작
choose AMI: 여러분이 임대한 컴퓨터를 설치하는 과정이다.
ubuntu 18버전 선택 => choose an instance type(임대할 컴퓨터의 사양을 선택하라, 컴퓨터를 켜는 순간 부터 과금이 발생한다.) =>
m이 붙어있는 타입은 메모리의 측면에서 더 우위에 있는 인스턴스 타입이다.
c가 붙어있는 타입은 cpu의 측면에서 더 우위에 있는 인스턴스이다.
general purpose: 여러가지 목적으로 두루두루 쓸수 있다.
compute optimized: cpu파워를 많이 요구하는 경우.
GPU: GPU가 강한 경우
Storage optimized: 저장공간이 넉넉하게 제공된다.
인스턴스 타입을 고르는 단계가 중요한 이유는 가격과 관련이 있기 때문이다.
리눅스 컴퓨터를 1년간 한번도 끄지 않고 써도 무료이다.
여러 컴퓨터를 쓴다면 이 컴퓨터들의 사용시간을 합친 것이 750시간 만큼 쓸 수 있다는 뜻이다.
켜고 끄고 할수 인스턴스들을 온 디맨드 인스턴스라고 한다.
계속 인스턴스 켜 놓으면 가격이 많이 나오지만 잠깐 쓰고 켠다면 가격 경쟁력이 훨씬 좋아진다.
컴퓨터를 일시정지 시켜놓으면 과금이 되지 않는다. 따라서 필요할 때에만 컴퓨터를 켜고 필요없을 때에는 컴퓨터를 일시정지 시켜놓음으로서 과금을 더 줄일 수 있다.
최대 75%까지 할인된 가격으로 아마존의 컴퓨터를 대여할 수 있다.
필요할 때마다 컴퓨터를 켜고 끌수 있다는 것은 아마존이 이미 엄청난 컴퓨터를 보유하고 있다는 뜻이다.
노는 컴퓨터가 항상 존재한다는 뜻이다. 노는 컴퓨터가 많은 때에는 가격이 저렴하다. 노는 컴퓨터가 없으면 일반 인스턴스보다 가격이 높아질 수 있다. 스팟 인스턴스를 사용하면 아주 저렴한 가격으로 인스턴스를 사용할 수 있다.
configure instance: 여러분이 만들려고 하는 컴퓨터에 여러가지 셋팅을 할 수 있다.
우리가 만든 가상 머신에 원격 제어라는 방법을 살펴보자.
1. 리눅스 원격제어하는 방법을 살펴보자.
원격제어: 어떤 컴퓨터에서 인터넷으로 원격컴퓨터에 접속해서 마치 자신의 컴퓨터인 것처럼 다루는 기술.
운영체제(windows, linux, mac)마다 원격제어하는 방법이 다름.
윈도우에 ssh 역할을 하는 프로그램을 직접 깔아야 함. 윈도우에 원격제어 프로그램을 깔아야 함.
가상머신을 만든 상태에서 (서버측 설치)
1. a standalone SSH client에 체크
2. 발급받은 키를 공개적으로 볼 수 없도록 설정 (chmod 400 키이름)
3. 원격 컴퓨터 접속, 키가 위치한 폴더에서 ssh -i "키이름" ubuntu@DNS주소 입력 (ubuntu는 인스턴스가 만들어질 때 기본으로 만들어지는 아이디이다.)
4. yes를 눌러주면 됨. 원격 접속이 성공한 상태. 다시 local computer로 돌아가고 싶을 때에는 exit를 써주면 된다.
5. 가상 머신에서 nvm, node, npm을 설치함.
5. git clone으로 원하는 프로젝트 내려받기.
6. 서버 측 폴더로 들어간 후 npm install, npm start로 서버 실행시키기.
(클라이언트 설치)
1. 두 개의 버킷을 만든다. (하나는 root domain: example.com, 다른 하나는 sub domain: www.example.com)
2. root domain에는 client에서 build한 프로젝트를 업로드한다. 속성창에서 맨 밑의 정적 호스팅을 활성화 시키고 인덱스 문서와 오류 문서의 이름을 index.html로 작성해 준다.
3. 권한 탭을 선택하고 버킷정책을 누르고 정책 생성기를 누른다.
4. 정책 생성기 셋팅 과정 (root domain):
4.1 Select Type of Policy: S3 Bucket Policy
4.2 Effect: Allow
4.3 Principal: * 모든 오브젝트를 허용함.
4.4 Actions: GetObject를 선택함.
4.5 Amazon Resource Name (ARN)에는 arn:aws:s3:::<bucket_name>/<key_name>를 입력함.
4.6 Add Statement 를 클릭함.
4.7 Generate Policy를 클릭하고 화면에 나온 json 형태의 정책을 복사한 후 버킷 정책에 붙여 넣고 저장한다.
4.8 모든 퍼블릭 엑세스 차단을 uncheck해 주시고 default encryption을 활성화 시켜 준다.
(sub domain)
4.1 속성 탭에서 정적 호스팅을 활성화 시키고 Redirect Requests for an object를 선택함.
4.2 target bucket 박스에 root domain의 이름 (example.com) 적어준다.
4.3 protocol은 http로 선택하고 저장한다.
윈도우즈라는 운영체제에서 리눅스에 접속해서 원격제어를 하려고 하면 그냥은 안되고 리눅스에 있는 ssh 역할을 하는 프로그램을 설치해야 한다. 즉 원격제어 프로그램을 깔아야 한다. 그래서 우리가 선택한소프트웨어는 netsarang의 xshell이라는 것이다. 중요한 것은 password가 아니라 public key를 선택하고 처음에 설정한 pem파일을 제출하면 되는 것이다. 이 컴퓨터에 원격으로 접속을 하면 그 체제가 윈도우건, 리눅스건, 맥이건 다 똑같이 작동한다.
보안그룹을 설정하는 것이 또한 중요하다. 우리는 http와 https를 모두 열어둘 것이므로 설정된 보안 그룹 이름에서 80, 443번 포트를 추가적으로 열어주어야 한다.
AMI (Amazon machine image): 어떤 프로그램을 얼렸다가 나중에 똑같이 복원할 수 있는 상태를 말한다.
AMI가 생성되는 동안은 일시적으로 원본이미지가 중단되고 접속이 끊긴다.
이 말인 즉슨 원본 파일을 이미지화하는 작업을 현재 하고 있다는 뜻이다.
이 이미지를 가지고 얼마든지 많은 인스턴스를 생성할 수 있다.
그 이후로는 urclass의 ec2에서 인스턴스를 만드는 작업과 똑같습니다.
그러나 보안 설정 부분이 다릅니다.
또 하나 다른 점은 가상 머신 아이디가 ubuntu가 아니라 root로 나온다는 점입니다.