본문 바로가기

Others/인프라

[AWS] AWS를 제어하는 방법

Console & CLI & SDK & API


  • 컴퓨터를 제어하는 방법들
  • AWS의 EC2, S3와 같은 인프라를 제어하는 방법


AWS Management Console

- GUI 방식, 마우스나 아이콘을 통해서 제어

- 장점 : 익숙하다. (AWS 서비스의 개념을 이해하고 있다면) 이해하기 쉽다. 배우는 노력이 CLI 방식보다는 덜든다.


AWS CLI (Command Line Interface)

- Command Line : 명령어를 입력해서 제어.

- 단점 : 어떤 명령어가 있고, 각 명령어에 대한 문법을 다뤄야한다.

- 장점1 : 그럼에도 불구하고 사용하는 이유는, 이런 단점들을 공부하면 GUI 방식보다 좀 더 편리하게 제어 할 수 있다.

(번거로운 클릭 등을 생략하고 깔끔한 문장 하나로 해결할 수 있기 때문에)

ex ) aws ec2 describe-instances : ec2의 인스턴스 목록을 보여준다.

aws : aws를 제어하겠다

ec2 : ec2를 제어하겠다.

- 장점2: 일련의 연속적인 작업을 한번에 할 수 있다. 

ex) public IP 만 알고 싶다 : aws ec2 describe-instances | grap PublicIP (PublicIP 텍스트를 찾아서 추출)


AWS API (Application Programming Interface)

- 기본적인 명령을 통해 개발자들이 쉽게 사용할 수 있도록 하는 도구

- 웹을 통해 AWS의 인프라를 제어할 수 있는 수단.

- AWS에서 가장 자유도가 높은 공통의 제어 방식

- 특정한 프로그래밍(언어)을 가리지 않는 방식


AWS SDK (Software Development Kit)

사용하는 언어를 통해 좀 더 섬세한 작업을 할 수 있도록 해준다.

각각의 언어를 통해 AWS 인프라를 제어할 수 있는 명령어를 제공해준다.



활용1. PHP를 위한 AWS SDK


  • php 실습 환경 구축하기

1. 해당 인스턴스로 접속 : ssh -i ~ 

2. 최신상태로 업데이트 : sudo apt-get update;

3. apache 설치 : sudo apt-get install apache2 (도메인으로 접속해서 잘 설치됐는지 확인)

4. php 설치 : sudo apt-get install php5 (아파치를 재시작하면서 설치하게 됨)

5. php 파일 만들기 : cd /var/www/html 에서 sudo nano phpinfo.php (* nano : 명령어에서 사용할 수 있는 편집기)

- phpinfo()라는 php의 정보를 볼 수 있는 내장함수를 쓴 뒤, 도메인을 통해서 잘 설치되었는지 확인.

- 실제로 서비스할때는 이 정보는 중요하므로 꼭 삭제하기~ sudo rm phpinfo.php (rm 삭제하기)


*  E: package php5 has no installation candidate 에러메세지 보일 경우 : 우분투 16.04 부터는 php5가 아닌, php7.0이 적용되기 때문!

      • PHP 설치 : $ sudo apt-get install php
      • 아파치 2와 PHP 연동 : $ sudo apt-get install libapache2-mod-php


6. mysql 설치(데이터베이스서버) : sudo apt-get install mysql-server

7. 6번에서 설치한 서버에서 데이터를 수정하거나 저장하기 위한 클리아언트 설치 : sudo apt-get install mysqli-client

mysql이라는 명령을 통해서 mysql 모니터를 통해 서버에 접속할 수 있다.

mysql -u user -p  [enter] password 입력

8. mysql과 php 연동 : sudo apt-get install php5-mysql;

9. 아파치 재시작 : sudo service apache2 restart;


  • 시작하기

1. AWS SDK 필요 (http://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/index.html)

2.AWS SDK 설치 명령어

1) Install Composer (ls -al로 설치 확인해보기)

cd /var/www/html 이동해서 명령어 입력

* permission error : sudo chown ubuntu . 현재 디렉토리를 로그인한 사용자(ubuntu)꺼로 바꾸는 명령어


2) Composer를 이용해서 SDK FOR PHP를 설치하는 방법

Composer(php일종)라는 프로그램을 php로 실행해서 AWS의 aws-sdk-php를 이 프로젝트에 포함시키겠다는 뜻

php composer.phar require aws/aws-sdk-php

ls -al로 확인해보면 composer.json과 composer.lock 파일이 생성된 것을 볼 수 있다.  (vendor라는 디렉토리 안에 sdk가 저장되어 있음)


3) vi ec2.php > 3번 코드 넣기

Composer를 통해 vendor라는 디렉토리 안에있는 프로젝트를 불러오는 것을 추가하게 된 것.

require 'vendor/autoload.php';




  • 코딩하기

코딩전, SDK를 사용해서 인프라를 제어하기위해서는 '인증'이라는 부분을 해줘야 함.

SDK Guides > Credential (인증과 관련된 문서를 볼 수 있다.)


(이후 node.js를 위한 aws sdk 사용법 업데이트 예정)