10/21(금) 클라우드 7

Yuri JI·2022년 10월 21일
0

Kakao Cloud School

목록 보기
25/27
post-thumbnail

📕 왜 모니터링을 하는가

  • 사전 징후 감지를 통한 예방
  • 운영 상태 : 시스템 전반에 대해
  • 애플리케이션 성능: 처리 속도 (응답 시간)
  • 리소스 활용: 임계값(기준 지표) 초과 여부 파악 -> 일시적인 현상인지 지속적인 현상인지 분석
  • 보안 감사: 규정 준수 여부
  • 비용 검사: 비용 효율적/ 절감 서비스 설계 -> 비용 최적화 설계 유무 판단

위 5가지는 안정성(신뢰성)을 보장하기 위함이다.

📗 비용 모니터링

-> 비용에 대한 가시성 확보
Billing dashboard, Trusted Advisor, cost explorer를 잘 확인하자
비용이 증가해도 그만큼 이익이 많아지면 괜찮다..~


📗 서버 모니터링

목적: 안정적인 서비스 운영
장애 발생 전 : 미리 징후를 찾아 예방
장애 발생 : 원인 분석을 하고 이를 통해 해결, 이후 솔루션 작성까지

📗 CloudWatch

  • CloudWatch는 aws의 가장 큰 모니터링 및 시각화(dashboard) 서비스
    • CloudWatch의 이벤트규칙에 기반한다.
  • CloudWatch의 지표는 "언제" 어떤 "항목"의 "값"이 무엇이었는지 기록한 값
  • CloudWatch 응답 방식
    • 지표(metric) -> 자원 소비량 추적(cpu utilization)
      • 시간 결과에 따른 데이터 변화 요소 추적
    • 로그
      • AWS 서비스가 추적하는 텍스트 로그의 자동 및 수동 수집
    • 경보
      • 추적 중인 지표가 일정 기간 동안 임계값을 넘는 경우 발생
    • 이벤트
    • 규칙(=조건)
    • 대상

CloudTrail

  • 예시
    • 오랫동안 실행 중인 인스턴스가 종료된 이유가 무엇이며, 누가 종료했는가? (조직적 추적 기능 및 책임)
    • 누가 보안 그룹 구성을 변경? (책임 및 보안 감사)
    • 권한 부족으로 인해 거부된 활동은? (네트워크에 대한 잠재적 내외부 공격)
  • 실제 수집된 로그( json 형태라 elastic search와 연동가능 !)

Amazon config

Amazon VPC Flow logs

  • VPC 내에서 넽느워크 흐름(패킷)에 대한 로그 수집

  • VPC단위, 서브넷 단위, EC2의 네트워크 인터페이스 단위로 적용가능

    • Subnet : NACL
    • ENI : Security Group
  • 지원

    • 지나치게 제한적인 보안 그룹 규칙을 진단 (규칙을 너무 제한적으로 걸지 않았을까?)
    • 인스턴스에 연결되고 있는 트래픽을 모니터링
    • 네트워크 인터페이스르 오가는 트래픽 방향 결정
  • 사용법은 아래 문서 참고
    https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/flow-logs.html


http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml

실습..

0) 인바운드 규칙에 아무 것도 추가하지 않은 보안 그룹 생성

1) 인스턴스 생성
2) CloudWatch 로그그룹 생성

3) 로그 수집할 s3 버킷 생성

4) ENI에 플로우로그 생성

5) 인스접속해서 아무 활동이나 한다.

6) 좀 기다린 뒤에 s3 버킷을 확인해보면 .log.gz 파일이 생긴다.

7) 확인

version account-id interface-id srcaddr dstaddr srcport dstport protocol packets bytes start end action log-status
2 594746470953 eni-02bf3d410d9f00693 51.77.221.70 172.31.9.166 123 44558 17 1 76 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 172.31.9.166 51.77.221.70 44558 123 17 1 76 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 3.36.253.109 172.31.9.166 123 40387 17 1 76 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 172.31.9.166 3.36.253.109 40387 123 17 1 76 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 154.89.5.68 172.31.9.166 58914 541 6 1 44 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 1.11.90.40 172.31.9.166 22970 22 6 2 104 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 172.31.9.166 1.11.90.40 22 22970 6 1 52 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 91.218.115.137 172.31.9.166 43920 2762 6 1 40 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 1.11.90.40 172.31.9.166 7489 22 6 2 104 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 172.31.9.166 1.11.90.40 22 7489 6 1 52 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 193.56.29.122 172.31.9.166 34012 8545 6 1 60 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 193.123.243.2 172.31.9.166 123 59998 17 1 76 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 172.31.9.166 193.123.243.2 59998 123 17 1 76 1666316927 1666316986 ACCEPT OK
2 594746470953 eni-02bf3d410d9f00693 162.142.125.186 172.31.9.166 49612 12323 6 1 44 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 78.128.113.250 172.31.9.166 51277 1093 6 1 40 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 221.237.228.242 172.31.9.166 60735 445 6 1 52 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 79.124.62.78 172.31.9.166 43653 13051 6 1 40 1666316927 1666316986 REJECT OK
2 594746470953 eni-02bf3d410d9f00693 193.56.29.122 172.31.9.166 34014 8545 6 1 60 1666316927 1666316986 REJECT OK

📕 실습) 도메인 등록

1) https://www.freenom.com/ 에서 도메인 등록
2) 도메인 이름과 똑같은 버킷 생성

3) whatismotto 를 버킷에 올리기
4) 버킷 > 권한 > 버킷 정책 수정

{
    "Version": "2012-10-17",
    "Id": "Policy1666322120359",
    "Statement": [
        {
            "Sid": "Stmt1666322116942",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::jiyuri.cf/*" ⭐ bucket이름 뒤에 /* 도 작성해주어야 함!
        }
    ]

5) 버킷 > 속성 > 맨 아래의 정적 웹 사이트 호스팅 활성화

6) cloudfront

다른건 수정하지 않고 아래 설정만 해준 뒤 생성 클릭

해당 주소로 들어가면 내가 호스팅한 사이트가 뜬다.

속도비교를 위해 아래 사이트에 정적 웹 호스팅한 도메인, CloudFront로 배포한 도메인을 넣어 속도를 비교해본다. -> 결과) 서울 리전이라 그런지 0.3초 정도의 차이밖에 나지 않는다.
https://www.webpagetest.org/

  • CloudFront 삭제
    • CloudFront -> 비활성화 후 5분정도 기다리면 삭제버튼이 뜬다.

📕 실습) Route53

호스팅 영역 생성

생성완료하면 값/트래픽 라우팅 대상 값을 복사한다.

DNS를 4개나 준다 ! for 고가용성

ns-223.awsdns-27.com.
ns-563.awsdns-06.net.
ns-1360.awsdns-42.org.
ns-1591.awsdns-06.co.uk.

복사한 값의 각 줄마다 맨 마지막 온점을 떼준다.
ns-223.awsdns-27.com
ns-563.awsdns-06.net
ns-1360.awsdns-42.org
ns-1591.awsdns-06.co.uk

다시 프리놈으로 가서 로그인한다.
http://www.freenom.com/en/index.html

MyDomains 클릭

NameServer 등록

아까 복사하고 온점을 제외한 값을 하나씩 붙여넣기한다.

다시 aws Route53으로 돌아와서 레코드 생성

레코드 생성 후 1분 정도 뒤에 내가 만든 도메인 이름을 브라우저에 입력한다.

짜란 ~


메모장

⭐ 📘 📗 💭 🤔 📕 📔 🐳 ✍ 🥳 ⭐ 🐣 👻
where절 안 쓰는 SQL은 쓰레기당...
table에 row가 거의 2억 개씩 있다.

profile
안녕하세요 😄

0개의 댓글