AWS EC2 인스턴스 만들기

  • debug tool bar 설치하기

    1. debug tool bar를 설치한다.

      1
      $ pip install django-debug-toolbar
    2. settings.py에 해당 관련 항목을 추가한다.

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      # INSTALLED_APPS에 항목 추가
      INSTALLED_APPS = [
      #...
      'debug_toolbar',
      ]

      # MIDDLEWARE에 항목 추가
      MIDDLEWARE = [
      #...
      'debug_toolbar.middleware.DebugToolbarMiddleware',
      ]
    3. settings.py에 아래 항목을 추가한다.

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      # debug = True, internal_ips
      INTERNAL_IPS = ['127.0.0.1']

      DEBUG_TOOLBAR_PANELS = [
      'debug_toolbar.panels.versions.VersionsPanel',
      'debug_toolbar.panels.timer.TimerPanel',
      'debug_toolbar.panels.settings.SettingsPanel',
      'debug_toolbar.panels.headers.HeadersPanel',
      'debug_toolbar.panels.request.RequestPanel',
      'debug_toolbar.panels.sql.SQLPanel',
      'debug_toolbar.panels.staticfiles.StaticFilesPanel',
      'debug_toolbar.panels.templates.TemplatesPanel',
      'debug_toolbar.panels.cache.CachePanel',
      'debug_toolbar.panels.signals.SignalsPanel',
      'debug_toolbar.panels.logging.LoggingPanel',
      'debug_toolbar.panels.redirects.RedirectsPanel',
      ]
    4. config/urls.py에 아래 소스 코드를 추가한다.

      1
      2
      3
      4
      5
      6
      7
      8
      from django.urls import path, include
      from django.conf import settings

      if settings.DEBUG:
      import debug_toolbar
      urlpatterns = [
      path('debug/', include(debug_toolbar.urls)),
      ] + urlpatterns
    5. 관련 static 파일 업로드를 위해 collectstatic 명령어를 입력한다.

      1
      $ python manage.py collecstatic
    6. 관리자 페이지로 접속하여 debug tool bar가 작동하는지 확인한다.

  • django extensions 설치하기

    1. extensions 모듈을 설치한다.

      1
      $ pip install django-extensions
    2. settings.py에 해당 관련 항목을 추가한다.

      1
      2
      3
      4
      5
      # INSTALLED_APPS에 항목 추가
      INSTALLED_APPS = [
      #...
      'django_extensions',
      ]
    3. settings.py에 아래 항목을 추가한다.

      1
      2
      3
      4
      GRAPH_MODELS = {
      'all_applications': True,
      'group_models': True
      }
    4. 그래프 출력 기능을 위해 아래 모듈을 설치한다.

      1
      2
      3
      $ sudo apt-get install python3-dev graphviz libgraphviz-dev pkg-config

      $ pip install pygraphviz
    5. 그래프 생성 명령어를 입력해본다.

      1
      2
      3
      4
      5
      6
      7
      # 전체 모델에 대한 그래프 출력
      $ python manage.py graph_models -a -g -o model_graph.png

      # 특정 앱에 대한 그래프 출력
      # [앱 이름]에는 현재 앱 이름을 기입하면 된다.
      # 여러 앱의 이름을 쓸 경우 콤마가 아닌 띄워쓰기로 기입하면 된다.
      $ python manage.py graph_models [앱 이름] -o models.png
    6. 다음 명령어를 통해 데이터베이스를 삭제하고 새로 생성할 수 있다.

      1
      $ python manage.py reset_db
  • EC2 인스터스 만들기

    • EC2(Elastic Cloud Computing)
    • 아마존 서버 인스턴스 서비스
    1. 아마존 AWS 홈페이지로 접속해 [콘솔에 로그인]한다.

    2. [서비스] 메뉴에서 컴퓨팅/EC2를 누른다.

    3. EC2 화면에서 인스턴스 시작을 누른다.

    4. 운영체제 중에서 Ubuntu Server 18.04 64Bit를 선택한다.

    5. 인스턴스 유형에서는 프리티어 유형의 t2.micro를 선택한다.

    6. 인스턴스 세부 정보 구성 단계에서는 변경하는 것이 없이 넘어간다.

    7. 스토리지 추가 단계에서는 서버의 저장 공간을 20Gib로, 볼륨 유형은 범용 SSD를 선택한다.

    8. 태그 추가 단계에서는 변경하는 것 없이 넘어간다.

    9. 보안 그룹 구성 단계에서는 다음과 같이 설정한다.

      • 보안 그룹 이름 및 설명을 기입한다.
      • SSH, HTTP를 추가한다.
      • 포트 번호 8000번도 테스트용으로 추가한다.
    10. 검토 및 시작 단계에서는 내용을 확인하고 시작하기를 누른다.

    11. 인스턴스가 추가되면 인스턴스에 접속하기 위해 키페어를 생성하거나 선택해야 한다.

      • 새 키 페어 생성을 선택하고 키 페어 이름을 입력한 후 키 페어 다운로드를 누른다.
      • 다시 다운받을 수 없으므로, 키 페어 파일이 다운로드된 것을 확인하자.
      • 다운로드가 되면 인스턴스 시작 버튼이 활성화되고 누르도록 한다.
      • 인스턴스 보기를 누르고 인스턴스 목록에서 방금 생성한 인스턴스를 확인한다.
        • 인스턴스 이름 부분에 있는 연필 아이콘을 누르고 이름을 설정하자.
        • 이름을 설정한 후, 하단에 퍼블릭 DNS를 확인하자.
          • 퍼블릭 DNS는 고정 IP가 아니다.
    12. 터미널을 열고 SSH로 접속하여 서버를 셋팅한다.

      • 다음 명렁어를 입력하여 키 페어 파일의 권한을 변경한다.

        1
        $ chmod 400 [키 페어 파일 이름]
      • 키 페어 파일을 .ssh 폴더에 보관하기 위해 파일을 이동시킨다.

        1
        $ mv [키 페어 파일 이름] ~/.ssh/
      • ssh 명령어를 사용하여 서버에 접속해본다.

        1
        2
        3
        $ ssh -i ~/.ssh/[키페어 파일 이름] ubuntu@[EC2의 퍼블릭 DNS]

        # 신규 접속 시 정말로 접속할지 물어보면 yes를 입력하면 된다.
      • 접속에 성공하면 ubuntu shell이 나타난다.

Share