Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 공간복잡도 #공간자원 #캐시메모리 #SRAM #DRAM #시간복잡도
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #고가용성 #테스트 #alb #application #load balancer #application
- aws #아키텍트 #과정 #vpc #인프라 구축 #aurora #database #rds #rdbs #load #balancer #web #page #haproxy
- aws #아키텍트 #과정 #vpc #인프라 구축 #amazon sns #server #less #architecture
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #trigger #python3.9 #패키지 #
- 쓰레드 #쓰레드풀 #프로세스
- 프로세스 #CPU #시공유 #커널
- aws #아키텍트 #과정 #vpc #인프라 구축 #ec2 #instance #launch #template #생성 #ami #amazone #machine #image
- aws #아키텍트 #과정 #vpc #인프라 구축 #haproxy #round robin #process #high ability #auto scailling #app server #launch template
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- aws #아키텍트 #과정 #vpc #인프라 구축
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #endpoint #cloudwatch #monitoring
- aws #아키텍트 #과정 #vpc #인프라 구축 #second nat #gateway #routing table #route53 #고가용성 #private subnet #
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #웹개발
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 스토리지 #objects storage #events #upload #알림
- 비트 #바이트 #이진수
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #딥러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #KDT #기본문법 #데이터베이스 #Computer #Science #CPU #메모리
- aws #아키텍트 #과정 #vpc #인프라 구축 #sqs #message #queue #sns구독
- aws #아키텍트 #과정 #vpc #인프라 구축 #t.g #target group #alb #application #load #balancer #web #server
- aws #아키텍트 #과정 #vpc #인프라 구축 #s3 #bucket #객체 #스토리지 #isci #이미지 #업로드
- aws #아키텍트 #과정 #vpc #인프라 구축 #db #장애조치 #reand only #replica #events
- aws #아키텍트 #과정 #vpc #인프라 구축 #alb #load balancer #t.g #target #group #haproxy #high ability #db #replica #region
- aws #아키텍트 #과정 #vpc #인프라 구축 #php #alb #application #load #balancer #security #group #igw #ec2 #vpc #virtual #private #cloud
- 업로드 #lambda #함수 #모바일 이미지 #썸네일 이미지
- aws #아키텍트 #과정 #vpc #인프라 구축 #rds #replica #복제본 #aurora #database #고가용성
- aws #아키텍트 #과정 #vpc #인프라 구축 #auto scailling #lauch template #ec2 instace #private #subnet
- 썸네일 #이미지
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #OSI #ISO #AI #서버 #자동화 #SQL #기본문법 #데이터베이스 #DBMS #Oracle #MongoDB #아키텍쳐 #DB
- 스파르타코딩클럽 #부트캠프 #IT #백엔드 #머신러닝 #AI #서버 #자동화 #SQL #기본문법 #데이터베이스
Archives
- Today
- Total
요리사에서 IT개발자로
OpenStack Dalmatian 기반 Web/DB 서버 구축 가이드 본문
1. 사전 준비 작업
SELinux 및 방화벽 비활성화
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
dnf update -y
reboot
네트워크 구성 및 서비스 설정
NetworkManager 비활성화
systemctl disable --now NetworkManager
systemctl enable --now network
네트워크 설정
/etc/sysconfig/network-scripts/ifcfg-ens160 파일을 수정합니다.
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=10.0.0.131
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=8.8.8.8
DNS2=168.126.63.1
적용 및 연결 확인
reboot
ping google.com
2. OpenStack 설치 및 설정
설치
dnf config-manager --enable crb
dnf install -y centos-release-openstack-dalmatian
dnf install -y openstack-packstack
dnf install -y network-scripts
Packstack 설정
Answer 파일 생성
packstack --gen-answer-file /root/answers.txt
Answer 파일 수정
주요 설정은 아래와 같습니다:
sed -i 's/CONFIG_DEFAULT_PASSWORD=.*/CONFIG_DEFAULT_PASSWORD=test1234/' /root/answers.txt
sed -i 's/CONFIG_KEYSTONE_ADMIN_PW=.*/CONFIG_KEYSTONE_ADMIN_PW=test1234/' /root/answers.txt
sed -i 's/CONFIG_CINDER_VOLUMES_SIZE=.*/CONFIG_CINDER_VOLUMES_SIZE=80G/' /root/answers.txt
sed -i 's/CONFIG_HEAT_INSTALL=.*/CONFIG_HEAT_INSTALL=y/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=.*/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat/' /root/answers.txt
OpenStack 설치
packstack --answer-file /root/answers.txt
python 설치
dnf install -y python3-requests python3-openstackclient python3-chardet
3. Admin 프로젝트 및 유저 설정
Admin 설정
source keystonerc_admin
프로젝트 생성
openstack project create --domain Default --description "CLI Project" cli-project
OpenStack에서 Default도메인과 cli-project프로젝트에 속하는
cli-user 사용자 계정을 생성하며, 비밀번호는 프롬프트에서 입력받습니다.
openstack user create --domain Default --project cli-project --password-prompt cli-user
해당 유저의 권한 변경
openstack role add --project cli-project --user cli-user member
openstack user list
openstack flavor 리스트 확인
openstack flavor list
openstack flavor 생성
openstack flavor create --vcpus 1 --ram 1024 --disk 10 --id 6 m1.micro
openstack Network 구성
openstack network create --provider-network-type flat --provider-pyhsical-network extnet --external-network
openstack 서브넷 생성
openstack subnet create --network external-network --subnet-range 10.0.0.0/24 --allocation-pool start=10.0.0.200,end=10.0.0.250 --gateway 10.0.0.2 --no-dhcp external-subnet
CLI 유저 생성 및 구성
useradd cli-user
passwd cli-user
cli-user로 접근 ->
unset OS_SERVICE_TOKEN
export OS_USERNAME=cli-user export
OS_PASSWORD='test1234'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://10.0.0.131:5000/v3
export PS1='[\u@\h \W(cli-user)]\$ '
export OS_PROJECT_NAME=cli-project
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
네트워크 확인
4. 네트워크 및 인스턴스 설정 & 보안그룹 설정
네트워크 생성
openstack network create --provider-network-type flat --provider-physical-network extnet --external external-network
openstack subnet create --network external-network --subnet-range 172.16.0.0/24 \ --allocation-pool start=172.16.0.200,end=172.16.0.250 --gateway 172.16.0.2 --no-dhcp external-subnet
내부 네트워크 및 라우터 생성
openstack network create --project $projectID --provider-network-type vxlan internal-network
projectID=$(openstack project list | grep cli-project | awk '{print $2}')
openstack subnet create --network internal-network --subnet-range 10.255.0.0/24 --gateway 10.255.0.1 --dhcp --dns-nameserver 8.8.8.8 --dns-nameserver 168.126.63.1 internal-subnet
openstack router create router
openstack router set --external-gateway external-network router
openstack router add subnet router internal-subnet
openstack floating ip create external-network
보안그룹 생성
openstack security group create cli-sg-web
보안그룹의 포트 번호 추가
openstack security group rule create --protocol icmp --ingress cli-sg-web
openstack security group role create --protocol tcp --dst-port 80 cli-sg-web
openstack security group role create --protocol tcp --dst-port 22 cli-sg-web
Database 보안 그룹 생성
openstack security group create cli-sg-db
Database 보안그룹의 포트 번호 추가
openstack security group rule create --protocol icmp --ingress cli-sg-web
openstack security group role create --protocol tcp --dst-port 3306 cli-sg-web
openstack security group role create --protocol tcp --dst-port 22 cli-sg-web
MobaXterm 에 Rocky9과 Ubuntu 이미지 업로드
openstack image create --file Rocky-9-GenericCloud-Base.latest.x86_64.qcow2 --disk-format qcow2 rocky9
openstack image create --file noble-server-cloudimg-amd64.img --disk-format qcow2 ubuntu24
openstack image list
키페어 생성
ssh-keygen -t rsa -> 엔터 -> no -> 엔터 -> ls .ssh
Openstack에 키페어 등록
openstack keypair create --public-key ~/.ssh/id_rsa.pub cli-key
5. 인스턴스 생성
Web 서버 생성
User Data 스크립트: user-web.sh
vi user-web.sh
#!/bin/bash
timedatectl set-timezone Asia/Seoul
dnf install -y httpd systemctl enable --now httpd echo "<h1>webserver</h1>" > /var/www/html/index.html
인스턴스 생성
netID=$(openstack subnet list | grep internal-subnet | awk '{print $6}')
WebServer 생성
openstack server create --flavor m1.micro --image rocky9 --security-group cli-sg-web --nic net-id=
$netID
--key-name cli-key --boot-from-volume 10 --user-data user-web.sh webserver openstack server add floating ip webserver
floating ip 할당
openstack server add floating ip webserver 10.0.0.208
console 화면 확인
openstack console url show webserver
DB 서버 생성
User Data 스크립트: user-db.sh
#!/bin/bash
apt-get update -y
apt-get install -y mariadb-server
mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'test1234';"
mysql -e "DELETE FROM mysql.user WHERE User='';"
mysql -e "DROP DATABASE IF EXISTS test;"
mysql -e "DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%';"
mysql -e "FLUSH PRIVILEGES;" sed -i "s/^bind-address.*/#bind-address = 127.0.0.1/" /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl restart mariadb
mysql -uroot -ptest1234 <<EOF
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'Test1234!';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
FLUSH PRIVILEGES;
EOF
인스턴스 생성
openstack server create --flavor m1.micro --image ubuntu24 --security-group cli-sg-db \ --nic net-id=
$netID
--key-name cli-key --boot-from-volume 10 --user-data user-db.sh dbserver
반응형
'AWS' 카테고리의 다른 글
실습 3: Amazon VPC 인프라에 데이터베이스 계층 생성(과제 1: Amazon RDS 데이터베이스 생성) (0) | 2024.11.17 |
---|---|
Terraform 스크립트 ( AWS 인프라 구성 및 RDS & WordPress 설치 자동화) (0) | 2024.11.15 |
실습 2: Amazon VPC 인프라 구축(선택 과제 2: 인스턴스 메타데이터 검색) (0) | 2024.11.10 |
실습 2: Amazon VPC 인프라 구축( 선택 과제 1: 프라이빗 인스턴스 및 퍼블릭 인스턴스 간의 연결 문제 해결) (0) | 2024.11.10 |
실습 2: Amazon VPC 인프라 구축(과제 12: 프라이빗 서브넷의 Amazon EC2 인스턴스에 연결) (0) | 2024.11.10 |