라즈베리 파이 활용 웹모니터링

rasberrypi

라즈베리 파이가 출시 되자 마자 50$ 정도 비용에 열광하고 익숙한 우분투 계열 운영체제가 작동하는것에 혹해서 구입했습니다. 초기의 열광이 식는데는 며칠 걸리지 않았습니다. 저 혼자 쓸쓸히 켜져 있다가 랜 포트가 부족할때 책상서랍속으로 들어간지 1년이 넘은것 같습니다. 필자는 와탭을 위해 웹 모니터링 기능을 개발하다가 문득 라즈베리파이도 같은 기능을 수행할 수 있다는걸 깨닿고 라즈베리 파이도 쓸모를 찾은 것 같아 혼자 며칠 즐거웠습니다. Zabbix 3.0을 라즈베이 파이에 설치해서 웹 모니터링했던 경험을 공유하겠습니다.

라즈베리 파이 활용 웹모니터링 더보기

웹 사이트의 품질을 모니터링 해주는 서비스들

웹 서비스의 내부적인 장애 요인은 개발과정에서 다양한 방법으로 체크 하고 예방할 수 있지만 웹 서비스는 네트워이나 장비 문제와 같은 외부 요인으로 장애가 생길 수도 있습니다. 이런 문제로 인해 웹 서비스의 상태를 점검하는 가장 확실한 방법은 주기적으로 해당 웹 페이지에 PING 또는 Full Page Loading을 하는 것입니다.

웹 모니터링 서비스는 웹페이지의 응답시간을 체크하는 기능에서 웹 서비스의 상태 분석까지 모니터링 하는 서비스입니다.

현재 국내 등록된 도메인은 260만개 이상이지만 대부분의 웹 서비스들이 모니터링을 하지 않고 있는 상황입니다. 하지만 조금만 신경쓴다면 무료 웹모니터링 서비스를 사용하여 웹페이지를 관리할 수 있습니다.

웹 사이트의 품질을 모니터링 해주는 서비스들 더보기

AWS Simple Directory for Linux instance

AWS에서 리눅스 인스턴스를 만들다 보면 계정의 uid관리나 접속 보안설정에 많은 시간을 보내게 됩니다. 필자는 ssh key 배포 환경에서 오랫동안 일해서 이런것들에 익숙하기는 하지만 AWS에서 좀더 쉽게 할 수 있는 방법이 궁금했습니다. 검색해보니 AWS Simple Directory에 Linux 인스턴스를 Join해서 사용할 수 있었습니다. 이렇게 되면 리눅스 인스턴스를 만들때마다 Simple Directory에 Join시키기만 하면 계정설정을 따로 할 필요가 없어서 높은 수준의 보안을 편리하게 사용할 수 있습니다. AWS에서 설정하는 법을 적어보겠습니다.

AWS VPC 생성

Simple Directory 를 사용해서 계정 및 호스트를 관리하자면 도메인 및 연결된 DNS가 필수입니다. 흔히 도메인은 인터넷에서 사용하지 않는 주소로 지정합니다. 이렇게 하자면 Domain Controller가 DHCP, DNS를 제어해야 하고 가장 쉬운 방법은 AWS VPC에 DHCP Options에 DNS를 Simple Directory로 지정하면 됩니다.
부가적인 효과로 Domain Controller에서 Hostname을 자체 DNS에 등록하면 회사내부 혹은 서버타운 내부에서 설정값에 hostname을 사용하여 ip 를 대체할 수 있습니다.

테스트를 위해 VPC 를 따로 생성하여 기존에 운영중인 VM들이 영향받지 않도록 하겠습니다.

  • Management Console – https://console.aws.amazon.com/vpc/home – 로 접속합니다.
  • Start VPC Wizard를 클릭합니다.
  • 네트웍 내부에 DMZ를 구성하여 사용하는것이 아니면 Step 1에서 VPC with a Single Public Subnet 선택합니다.
  • 사용할 Private IP 대역을 포함하여 설정 정보를 입력합니다.
  • vpc_1

VPC 생성이 끝나면 생성된 VPC를 목록에서 볼 수 있습니다.

vpc_2
이후에 생성할 Simple Directory가 subnet 2개 이상을 요구하기 때문에 서브넷을 추가로 생성합니다.

  • 왼쪽 메뉴에서 Subnets 메뉴를 클릭하고 Create Subnet버튼을 클릭한 후 아래와 같이 입력합니다.
    이때 Availability Zone은 public subnet 1과 다른 Zone을 선택합니다. 아래에서 생성할 Simple Directory가 요구하는 조건입니다. 이렇게 하지 않으면 Simple Directory를 생성할 때 오류가 발생합니다.
  • vpc_3

해당 VPC에서 생성된 VM들이 인터넷 통신을 하려면 Internet Gateway가 필요합니다. 아래와 같이 생성합니다.

  • 왼쪽 Internet Gateways 메뉴를 클릭하고 위쪽의 Create Internet Gateway 파란 색 버튼을 클릭합니다.
  • 입력창에 원하는 이름을 입력하고 Yes,Create버튼을 클릭하면 Internet Gateway가 생성됩니다.
  • 목록에서 방금 생성된 Internet Gateway를 목록에서 클릭합니다.
  • 위쪽의 Attach to VPC를 클릭해서 VPC에 연결합니다.

내부 통신을 제외한 나머지가 Internet Gateway로 향하도록 Route table에 룰을 추가합니다.

  • 왼쪽 Route Tables 메뉴를 클릭하면 생성한 VPC용 routing rule을 볼 수 있습니다.
  • 체크하면 아래쪽 화면에 관련 정보가 보입니다.
  • Routes 탭을 클릭하면 파란 Edit 버튼을 볼 수 있습니다. Edit 를 클릭하고 아래 그림과 같이 입력하고 Save를 눌러 저장합니다.
    vpc_5

AWS Simple Directory 생성

아래 글에 있는 Simple Directory생성방법을 참조하여 Simple Directory를 생성합니다.

아마존 Directory Service를 이용한 Domain Joined Windows 2012 R2 VM 만들기

Simple Directory를 생성할 때 반드시 위에서 새로 생성한 VPC를 선택합니다.

  • 생성이 완료되면 왼쪽 Directories를 선택합니다.
  • 목록에서 생성한 Directory를 클릭하여 DNS Address를 확인합니다.
  • SD_1

이제 이 DNS를 앞서 생성한 VPC에 입력하기 위하여 DHCP Options를 생성합니다.

  • https://console.aws.amazon.com/vpc/home – 로 접속합니다.
  • 왼쪽 메뉴의 DHCP Options Sets를 클릭합니다.
  • 위쪽의 파란 Create DHCP options set를 클릭하고 아래와 같이 입력합니다.
  • SD_2
  • 왼쪽 메뉴의 Your VPCs를 클릭하여고 생성한 vpc를 선택합니다.
  • 위쪽 Actions 버튼을 클릭하고 Edit DHCP Options Set을 선택 후 아래와 같이 생성한 dhcp option set를 지정 합니다.
  • SD_3
  • 위쪽 Actions 버튼을 클릭하고 Edit DNS Hostname을 선택 후 아래와 같이 지정 합니다.
  • SD_4

AWS AMI Linux Instnace 생성

  • AWS EC2 Console 에 접속합니다. https://console.aws.amazon.com/ec2/v2/home
  • Amazon linux 이미지로 VM을 생성합니다.
  • 다른 부분은 생략하고 Instance Detail중심으로 설명드리겠습니다. 아래 그림과 같이 step 3 Configure Instance에서 Network 항목을 생성한 VPC로 Auto-assign Public IP를 Enabled로 변경합니다.
  • VM_1
  • VM에 pem파일을 이용해서 ssh 접속한 후 아래 명령을 실행합니다.
    <pre>
    sudo yum -y update
    sudo yum -y install sssd realmd krb5-workstation
    sudo realm join -U Administrator@mylinux.local mylinux.local –verbose
    echo ‘PasswordAuthentication yes’ | sudo tee –append /etc/ssh/sshd_config
    sudo reboot
    </pre>
    VM_2
  • 마지막의 reboot 명령으로 인해 위 이미지와 같은 domain join 성공 메세지를 보이고 리부팅합니다.
  • 이제 vm으로 pem 없이 ssh 접속을 합니다.
  • login as:에서 Simiple Directory 기본 사용자인 Administorator@mylinux.local을 입력하면 패스워드를 묻습니다.
  • Simiple Directory 생성시에 입력한 패스워드를 입력하면 아래와 같이 Simple Directory 계정으로 Linux Instance에 로그인 할 수 있습니다.
    VM_3

마치면서

계정 관리를 중앙 통제방식으로 할 수 있으면 보안관리에 많은 이점이 있습니다. 또 UID를 중심으로 작동하는 어플리케이션 – 예.) NAS – 이 있을때는 각 VM마다 계정 생성시 UID설정에 신경을 써야 정상 동작할 수 있습니다. 이 경우에도 Simple Directory는 편리함을 제공합니다. 다만 설정에 DNS가 포함되다 보니 DHCP 옵션을 조절해야 정상적으로 도메인에 조인될 수 있었습니다. 기존 VPC에 설정을 추가하는 경우에는 방화벽, VM DNS추가에도 join에 실패하여 포기하였습니다. 또 Simiple Directory가 유료이다 보니 개인이나 작은 규모의 네트워크에서는 비용부담이 있습니다. 그러나 대규모로 VM을 만드는 경우에는 인건비를 줄이기 위해서라도 꼭 필요한것 같습니다. Simple Directory 는 Windows 2012호환 이슈가 있어 Windows 2012 용 Directory서비스가 별도로 존재합니다. 잘 설정하면 Windows/linux 통합 계정을 관리할 수 있는 AWS Directory서비스가 많은 서버 엔지니어들의 수고를 덜어줄 수 있으면 좋겠습니다.

[와탭 활용 팁 #2] 태그(Tag) 기능을 이용한 와탭의 활용법

와탭은 서버에 태그(Tag)를 적용시켜 보다 효율적으로 서버를 그룹화하여 관리할 수 있는 기능이 있습니다.

서버명 검색과 함께 “태그를 이용한 와탭의 활용법”을 소개해 드립니다.

 

price-tag

태그(Tag) – 어떤 정보에 메타데이터로 부여된 키워드 또는 분류

일반적인 분류 체계와는 달리 어느 하나의 정보에 여러 개의 태그를 붙여 그 정보를 다양한 면에서 연관성을 보여 줄 수 있으며, 이렇게 제공된 정보나 자료는 접근을 용이하게 해주어 손쉽게 그 정보를 검색하고, 노출시키고, 분류하거나 다른 자료와 엮어 네트워크로 만드는 일을 쉽게 해준다.

 

  • 태그 적용

    서버 목록 페이지 상단 메뉴 중 태그 버튼을 클릭합니다.

    각 서버 별로 +Tag 라는 버튼이 생성됩니다.
    (
    이미 태그가 적용되어 있는 경우 태그 목록들이 표시됩니다.)

    +Tag 
    버튼을 클릭하면 입력창이 드롭다운 됩니다
    (
    이미 작성된 태그는 입력창 하단에 표시됩니다. 기존 태그를 클릭하면 해당 서버에 바로 적용됩니다.)

    스페이스 콤마(,) 등의 구분자를 포함하여 서버에 적용할 다양한 태그를 입력합니다.
    (
    특수문자는 입력에 제한이 있습니다.)


    Enter/Return
    를 누르면 성공 메시지가 출력되고 태그 입력이 완료됩니다.


    태그 버튼
    을 다시 클릭하면 태그 입력창이 사라집니다.

     

  • 태그 삭제

    서버 목록 페이지 상단 메뉴 중 태그 버튼을 클릭합니다.

    각 서버 별로 적용된 태그가 표시됩니다.

    각 태그 우측의 X버튼을 클릭하면 성공 메시지가 출력되고 태그가 삭제됩니다.


    태그 버튼
    을 다시 클릭하면 태그 입력창이 사라집니다.

     

  • 서버명 검색

    검색창에 서버명의 일부를 입력합니다.

    해당 검색어가 포함된 서버들이 나열됩니다.

    ex) whatap 으로 검색한 예 – 서버명에 whatap이 포함된 서버들이 나열됩니다.

     

  •  태그 검색

    검색창에 태그를 입력합니다.

    해당 태그가 포함된 서버들이 나열됩니다.

    다양한 태그를 조합하여 특정 목적에 맞게 서버를 취사선택할 수 있습니다.

    ex) Pro, Intel  태그로 검색한 예 – Pro와 Intel 태그가 모두 포함된 서버들이 나열됩니다.

     

와탭의 태그 기능을 활용해 다량의 서버를 효율적으로 관리하시기 바랍니다.