b

google cloud compute engine 시작하기. 본문

Cloud

google cloud compute engine 시작하기.

dev.bistro 2013. 11. 22. 23:40

aws의 ec를 습득하고 나서, asgard, ice도 추가로 알면서 aws관리에 좀 더 흥미를 느낀 이 시점에, 구글이 같은 IaaS인  Google Compute Engine을 발표하였다.덤핑하기 시작했다. 2000$의 프리코드와 함께~  뭐 공짜이니 안할수야 없지. 한번 시작해 보도록 한다.


계정 등록과, Compute 2000$ 등록은 이미 되었다고 생각하고 그 이후 진행을 해보자. 진행 방법은 cloud.google.com 이 아닌 gcutil을 이용한 command line모드로 진행한다. 아래 링크를 참고했다.
https://developers.google.com/compute/docs/quickstart


1. gcutil 의 설치 : https://developers.google.com/compute/docs/gcutil
python으로 작성된 gcutil을 다운로드 한다. python3.X은 지원안하니 주의.

2. 그 다음 사용할 프로젝트를 기본으로 셋팅하자.

$ gcutil getproject --project=<project-id> --cache_flag_values

--cache_flag_value를 이용하면, 디폴트 프로젝트 정보를  ~/.gcutil.flags. 에 저장해줘서 매번 설정을 안해줘도 된다 만약 이 옵션을 안하면 매번 --project를 지정해야 하니 불편하겠지?


만약 여기에서 resource를 계속 못찾는다고 하면, ( Error: The resource 'projects/?????' was not found ) ' https://cloud.google.com/console#/project ' 에서 사용 원하는 프로젝트를 선택한 다음 결제 정보를 입력해준 다음 프로젝트를 활성화 시켜야 한다.

 이후 ' gcutil getproject' 를 입력하면 현재 project 정보를 확인 할 수 있다.


3.  기본적으로 GCE(google compute engine)는 모든 네트웍이 막힌 상태로 시작하기 때문에 최소한 웹서비스를 구동하려면 http 80 port는 열어줘야한다.

단 기억하고 있을점은 2개의 default firewall은 등록되어 있다는 것이다.

  • A firewall that allows SSH access to any instance.
  • A firewall that allows all communication between instances in the same network.

> gcutil listfirewalls 으로도 확인 할 수 있다.

 gcutil addfirewall http2 --description="Incoming http allowed." --allowed="tcp:http"

http2라는 이름으로 tcp:http (tcp:80과 동일) 이라는 네트웍을 허용시키라는 뜻이다. (apache web page는 기본적으로  http 80 port임을 기억하면된다)
역시 해당 정보는  > gcutil getfirewall http2로 확인 할 수 있다.


4.  실제 VM instance를 만들 차례이다.

gcutil addinstance ins1 --persistent_boot_disk

처럼 부팅가능한 ins1 인스턴스를 만들도록 하자. 위의 명령어를 입력하면 인스턴스를 생성하기 위한 몇가지 질문을 받는다.


아직은 Zone이  US와 Europe만 존재를 하고, 머신 타입은 22가지가 존재한다. 테스트용이니 제일 저렴한 녀석이 좋겠지? 가격 정책은 https://developers.google.com/compute/pricing#machinetype 여길 참고
OS는 centos 와 debian이 있는데 이까지 선택을 하면 실제적으로 VM instacne 생성 작업이 몇초 동안 진행된다.



이렇게 만들어진 인스턴스들은

gcutil listinstances 
gcutil getinstance ins1

의 명령어도 인스턴스목록, 해당 인스턴스의 기본정보를 확인 할 수 있다. 


기본적으로 external IP도 함께 제공이 되기 때문에 바로 서비스에 이용할 수도 있다. (아직은 404가 뜨겟지?)



5. 접속을 한번 해보자. 앞에서 말한것처럼 각 인스턴스는 기본적으로 2개의 firewall이 기본 등록이 되어 있다. 그 중 하나는 ssh 이다. 그렇기 때문에 쉽게 접속 할 수 있다.

$ gcutil ssh ins1
....
[계정정@ins1 ~]$ 

6. 간단한 apache page 확인해보기 

me@ins1$ sudo yum install httpd
... Installed size: 3.6 M Is this ok [y/N]: y me@ins1$ sudo service httpd start Starting httpd:

실제 : http://23.236.63.6


7. 어때요 참 쉽죠?

Comments