AWS로 서버를 시작하기 위해 필요한 Linux 지식 1-시작하기

Jason Jaewoo Kim
jasonjaewoo
Published in
3 min readJul 28, 2019

AWS와 같은 클라우드도 리눅스는 필수이다.

IT시스템을 구축할 때 서버를 직접 조달하여 모든 것을 스스로 구입부터 관리까지 하고 있었지만, 최근에는 클라우드로 조달하고 운용까지 클라우드사업자(AWS, nCloud등)에 맡기는 추세이다.

클라우드에서는 운영체제나 미들웨어 관리를 사업자가 맡아주는 서비스가 있다고 표기되어 있다보니, 운영체지나 미들웨어 지식이 없어도 된다고 생각하는 경우가 많다. 그러나, 제공하려는 서비스가 모든 관리서비스에서 제공되는 것이 아니기 때문에 AWS(Aamzon Web Services)는 Amazon Elastic Compute Cloud(EC2)에서 운영체제를 선택하고 Apache HTTP Server나 Nginx를 선택하고 PHP, Python, Javascript등으로 구현한 웹응용프로그램과 업무로직을 개발하여 서비스하는 것이 보통이다.

이런 이유로 일반적인 서버와 마찬가지로 운영체제 지식(자원관리,파일시스템, 네트워크, 보안등)이 필요한 리눅스 지식이 중요하다. 또한 리눅스 지식과 개발, 각종 관리 도구를 내부적으로 개발하여 개발효율성을 높힐 수 있다.

또한, W3Techs 조사내용에 따르면 UNIX계열 운영체제에서 리눅스가 50%이상의 점유율을 차지하고 있어 배울만한 가치를 가진 운영체제라고 본다.

개발자도 리눅스지식은 있어야 한다.

보통은 리눅스 지식이 필요로 하는 쪽은 인프라 엔지니어뿐이라고 생각하지만, 개발자(프로그래머)도 리눅스 지식이 가지고 있는 것이 좋다. 왜냐하면, 설계, 구현, 디버그, 장애 대응등의 일반적인 개발업무에서 운영체제, 미들웨어, 보안등의 다양한 관점에서 유지보수성을 높이고 확장성이 있는 보안코드를 작성할 수 있기 때문이다.

예를 들어 다음과 같은 리눅스 지식이 있다고 가정해 보자.

  • CPU/메모리 파일, 네트워크 시스템에 대한 접근이 효율적이 되도록 설계 및 구현할 수 있다.
  • 응용프로그램 수준에서 보안이 강화된 설계 및 구현이 가능하다.
  • 장애발생시 및 튜닝시 인프라와 프로그램개발 양쪽 입장에서 다각적으로 분석, 대응할 수 있다.

이런 부분 외에도 리눅스의 다양한 도구나 CLI(Command Line Interface)를 잘 다루게 된다면 개발 효율성은 상당히 높아진다. 무엇보다 개발자의 가치도 높아진다.

AWS를 알아보자.

막상 리눅스를 시작해도 어디부터 시작해야할지 난감한 개발자들이 있다고 생각된다. AWS에서는 “Learn to Build on AWS: Websites”라는 튜토리얼이 제공되고 있고(한국어는 아직 제공안함) 실제로 따라하면 AWS상에서 리눅스를 사용할 수 있고 웹사이트 구축을 체험할 수 있다.

여기서는 아래와 같은 내용으로 여러분들이 쉽게 지식을 습득할 수 있는 방법을 설명하려고 한다.

두번째, CLI작업에 익숙해지도록 터미널 사용법 및 리눅스 파일시스템에 대해서 다룬다.

세번째, 리눅스 서버를 시작후 소프트웨어 설치나 설정을 변경하는 방법을 설명하고 쉘스크립트를 만드는 방법도 같이 설명한다.

네번째, 네트워크 설정을 왜하는지 설명하고 리눅스서버를 모니터링하는 방법을 설명한다.

그럼 이제 본격적으로 설명을 하겠다.

--

--