인스터스 시작 -> 생성하는 거!! launch!
이름: 식별자 (용도가 무엇인지 적는 거)
새로운 볼륨 생성을 '아니오' 선택하면
영구볼륨이 아니라 nova 볼륨이 지워지면 함께 지워지는 임시디스크이다.
=> 결론적으로 '아니오'선택하면 임시디스크 선택하는 고임!!
* public에서는 인스턴스삭제시 볼륨삭제가 '예'가 디폴트임
디스크 총계 = 기준값
여기서 포트 = IP로 생각한다.
프라이빗 IP는 아직 설정하지 않았기 때문에 PASS~
키 페어를 미리 만들었기 때문에 할당되어 있음!
사용자 정의 스크립트 = cloud init (사용자 데이터)
인스턴스가 만들어지는 과정에서 아래 내용이 설치가 되는 기능
#!/bin/bash
yum install -y httpd
systemctl enable --now httpd
echo "<h1>WEBSERVER</h1>" > /var/www/html/index.html
파일로 업로드를 할 수도 있고 이렇게 타이핑을 통해서 업로드를 할 수도 있다.
-> 핑을 아무리 쳐도 안나감!! 이건 당연함!
나 최고!!
-> 앞서 만들어둔 3개의 IP중 아무거나 연결해줌!!
핑 간당~~~
만약 핑이 안간다면! 보안그룹 설정을 확인해봅시다^^
나의 실수 ^_~
요기까지 셋팅했다면 잘하는 고임 ㅎ
Get images
https://docs.openstack.org/image-guide/obtain-images.html
-> 다양한 이미지가 있어서 필요한 이미지를 다운로드 받아서 실습할 수 있다.
나의 경우, CentOS7 images를 다운로드 받았당
비록 DB서버지만 우분투용으로 작성을 해보기
(기동시키는 명령어가 필요X)
#!/bin/bash
apt update
apt install -y apache2
echo "<h1>WEBSERVER_CHU</h1>" > /var/www/html/index.html
미리 만들어둔 IP 중 하나선택~~~
PING 열림~~~!
웹도 띄우기 위해서 보안그룹에서 HTTP를 허용해 주었습니당~
요기서부터 인스턴스를 새로 만들어서 위의 IP랑 다르다!!
(나 자신 참고~~><)
ls -> pem키 넣기
# chmod 400 webui-key.pem
# ssh -i webui-key.pem ubuntu@10.241.10.14
-> Moba에서 접속하고 페이지 duplicate하기 이건 디비서버 하려고~
wordpress 설치하기
$ sudo apt update
$ sudo apt install mariadb-server nfs-common -y
$ sudo mysql_secure_installation
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address = 127.0.0.1
$ sudo systemctl restart mysql
$ sudo mysql -u root -p
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
quit
$ sudo yum install -y httpd php php-mysql php-gd php-mastering wget unzip mysql
Cinder와 Swift 스토리지 관리 OpenStack Cinder은 오픈소스 클라우드 컴퓨팅 플랫폼인 OpenStack의 구성요소 중 하나! Cinder는 블록 스토리지 서비스를 제공하여 가상 머신 및 다른 컴퓨팅 리소스에 대한 지속적인 블록 수준 스토리지를 관리함 이는 대규모 클라우드 컴퓨팅 환경에서 스토리지 리소스의 동적할당과 관리를 가능하게 한다. 1) 블록 스토리지 관리 다양한 종류의 블록 스토리지 백엔드를 지원하며 이를 통해 사용자는 스토리지 리소스를 동적으로 할당하고 관리할 수 있다. 2) 스냅샷 및 볼륨 복제 스냅샷을 지원하여 특정 시점의 볼륨 상태를 저장하고 이를 사용하여 데이터 복구나 백업을 수행할 수 있다. 또한, 볼륨 복제를 통해 데이터의 안정성과 가용성을 향상시킬 수 있다. OpenStack Swift은 객체 스토리지 시스템으로, 대규모 데이터를 저장하고 검색할 수 있는 오픈소스 프로젝트! 이 시스템은 대량의 데이터를 안전하게 저장하고 확장 가능한 방식으로 관리할 수 있도록 설계되었다. 1) 객체 스토리지 데이터를 객체로 저장하며 각 객체는 고유한 식별자(URL)를 가지고 있다. 2) 컨테이너 객체의 그룹. 여러 객체를 논리적으로 그룹화하여 저장할 수 있다. 3) 객체 Swift에 저장된 기본 데이터 단위. 각 객체는 메타데이터와 데이터 본문을 포함한다. |
볼륨 이름이 가독성이 떨어지니까 이름을 변경해줌!
$ sudo tar -xvf aws.tar -C /var/www/html/
root 볼륨의 공간을 확보하기 위해서 tar파일 옮기기!
(##a: 루트볼륨)
$ sudo mkfs -t ext4 /dev/vdb
$ mkdir add
$ ls
$ sudo mount /dev/vdb add
$ df -h
=> aws.tar 파일을 vd"b"에 저장되었기 때문에 root의 용량을 확보하였다!
구.런.데!!
이 디스크를 통째로 우분투에 붙이고 싶다?!!
먼저 마운트 해제시켜야함!!!
$ sudo umount
-> 디비서버로 연결!!
모바로 들어가서 확인해보니 보인당~
컨테이너 = AWS 버킷
그런데 이걸 누군가에게 공유하고 싶다?!!!
이 파일을 누군가에서 전달해주고 싶다?!
curl http://172.25.0.137:8080/v1/AUTH_51b14706322c41ea8258946bf68fb7c6/files/images/two-rabbites.jpg -o two-rabbites.jpg
orchestration : IaC; Infra as Code (heat = AWS Cloudformation)
heat_template_version: "2018-08-31"
resources:
Server_web:
type: "OS::Nova::Server"
properties:
security_groups:
- "1cea18a0-c8ed-4cf3-bfb7-bdd5e2234ac3"
networks:
- subnet: "ba2ef3e5-4dbc-415f-b0d3-bf48e54bdb1a"
name: webserver
flavor: "m1.micro"
image: "c68ff6f2-cc9e-4818-b26a-d4433371ac66"
availability_zone: nova
key_name: "webui-key"
실행하기에 앞서서 자원을 지워보기
1. 인스턴스 삭제
2. 볼륨 삭제
하나씩 선택해서 삭제하기
1. Stack
모바로도 접속 가능~~~~
dns : domain name service (designate = route53)
크롬에서 적용이 안되어서 아래와 같이 Firefox로 실행을 해주었다.
Firefox 다운로드
https://www.mozilla.org/ko/firefox/download/thanks/
heat_template_version: "2018-08-31"
resources:
Server_web:
type: "OS::Nova::Server"
properties:
security_groups:
- "1cea18a0-c8ed-4cf3-bfb7-bdd5e2234ac3"
networks:
- subnet: "ba2ef3e5-4dbc-415f-b0d3-bf48e54bdb1a"
name: webserver
flavor: "m1.micro"
image: "c68ff6f2-cc9e-4818-b26a-d4433371ac66"
availability_zone: nova
key_name: "webui-key"
[다운로드] 선택 후 [stack 생성] 선택
아래와 같이 모바로도 접속이 당근 가능~~
chmod 400 webui-key.pem
ssh -i webui-key.pem ubuntu@10.241.10.21
ssh로 접근 못하게 하려면?!
보안그룹 ID를 넣어서 한번 해보기 위해서 규칙을 다시 삭제해봄
보안그룹을 통으로 묶어서 허용할 수 있다는 거다.
-> 나중에 ELB, Load Balancing에서 또 다룰 예정!
[보안그룹]의 이해를 위해 규칙을 다시 삭제!
클라우드의 Centos 기준으로 보았을 때, 자체적인 방화벽이 없다.
그러니 보안그룹이 그런 역할을 해주는 것!
-> [보안그룹]에서 외부통제 뿐만 아니라 내부통제도 되는 것이다.
일단 http 접근을 확인하기 위해서 모바에서 httpd 설치를 먼저 해줌
sudo systemctl enable --now httpd
curl 10.241.10.10
curl을 통해서 접근을 했다면 나는 완전 잘한거임.. 물론 내일 까먹지만 않는다면 ~~~^^