펌 - 출처 : GCP qwiklabs

 

Cloud Shell 시작

GCP Console의 오른쪽 상단에 있는 아이콘을 클릭하여 Cloud Shell 세션 오픈

Cloud Shell을 시작

- Cloud Shell이 활성화되면 명령줄을 사용하여 Cloud SDK gcloud 명령어나 가상 머신 인스턴스에서 사용할 수 있는 다른 도구 호출 가능

- $HOME 디렉터리는 본인에게만 공개되며 다른 사용자는 액세스할 수 없음

 

리전 및 영역의 이해

- 리전(resion): 리소스를 실행할 수 있는 특정 지리적 위치

- 각 리전에는 하나 이상의 영역(zone) 有

- 예: us-central1 리전은 us-central1-a, us-central1-b, us-central1-c  us-central1-f 영역이 있는 미국 중부의 리전

- 영역별 리소스 : 영역 내에 상주하는 리소스

- 영구 디스크를 가상 머신 인스턴스에 연결하려면 두 리소스가 모두 같은 영역에 있어야 하며, 인스턴스에 정적 IP 주소를 할당하려는 경우 인스턴스가 정적 IP와 같은 리전에 있어야 함

- 참고 : 리전 및 영역 문서

- 기본 리전 & 영역 설정

google-compute-default-zone google-compute-default-region

기본 리전 및 영역 설정을 확인하려면  gcloud 명령어 실행

※ <your_project_id>부분에 본인의 프로젝트 ID 입력

gcloud compute project-info describe --project <your_project_ID>

 

응답에서 google-compute-default-region  google-compute-default-zone 키와 값이 누락되면 기본 영역이나 리전이 설정되지 않은 것

 

Cloud SDK 초기화

- gcloud CLI는 Google Cloud SDK에 포함

-시스템에 SDK를 다운로드하고 설치한 후 gcloud init을 실행하여 SDK를 초기화하면 gcloud 명령줄 도구 사용 가능

- gcloud CLI는 Cloud Shell에서 자동 제공

 

환경 변수 설정

프로젝트 ID 환경 변수 설정

export PROJECT_ID=<your_project_ID>

 

ZONE 환경 변수 설정

export ZONE=<your_zone>

 

변수 설정 확인

echo $PROJECT_ID
echo $ZONE

 

 

gcloud를 사용하여 가상 머신 만들기

- gcloud를 사용하여 새로운 가상 머신 인스턴스 생성

  • gcloud compute : Compute Engine API를 사용할 때보다 익숙한 형식으로 Google Compute Engine 리소스 관리 가능
  • instances create : 새 인스턴스 생성

가상머신 생성

  • 가상 머신의 이름 : 'gcelab2'
  • 머신 유형 : 'n1-standard-2' / --machine-type 플래그 사용
  • 영역 설정 : --zone 플래그 사용
gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone $ZONE

 

(결과)

※ --zone 플래그 생략시, gcloud가 기본 속성 기준으로 원하는 영역 설정. 머신 유형  이미지와 같은 기타 필수 인스턴스 설정은 create 명령어에 지정되지 않은 경우 기본값으로 설정됨.

 

create 명령어 : 도움말 표시

gcloud compute instances create --help

 

 

gcloud 명령어 사용

- gcloud 사용 시 gcloud 호출 명령어의 끝에 -h 플래그를 추가하면 사용 안내가 표기됨.

gcloud -h

 

더 상세한 도움말을 확인하려면 --help 플래그를 추가하거나 gcloud help 명령어를 실행

gcloud config --help

 

도움말 콘텐츠를 스크롤하려면 Enter 키나 스페이스바, 표시된 콘텐츠에서 나가려면 q 입력

gcloud help config

 

- 상세 도움말 표시 : gcloud config --help 또는 gcloud help config

gcloud 전역 플래그는 호출 레벨에 따른 명령어 동작 제어. 플래그는 SDK 속성에서 설정된 모든 값을 재정의

 

환경에서 구성 목록 확인

gcloud config list

 

다른 설정 속성 확인

gcloud config list --all

 

컴포넌트 리스트 확인

gcloud components list

 

 

 

자동 완성

- gcloud interactive는 명령어 및 플래그를 자동으로 추천, 명령어 입력 시 하단에 인라인 도움말 스니펫을 표시

- 드롭다운 메뉴 : 명령어/하위 명령어 이름과 같은 정적 정보와 플래그 이름 및 열거형 플래그 값을 자동 완성 가능

 

베타 구성요소 설치

gcloud components install beta

 

gcloud interactive 모드로 전환

gcloud beta interactive

 

- 대화형 모드를 사용하는 경우 Tab 키를 클릭하여 파일 경로 및 리소스 인수 입력

- 드롭다운 메뉴가 나타나면 Tab 키를 사용하여 목록을 이동하고 스페이스바를 사용하여 원하는 항목을 선택

gcloud compute instances describe <your_vm>

 

- Cloud Shell 하단에 이 기능을 설정하는 단축키가 표시됨. 여기에서 F2 토글 가능.

- F2:help:STATE를 통해 활성 도움말 섹션(ON: 사용, OFF: 사용 중지)을 전환

 

VM 인스턴스에 SSH 사용

- gcloud compute : 인스턴스에 연결

- gcloud compute ssh : SSH에 래퍼 기능을 제공하여 인증 및 인스턴스 이름과 IP 주소의 매핑을 처리

 

gcloud compute ssh를 사용하여 가상 머신에 SSH를 사용

gcloud compute ssh gcelab2 --zone $ZONE

 

(결과)

WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys.

 

'Y' 입력

Do you want to continue? (Y/n)

암호 섹션에서는 암호 입력 후 Enter 키를 눌러 암호 설정 (그냥 Enter를 누르면 암호가 공백으로 설정됨)

Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)

'exit'를 입력하면 원격 셸이 종료되어 SSH 연결 종료

exit

 

 

 

홈 디렉터리 사용

- Cloud Shell 홈 디렉터리의 콘텐츠는 가상 머신을 종료했다가 다시 시작해도 모든 Cloud Shell 세션의 프로젝트에서 유지됨

현재 작업 디렉터리 변경

cd $HOME

 

vi 텍스트 편집기를 사용하여 .bashrc 구성 파일 오픈

vi ./.bashrc

 

편집기가 열리면서 파일 콘텐츠가 표시됨. ESC 키를 누른 후 :wq를 입력하여 편집기를 종료.

 

Trading 이란?

트레이드는 개인이나 법인이 상품과 서비스를 사고파는, 혹은 돈을 교환하는 경제 기본 개념

- 사고파는 행위, 즉 거래가 가능한 장소를 시장(market)이라고 한다.

- 금융 시장(financial market)은 주식(Security), 채권(Bond), 코모디티(Commodity) 등의 매매를 의미한다.

 

Trade is a basic economic concept involving the buying and selling of goods and services from one person or entity to another, often in exchange for money
- A network that allows trade is called a market
- In financial markets, trading refers to the buying and selling of securities, bonds, commodities, and so on.

 

Commodity Trading (코모디티 트레이딩)

Commodity는 같은 유형의 다른 Commodity와 교환할 수 있는 상거래에 사용되는 기본으로, 원유, 구리, 옥수수 등 Commodity 별로 구분되지만, 각 Commodity는 비교적 균일한 품질을 가져야 한다. 규격이 예상 가능해야 거래가 가능하기 때문이며, 균일한 품질을 유지하기 위해 만든 거래소는 Commodity별로 규격을 정해놓았다.

- Commodity 트레이딩은 시간과 공간 규격 등의 변화를 최적화 함으로써 가치를 창출하는 행위를 의미한다.

- Commodity의 절대적인 가격보다는 상대적인 가격, 즉 differential이 더 중요한 고려 요소이다. 절대가격에 배팅을 하기도 하지만, 절대가격에 대한 배팅은 Risk가 매우 크기 때문에 제한적으로 행해질 수 밖에 없다.

- 석유 트레이딩은, 주로 원유와 석유 제품에 대한 트레이딩을 의미하며, Commodity 트레이딩 중 에너지 트레이딩의 한 부분이다.

 

A commodity is a basic good used in commerce that is interchangeable with other commodities of the same type; commodities are most often used as inputs in the production of other goods or servics. The quality of a given commodity may differ slightly, but it is essentially uniform across producers.

Commodity trading is, in essence, the process of transforming commodities in space, time, and form(specification).
- The creation value in commodity trading involves optimizaing these transformation.
- Typical commodity traders are primarily concerned with price differential rather than the absolute level of price.

 

Commodity Trading (source : freepik.com)

 

국가 부도의 날 Official Trailer

 

지금 당신은 IMF의 설립 목적을 크게 위반하고 있습니다.

그 어떤 국제기구라도 구제 금융을 이유로 한 나라의 경제적 자율성을 침해할 권리는 없습니다.

*

Unemployment becomes the norm... we must not choose that world.

실업이 일상이 되는 세상... 그런 세상으로 가서는 안됩니다.

*

위기는 반복돼요. 위기에 또 당하지 않기 위해선 잊지 말아야 해요.

끊임없이 의심하고 사고하는 것. 당연한 것을 당연하게 생각하지 않는 것. 그리고 항상 깨인 눈으로 세상을 바라볼 것.

 

 

<국가부도의 날, Default>

감독 : 최국희

출연 : 김혜수(한시현), 유아인(윤정학), 허준호(갑수) 등

2018

 

 

Meru Official Trailer

 

Conrad Anker

I'm offering encouragement. I'm like, "Yes, we can do this.", "This is good."

Yet, in the back of my mind, I knew that I might have to be... it might be, "Renan, you're just physically are not prepared to go back to Meru."

전 격려를 많이 했어요. "그래, 할 수 있어", "좋아"

하지만 마음 한 구석으로 이런 생각을 했어요.  "레넌, 신체적으로 넌 메루에 다시 갈 수 없을거야"

 

Jimmy Chin

After some time off and some serious contemplation... the idea of not skiing and not climbing and not being in the mountains was too much to imagine. I just wasn't ready to give it all up.

좀 쉬면서 여러가지 생각도 해 봤지만 스키도 안타고, 등반도 안하고 산에 안 간다는 생각은 상상조차 할 수 없었어요. 모든 걸 포기할 수 없었죠

 

Renan Ozturk

But for me, it was worth the risk. It was something that I had to do. It was worth possibly dying for.

하지만 위험을 무릅쓸 가치가 있었습니다. 이건 꼭 해야 할 일이고 설사 죽어도 후회는 없어요. 

 

Jimmy Chin

Renan had put his heart and mind into recovering. And the way that he had progressed was almost inhuman.

Conrad and I were gonna go back to Mery. But we still had to make a decision about Renan.

레넌은 재활에 모든 걸 쏟아 부었습니다. 그가 보여준 노력은 정말 초인적이었죠.

콘래드와 전 메루에 다시 가려고 했습니다. 하지만 레넌에 대해 결정을 해야만 했죠. 레넌은 가는 것에 대해 완강했습니다.

 

Grace Chin (Jimmy's sister)

He jst said, flat out, "If Renan feels he's ready, I trust Renan."

지미는 담담하게 말했어요. "레넌이 준비됐다면 난 그를 믿어"

 

Jon Krakauer (Author of 'Into Thin Air')

If you survive it, if your family comes out of it okay, if everyone comes out, then climbing is so worth it. The problem is, as we know, you don't always com out of it okay. People die. And then you can't justify it. That is the great dilemma.

등반의 보상은 엄청나죠. 만약 살아 돌아오고 가족들이 이상이 없고, 모두 이상이 없으면 등반은 아주 가치가 있습니다. 문제는 알다시피 항상 좋게 끝나지 않는다는 거죠. 사람이 죽는 걸 정당화할 순 없어요. 그게 큰 딜레마입니다.

 

 

<메루 Meru, 한계를 향한 열정>

감독 - 지미 친(Jimmy Chin), 엘리자베스 차이 베사헬리(Elizabeth Chai Vasarhelyi)

출연 - 지미 친(Jimmy Chin), 콘래드 앵커(Conrad Anker), 레넌 오즈터크(Renan Ozturk)

다큐멘터리, 2015

 

 

 

구글 클라우드 플랫폼(Google Cloud Platform, GCP) 가상 머신 만들기

 

Google Cloud Shell 활용 기본

 

1. GCP Console 우측 상단 툴바에서 "Cloud Shell 열기" 버튼 클릭

 

2. 사용중인 계정 목록 확인

gcloud auth list

출력 예시 :

Credentialed accounts : 

- <myaccount>@<mydomain>.com (active)

           Credentialed Accounts
ACTIVE  ACCOUNT
*       student-00-f277cc1c8483@qwiklabs.net

To set the active account, run:
    $ gcloud config set account `ACCOUNT`

 

3. 프로젝트 ID 목록 확인

gcloud config list project

출력 예시 :

[core]

project = <project_ID>

[core]
project = qwiklabs-gcp-00-5344faae0668

Your active configuration is: [cloudshell-31578]

 

4. 기타 gcloud 명령어

Google Cloud gcloud 개요 : gloud 명령어 도구 (Cloud SDK 문서)

https://cloud.google.com/sdk/gcloud

 

 

리전(Region)과 영역(Zone)의 이해

 

https://cloud.google.com/compute/docs/regions-zones/

- 리전(Region) : 리소스를 실행할 수 있는 특정 지리적 위치

- 영역(zone) : 각 리전에는 1개 이상의 영역이 있음 (예: asai-northeast3 리전은, asia-northeast3-a, asia-northeast3-b, asia-northeast3-c 영역이 있는 서울 리전을 나타냄)

- asia-northeast3 (대한민구 서울) 리전

  . 영역 : asia-northeast3-a, asia-northeast3-b, asia-northeast3-c 

  . 사용 가능한 CPU 플랫폼 : intel Xeon(Skylake) 플랫폼(기본 플랫폼)

  . 기능 : Skylake 플랫폼을 사용할 때 최대 96개의 vCPU가 있는 N1 머신 유형, 로컬 SSD, 단독 테넌트 노드

- GPU 사용 가능한 리전/영역 : asia-east1-a, asia-east1-b, asia-northeast1-a, asia-south1-b, asia-southeast1-b, austrailia-southeast1-a, austrailia-southeast1-b, europe-west1-b, europe-west1-d, eurpoe-west4-a, eurpoe-west4-b, eurpoe-west4-c, northamerica-northeast1-a, northamerica-northeast1-c, southamerica-east1-c, us-central1-a, us-central1-b, us-central1-c, us-central1-f, us-east1-b, us-east1-c, us-east1-d, us-east4-a, us-east4-b, us-east4-c, us-west1-a, us-west1-b, us-west2-b, us-west2-c

리전

영역

위치

asia-east1

a, b, c

타이완 창후아 카운티

asia-east2

a, b, c

홍콩

asia-northeast1

a, b, c

일본 도쿄

asia-northeast2

a, b, c

일본 오사카

asia-northeast3

a, b, c

대한민국 서울

asia-south1

a, b, c

인도 뭄바이

asia-southeast1

a, b, c

싱가포르 주롱웨스트

australia-southeast1

a, b, c

오스트레일리아 시드니

europe-north1

a, b, c

핀란드 하미나

europe-west1

b, c, d

벨기에 상기슬랑

europe-west2

a, b, c

영국 잉글랜드 런던

europe-west3

a, b, c

독일 프랑크푸르트

europe-west4

a, b, c

네덜란드 엠스하벤

europe-west6

a, b, c

스위스 취리히

northamerica-northeast1

a, b, c

캐나다 퀘벡 몬트리올

southamerica-east1

a, b, c

브라질, 오사스쿠(상파울루)

us-central1

a, b, c, f

미국 아이오와주 카운슬블러프즈

us-east1

b, c, d

미국 사우스캐롤라이나주 몽크스 코너

us-east4

a, b, c

미국 북부 버지니아주 애쉬번

us-west1

a, b, c

미국 오리건주 댈러스

us-west2

a, b, c

미국 캘리포니아주 로스앤젤레스

 

 

Cloud Console에서 새로운 인스턴스 만들기

 

1. GCP Consloe 좌측 상단의 탐색 메뉴 > Compute Engine > VM인스턴스 선택 후, [만들기, Create] 클릭

GCP Consloe 에서 새로운 인스턴스 생성

 

2. 인스턴스 생성을 위한 매개변수

필드

추가정보

이름

gcelab

 

리전

us-central1(아이오와)

또는

asia-south1(뭄바이)

리전 및 영역 문서에서 리전에 관해 자세히 알아보세요.

영역

us-central1-c

또는

asia-south1-c

참고: 나중에 필요하므로 선택한 영역을 기억해 둡니다.

리전 및 영역 문서에서 영역에 관해 자세히 알아보세요.

머신 유형

vCPU 2개

(n1-standard-2)입니다.

2-CPU, 7.5GB RAM 인스턴스입니다.

마이크로 인스턴스부터 32코어/208GB RAM 인스턴스까지 다양한 머신 유형이 있습니다. 머신 유형 문서에서 자세히 알아보세요.

참고: 새로운 프로젝트에는 기본 리소스 할당량이 있어 CPU 코어 수가 제한될 수 있습니다. 이 실습 외부 프로젝트에서 작업할 때 더 요청할 수 있습니다.

부팅 디스크

새로운 10GB 표준 영구 디스크

OS 이미지: Debian GNU/Linux 9(stretch)

Debian, Ubuntu, CoreOS는 물론 Red Hat Enterprise Linux 및 Windows Server와 같은 프리미엄 이미지를 포함한 다양한 이미지를 선택할 수 있습니다. 자세한 내용은 운영체제 문서를 참조하세요.

방화벽

HTTP 트래픽을 선택합니다.

나중에 설치하게 될 웹 서버에 액세스할 수 있도록 이 옵션을 선택하세요.

참고: 이렇게 하면 포트 80에서 HTTP 트래픽을 허용하기 위한 방화벽 규칙이 자동으로 만들어집니다.

 

인스턴스(Instance) 생성을 위한 매겨변수 참조

 

 

3. 인스턴스 생성 확인 및 SSH 연결

인스턴스 SSH 실행

 

4. NGINX 웹 서버 설치

SSH연결 후, sudo를 사용하여 root 권한 획득

sudo su -

 

root 권한으로 OS 업데이트

apt-get update

 

NGINX 설치 및 실행 확인

apt-get install nginx -y

ps auwx | grep nginx

출력 예시 : 

 

http://EXTERNAL_IP/ 를 접속하여 웹페이지 확인

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

 

5. gcloud로 새 인스턴스 만들기

Cloud Shell에서 gcloud 를 사용하여 새 가상머신 인스턴스 생성하거나 [YOUR_ZONE]에서 제공된 영역 중 하나로 대체 

gcloud compute instances create gcelab2 --machine-type n1-standard-2 --zone [your_zone]

 

기본값 확인

gcloud compute instances create --help

 

gcloud에서 사용할 기본 리전과 영역 설정 명령어

gcloud config set compute/zone ...

gcloud config set compute/region ...

 

gcloud를 사용하여 SSH를 통해 인스턴스 연결

gcloud compute ssh gcelab2 --zone [YOUR_ZONE]

 

연결 후에는 원격 쉘에서 종료하여 SSH연결을 끊는다.

exit

+ Recent posts