본문

VirtualBox위에 OpenStack Liberty 설치하기 #7. 인스턴스 생성

VirtualBox위에 OpenStack Liberty 설치하기 #1. 소개

VirtualBox위에 OpenStack Liberty 설치하기 #2. Liberty 네트워크구조

VirtualBox위에 OpenStack Liberty 설치하기 #3. 네트워크 설정

VirtualBox위에 OpenStack Liberty 설치하기 #4. 노드구성

VirtualBox위에 OpenStack Liberty 설치하기 #5. 서비스설치 (1)

VirtualBox위에 OpenStack Liberty 설치하기 #6. 서비스설치 (2)


주의사항: 사용자의 확인 또는 입력이 필요한 부분은 <입력값> 의 형태로 나타낼 것이고 그 이외에는 그냥 복사 붙여넣기하여 설치를 진행할 수 있다. 또한 괄호없이 빨간색 글씨로 되어있는부분은 기본암호이므로 보안을 강화하기 위해서는 이 부분과, 관련한 설정파일들을 변경해 주어야 한다. Ubuntu14.04버전 기준으로 작성되어 다른 운영체제에서는 호환이 되지않을수 있다. 기본적으로 'sudo su'를 미리 실행하여 root 권한으로 진행하도록 한다.



Self-service Networks 환경에서는 Public Network와 Private Network로 네트워크가 구분된다. L2(Bridging/Switching) 기반의 Public Network는 외부 인터넷망에 직접 연결되는 망으로, 이 네트워크를 바탕으로하는 인스턴스는 외부 네트워크와 직접 연결된 효과를 갖는다. 반면에 L3(Routing)기반의 Private Network는 가상 라우터(그림의 VLAN Tunnels 부분)를 거쳐 외부 인터넷망에 연결되므로 추가적인 인터넷 연결설정이 필요하다. 특히 해당 네트워크내의 인스턴스는 외부망에 접속이 가능할지라도 외부 망에서 해당 인스턴스에 접근하기 위해서는 Floating IP라는 외부에 노출되는 IP를 할당해주어야 한다.


그림에서와는 약간 다르게, Public Network의 IP는 10.0.2.0/24 (VirtualBox의 NAT네트워크에서 할당받는 IP) 서브넷 중에서 10.0.2.100~10.0.2.200 사이의 IP를 할당하는것으로 설정하고, Private Network의 IP는 10.0.0.0/24 대역의 IP를 할당하는것으로 한다. 아래 모든 명령은 컨트롤러 노드에서 실행한다.


목차

1-1. 가상 네트워크 구성 - Public Network
1-2. 가상 네트워크 구성 - Private Network
1-3. 가상 라우터 구성
1-4. 가상 라우터 확인
2. 공개키 생성
3. 보안 그룹 규칙 추가(방화벽에서 Ping과 SSH허용)
4-1. Public Network에서 인스턴스 생성
4-2. Public Network에서 인스턴스 생성 후 확인
5-1. Private Network에서 인스턴스 생성
5-2. Private Network에서 인스턴스 생성 후 확인
5-3. Private Network의 인스턴스를 위하여 Floating IP 설정(Public Network 대역중 100~200을 제외한 IP 하나 선택)


1-1. 가상 네트워크 구성 - Public Network

source admin-openrc.sh
neutron net-create public --shared --provider:physical_network public --provider:network_type flat
neutron subnet-create public 10.0.2.0/24 --name public --allocation-pool start=10.0.2.100,end=10.0.2.200 --dns-nameserver 8.8.4.4 --gateway 10.0.2.1


1-2. 가상 네트워크 구성 - Private Network

source demo-openrc.sh
neutron net-create private
neutron subnet-create private 10.0.0.0/24 --name private  --dns-nameserver 8.8.4.4 --gateway 10.0.0.1


1-3. 가상 라우터 구성

source admin-openrc.sh
neutron net-update public --router:external
source demo-openrc.sh
neutron router-create router
neutron router-interface-add router private
neutron router-gateway-set router public


1-4. 가상 라우터 확인

source admin-openrc.sh
ip netns
neutron router-port-list router
ping -c 4 203.0.113.102


2. 공개키 생성

source demo-openrc.sh
ssh-keygen -q -N "" </home/user/id_rsa 입력>
nova keypair-add --pub-key /home/user/id_rsa.pub mykey
nova keypair-list


3. 보안 그룹 규칙 추가(방화벽에서 Ping과 SSH허용)

nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
nova secgroup-add-rule default tcp 22 22 0.0.0.0/0


4-1. Public Network에서 인스턴스 생성
source demo-openrc.sh
nova flavor-list <원하는 Flavor의 'Name'을 기록할것. 아래명령의 m1.tiny>
nova image-list <원하는 이미지의 'Name'을 기록할것. 아래명령의 cirros>
neutron net-list <name이 public인 항목의 네트워크 'id'를 기록할것>
nova secgroup-list <원하는 보안 그룹의 'Name'을 기록할것. 아래명령의 default>
nova boot --flavor m1.tiny --image cirros --nic net-id=<public 네트워크 id> --security-group default --key-name mykey public-instance


4-2. Public Network에서 인스턴스 생성 후 확인

nova list
nova get-vnc-console public-instance novnc <출력되는 Url을 인터넷 브라우저에서 열면 웹 vnc 화면이 출력된다.>


5-1. Private Network에서 인스턴스 생성

source demo-openrc.sh
nova flavor-list <원하는 Flavor의 'Name'을 기록할것. 아래명령의 m1.tiny>
nova image-list <원하는 이미지의 'Name'을 기록할것. 아래명령의 cirros>
neutron net-list <name이 private인 항목의 네트워크 'id'를 기록할것>
nova secgroup-list <원하는 보안 그룹의 'Name'을 기록할것. 아래명령의 default>
nova boot --flavor m1.tiny --image cirros --nic net-id=<private 네트워크 id> --security-group default --key-name mykey private-instance


5-2. Private Network에서 인스턴스 생성 후 확인

nova list
nova get-vnc-console private-instance novnc <출력되는 Url을 인터넷 브라우저에서 열면 웹 vnc 화면이 출력된다.>


5-3. Private Network의 인스턴스를 위하여 Floating IP 설정(Public Network 대역중 100~200을 제외한 IP 하나 선택)

neutron floatingip-create public
nova floating-ip-associate private-instance <위 명령에서 생성된 floating_ip_address 사용>

댓글

Holic Spirit :: Tistory Edition

design by tokiidesu. powerd by kakao.