• 아마존 서버 호스팅 비용

    아마존 서버 호스팅 비용

    아마존 서버 호스팅 비용

    2021년 2월 아마존 서버 호스팅 비용 ( AWS hosting cost )

    이번달 호스팅비용은 167.67 달러로 나와있지만 실제로 호스팅 비용 이외에 트래픽과 탄력적 IP 비용 등등 산출하면 275.50달러가 지불될것으로 예측됩니다.

    아마존에서는 프리티어라는 개념이 있어 개인이 호스팅을 할 경우 첫 1년동안 특정서버 하나를 무료로 사용할 수 있습니다.

    저 또한 2020년 12월 중순쯤 프리티어 1개로 아마존 서버가 어떠한 곳인지 알기 위해 사용하였습니다.

    아마존 서버 호스팅 비용

    그 이후로 워드프레스 모든 서버를 AWS EC2 서버로 교체하므로써 아마존 호스팅 비용은 점점 올라가기 시작합니다.

    아래 아마존 EC2 호스팅 전체 비용을 보면 1월 10일부터 점점 늘어나는것을 알 수 있습니다.

    1월 10일부터 서버가 2개, 3개 이렇게 늘어나면서 실제로 프리티어 이상의 서버를 사용하게되어 비용이 늘어나게 된것입니다.

    아마존 서버 호스팅 비용

    중간에 2월 1일 날짜로 15달러 이상나온 비용은 저도 왜 그런지는 모르겠습니다.

    어느순간 점점 2월 1일 날짜의 비용이 하늘높은줄 모르고 계속 치솟더군요.

    아직 2월 1일의 금액이 왜 올라갔는지 알수 없어 이부분을 확인중에 있습니다.

    혹시 AWS 서버 호스팅 하시는 분들중에 위의 그래프처럼 매월 1일 날짜가 높으신분들은 서버가 다수일 가능성이 높아보입니다.

    aws ec2 instance

    실행중인 인스턴스 갯수는 8개이며 보안그룹도 각 서버에 맞춰서 8개 맞춰놨습니다.

    아이피를 유동적으로 접속할 일이 많다보니 Public 개념과 Private 개념을 도입하여 언제 어디서든 제 노트북에서 바로바로

    SSH접속 붙을 수 있도록 탄력적으로 조절해놓은 상태입니다.

    현재 서버가 8대이지만 아직 RDB관련하여 서버를 옮겨야하는상태입니다.

    대략 5대정도를 추가로 더 늘려야하는 입장이고 한달 AWS 예상 비용은 대략 30만원이 넘을것으로 보입니다.

    원래 예상은 월 20만원정도로 생각했었는데… 스냅샷이랑 이것저것 뜻하지 않는 비용산출이 많더군요.

    기존 서울에서 운영중이던 IDC 두곳의 비용을 대신하고 티온 사무실에서 운영하던 서버 비용이 한달에 100만원정도 지출된것을 감안하면 70%정도 비용 절감효과가 있습니다.

    서버 사진

    이번에 티온 사무실도 아파트 매입으로 월 임대비가 나가지 않게되어 조금 더 절감할 기회가 생겼습니다.

    전용회선은 갯수를 절반으로 줄일 계획이고 그렇게 되면 통신비만 매월 10만원이 또 절감하게되어 50%의 지출비용이 사라지게됩니다. 그동안 고정아이피도 월 5~7만원정도 비용으로 사용하고 있었는데 이번 AWS 덕분에 이 고정 아이피도 월 1만원에 해결할수 있게 될것으로 보입니다.

    서버1u

    2016년도에 스마일서브에서 제온서버를 이용했었는데 출고하면서 8코어 XEON CPU와 1U 서버와 2TB SSD를 획득하게되었네요.

    RDBS 하나 만들까합니다. 수집해야할 데이터도 이제는 1000억단위로 증가하게되어 2TB도 부족할듯합니다.

    [자동스크롤]150,500[/자동스크롤]

  • 아마존 aws ec2 swap 파일 추가

    아마존 aws ec2 swap 파일 추가

    아마존 AWS EC2인스턴스 사용중 메모리 부족 현상이 생겨 SSD를 이용하여 스왑파일을 만들었습니다.

    아마존에서 만드는 방법까지 친절하게 소개하고 있어 이부분을 바탕으로 만들어서 사용중입니다.

    현재는 메모리 부족이 사라진 상태이며 블록은 128MB대신 1MB로 수정하였습니다.

    스왑파일은 파일과 헤깔리지 않기 위해서 언더바 _ 를 파일명 앞에 지정하였습니다.

    아래 fallocate 또는 dd 명령어로 스왑파일을 만들 수 있습니다.

    sudo fallocate -l 10GB /_swapfile
    sudo dd if=/dev/zero of=/_swapfile bs=1M count=2048
    #권한 설정
    sudo chown root:root /_swapfile
    sudo chmod 600 /_swapfile
    
    #스왑 포맷 설정
    sudo mkswap /_swapfile
    
    #스왑 파일 등록
    sudo swapon /_swapfile
    sudo swapon -a

    위의 내용까지는 그대로 복사해서 붙여넣기 하면 자동으로 만들어지고 권한까지 배정받습니다.

    아래 내용은 vi 명령어로 마지막 줄에 스왑파일을 넣어주어 재부팅마다 자동으로 실행할 수 있습니다.

    sudo vi /etc/fstab
    /_swapfile swap swap defaults 0 0
    #(마지막에 추가)
    #또는 아래처럼 추가
    /_swapfile none swap sw 0 0

    최종적으로 메모리 상태를 확인해보고 재부팅하면 스왑파일이 생긴 것을 확인 할 수 있습니다.

    자동실행 하기 위한 스왑파일 명령어 넣는방법

    #rc.local 등록하여 부팅때 자동실행
    vi /etc/rc.local 
    swapon /_swapfile
    
    #crontab -e 등록하여 부팅때 자동실행
    crontab -e
    @reboot /sbin/swapon /_swapfile
    
    #fstab 등록하여 자동실행
    vi /etc/fstab
    /_swapfile swap swap auto 0 0
    
    #재부팅해야지만 적용됩니다.
    reboot 
    sudo swapon -s
    free -m

    스왑을 만들었다면 이제 스왑파일에 더 집중할수 있도록 만들어주어야합니다.

    스왑 비중 늘리는 방법 바로가기 (재부팅 하면서 에러 안나도록 해야합니다)

    참조: 아마존 스왑파일 설명 바로가기

  • 아마존 AWS 워드프레스 기본 세팅 php mysql httpd phpmyadmin ssh

    아마존 AWS 워드프레스 기본 세팅 php mysql httpd phpmyadmin ssh

     

    아마존 AWS 를 신청하고 워드프레스를 운영하기 위해서는 몇가지 설치를 해야 정상적으로 사용이 가능합니다.

     

    1. HTTPD 설치 (아파치 설치)

    yum install httpd -y

     

    2. PHP 7.4 설치 (워드프레스가 지속적으로 업데이트 되므로 최신버전을 설치합니다)

    이때 php 확장까지 설치를 하면 플러그인에서 에러 없이 사용가능합니다.

    참고글 바로가기

    yum install php php-cli php-json php-mbstring php-pdo php-pecl-zip php-mysqlnd php-gd -y
    
    amazon-linux-extras install php7.4 -y
    
    yum install php-xml -y
    
    
    

    php 확장 Imagick 설치 바로가기

    워드프레스에서 imagick 확장 라이브러리 사용하기 위해서는 이 항목을 추가하여야합니다.

    위에 라이브러리랑 겹치는 부분도 있지만 중복은 알아서 설치가 안되니 그냥 그대로 진행하였습니다.

     

    sudo yum -y install php-cli php-pdo php-fpm php-json php-mysqlnd php-xml php-mbstring php-soap php-gd
    sudo yum -y install php-pear php-devel gcc php-bcmath
    sudo yum -y install ImageMagick ImageMagick-devel ImageMagick-perl
    sudo pecl install imagick
    sudo chmod 755 /usr/lib64/php/modules/imagick.so
    

    sudo vi /etc/php.ini 설정팔에 들어갑니다.

    Dynamic Extensions 섹션에 아래 한줄 입력

    sudo vi /etc/php.ini
    
    extension=imagick.so

     

    2. Mariadb 설치 (버전은 최신버전으로 설치합니다)

    yum install mariadb-server -y

     

    systemctl start mariadb 
    
    systemctl enable mariadb 
    
    mysql_secure_installation

     

    Set root password? [Y/n] Y 
    
    New password:
    
     Re-enter new password: 
    
    Password updated successfully! 
    
    Remove anonymous users? [Y/n] Y 
    
    Disallow root login remotely? [Y/n] Y
    
     Remove test database and access to it? [Y/n] Y
    
    Reload privilege tables now? [Y/n] Y

     

    3. phpMyAdmin 설치 (버전은 최신버전으로 설치합니다)

    phpmyadmin 설치 바로가기

    cd /var/www/html
    
    wget https://files.phpmyadmin.net/phpMyAdmin/5.0.2/phpMyAdmin-5.0.2-all-languages.zip
    
     
    unzip phpMyAdmin-5.0.2-all-languages.zip
    

    ※ 내용이 길기때문에 아래 링크를 클릭해서 확인해야합니다.

    phpmyadmin 설치 바로가기

    4. SSL 동작을 위해 mod_ssl 설치

    yum install mod_ssl -y

     

    5. SSH툴을 통한 업로드를 위한 lrzsz 설치

    yum install lrzsz -y

     

    데이터베이스를 다른 서버에서 가져올때에는 복구를 해야하니 아래 명령어를 입력하면 됩니다.

    mysql -uroot -p DataBaseName < SqlBackupFile.sql

     

    그외 IPv6 사용안하려면

    sysctl -w net.ipv6.conf.all.disable_ipv6=1

     

    서버 화면이 계속 켜지도록 하려면

    setterm -blank 0

    아마존 AWS에서 위의 명령어는 지원하지 않는다고 나옴..참고바람

     

     

    기본적으로 위의 세팅만 하면 워드프레스 운영에는 큰 무리가 없이 동작합니다.

    새로운 부분이 있거나 빠진 부분이 있으면 이 페이지를 지속적으로 업데이트 할 계획이라 워드프레스 설치하는 분들에게 도움이 되었으면 합니다.

     

    아이피 접속할때에는 퍼블릭 아이피 접속하면됩니다.

  • 아마존 AWS SSH root 아이디 생성

    아마존 AWS SSH root 아이디 생성

    아마존 AWS 인스턴스를 생성하여 제일먼저 SSH 접속을 하게되면 root 계정 암호부터 만들어야합니다.

    sudo passwd root

    -> 자신의 root 암호를 설정하면됩니다.

     

     

    root 로그인은 아래처럼 명령어로 접속가능합니다.

    su -

     

    이제 원하는 httpd 설정과 php, mysql 설치를 하면 웹서버를 만들수 있게됩니다.