220401 Today I Learned
일지
특이사항없음
주요 키워드
DNS & ELB
오늘의 할일
- 220401 TIL 작성
- 강의 교재 7장 내용 정리
- AWS SAA 스터디
- Tutorial: Create a web server and an Amazon RDS DB instance 해보기
- Markdown for Github 정리
- 깃&깃헙 정리
- JtP
추가로 정리해야할 부분
NAT INS Bastion host
수업 정리
DNS
- Domain Name System
- DNS 역할
- 사람이 읽을 수 있는 도메인 네임을 숫자 IP 주소로 변환
- FQDN: Full Qualified Domain Name
- 구성 및 체계
- Root: 인터넷 도메인의 최상위 단계
- 1단계 도메인(Top Level Domain, TLD): 루트 도메인 바로 아래 단계
- 국가명 도메인(kr 등) + 일반 최상위 도메인(com 등)
- Domain Name System
이미지 삽입예정
- 동작 원리
- 사용자의 요청은 DNS 서버로 전달
- DNS 서버의 레코드 or 캐시에 있을 경우 사용자에게 전달
- DNS 서버가 알지 못하는 레코드인 경우 다음 중 하나를 수행
- 재귀(Recursive) query: 다른서버로 DNS 요청 전달
- 반복(Iterative) query: 직접 확인을 위한 단계적 반복
- DNS 서버가 획득한 레코드를 사용자에게 전달
Route 53
- AWS를 통해 사용할 수 있는 클라우드 기반 DNS 서비스
- EC2, ELB, S3 Bucket 등의 연결정보 제공
- 외부 서비스 연결 정보 제공
- 다양한 부가 옵션
- 로드 밸런싱
- 연결 체크를 통한 Failover 구성
- 지연시간 기반 라우팅
- 가중치 기반 라우팅
- 지역 기반 라우팅
로드밸런싱
- 로드밸런싱 개념 이해
- 네트워크 트래픽을 하나 이상의 서버나 장비로 분산하기 위한 기술
- 소프트웨어 또는 하드웨어 방식으로 적용 - 로드밸런서
- 로드 밸런싱 방식
- 라운드 로빈(Round Robin)
- 현재 연결된 세션 수와 무관하게 순차적으로 연결 전달
- 세션에 대한 보장 제공하지 않음
- 해쉬(Hash)
- Hash 알고리즘을 사용한 로드 밸런싱 방식
- 클라이언트-서버 간 세션을 유지: 클라이언트가 동일 서버로 연결되도록 설정
- 최소 연결 우선(Least Connection)
- 현재 연결된 세션 수에 따라 부하 분산
- 세션에 대한 보장 제공하지 않음
- 응답 시간 우선(Response Time)
- 빠른 응답이 가능한 서버로 세션을 연결
- 세션에 대한 보장 제공하지 않음
- 라운드 로빈(Round Robin)
아마존 ELB
- Amazon Elasitc Load Balancing
- 단일 AZ or Multi AZ 에서 네트워크 트래픽 분산
- 부하 분산 대상
- EC2 인스턴스
- 컨테이너
- IP 주소
- 3가지 방식의 로드 밸런서 제공
- Application Load Balancer
- Network Load Balancer
- Classic Load Balancer
- 로드 밸런서 이용 효과
- 애플리케이션 내결함성 확보
- 원활한 부하 처리를 위한 분산 처리
- 강력한 보안 서비스 제공
주요 기능
- 상태 확인(Health Check)
- ELB와 연결된 인스턴스의 연결상태 체크
- 인스턴스 또는 애플리케이션 문제로 인한 서비스 불가 체크
- Health Check 실패 시 트래픽 전달 차단
- Health Check 설정
- HTTP/HTTPS 확인: 특정 주소 요청 응답 후 확인, 성공시 응답코드 ㅈ지ㅓㅇ
- TCP Port 상태 확인: 오픈 여부 및 연결가능 여부 확인
- 실패 임계치 지정
- Sticky Session
- 기본 동작방식은 라운드로빈. 세션유지 보장 X
- 세션 유지 필요시 Sticky Session 옵션 사용.
- ELB 통과 시 별도의 세션 정보 추가
- SSL Termination 및 보안
- 개별 인스턴스에서 대신 ELB에서 SSL 처리 수행
- 개별 인스턴스에 SSL 설치 필요하지 않음
- 인증서는 ELB에 배치: ACM(Amazon Certificate Manager) 사설 인증서 사용 가능
실습
mysql_secure_installation 설정시 enter current password for root 에서 진행불가
systemctl enable mariadb –now 확인
db 보안그룹
mysql -u admin -p rds의 비밀번호 -h database-1.cynfq6t5vatm.ap-northeast-2.rds.amazonaws.com
ERROR 1045 (28000): Access denied for user ‘admin’@’172.31.11.151’ (using password: YES) > RDS의 비밀번호 오류시 발생. 대표적으로 그냥 mysql 또는 root
ELB
인스턴스 생성 후 작업 인스턴스 설정 사용자정보편집
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "TEST PAGE - Instance x" > /var/www/html/index.html
usermod -a -G apache ec2-user
chown -R ec2-user:apache /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} \;
find /var/www -type f -exec chmod 0664 {} \;
테스트페이지 1 2 3
Leave a comment