이 영역을 누르면 첫 페이지로 이동
caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

페이지 맨 위로 올라가기

caputdraconis

네트워크 관점에서의 클라우드 컴퓨팅을 공부하는 중입니다 :)

[AWS] 개인 URL Shortener 만들기

  • 2024.04.22 19:42
  • Cloud
글 작성자: caputdraconis
반응형

갑자기 URL Shortener 는 왜..?

이번 학기에 수강하는 수업은 거의 모두 개인 발표로만 이루어지는 방식이였습니다. Canva 로 제작한 발표 PPT 를 사용해, 빔 프로젝터에 연결된 다른 컴퓨터에서 발표해야 하는 상황이 자주 생겼는데, 이때 Canva 의 아주 긴 공개 보기 링크를 옮기기는 쉽지 않습니다.

그래서 주로 bit.ly 와 같은 URL 단축 서비스들을 사용했는데, 나만의 URL Shortener 서비스가 있으면 어떨까? 해서 만들어봤습니다.

 

구현 방식

클라우드 다이어그램

원본 URL 을 특정 키와 매핑하여 특정 키에 대한 요청이 들어왔을 때, 원본 URL 로 리다이렉션 시키는 방식으로 구현했습니다.
이를 위해 2개의 Lambda Function, 키와 원본 URL 을 저장하기 위한 DynamoDB, 그리고 엔트리 포인트로 API Gateway 가 사용되었습니다.

정적 호스팅을 위해 S3 사용을 고민했으나, API Gateway 딴에서 이를 해결할 수 있다는 것을 새롭게 배울 수 있었습니다. 호스팅 해야하는 페이지는 JS 가 약간 가미된 HTML 로 구성되어 있었고, API Gateway의 Mock Integration 으로 해결하였습니다.

이는 특정 경로로 요청이 들어왔을 때, 직접 정의한 응답을 클라이언트로 전송할 수 있는 방식입니다. 이 방식을 사용해 불필요한 S3 비용을 줄이고, API Gateway 하나로 통합할 수 있다는 장점이 있습니다. 또한 HTTPS 를 통한 보안 연결도 자동으로 처리되고, 개인 도메인을 연결하는 과정에서도 이점을 가져갈 수 있었습니다.

 

결론

요즘 심심해서 만들어본 프로젝트들을 개인 도메인(caput.cloud) 에 연결하는 것에 재미가 붙었습니다.
URL Shortener, AWS 프로젝트 튜토리얼, 티스토리 블로그 등을 도메인에 잇고 있습니다.

하루만에 자기만의 서비스를 만들어보고 싶으신 분들께 추천하는 프로젝트입니다!

깃허브: https://github.com/caputdraconis050630/shrink.caput.cloud

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [AWS IAM] 최소 권한 원칙을 지키는 IAM 사용자 생성기

    [AWS IAM] 최소 권한 원칙을 지키는 IAM 사용자 생성기

    2024.08.28
  • [AWS] Windows 개발 환경에서 Serverless Framework 오류 (Runtime.ImportModuleError)

    [AWS] Windows 개발 환경에서 Serverless Framework 오류 (Runtime.ImportModuleError)

    2024.03.10
다른 글 더 둘러보기

정보

caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

  • caputdraconis의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • 🥚고리즘 (13)
      • 겅부겅부🙃 (10)
        • Naver CS50 코칭스터디 (2)
        • Machine Learning (1)
        • Computing System (6)
      • 언어&프레임워크 (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • 지옥방 스터디 (22)
        • 여름방학 스터디 (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • 알고 있으면 도움되지 않을까,,? (23)
      • 일상다반사 (1)
      • 근황 정리 (1)
      • 42 Seoul (1)
        • Setting (1)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • old-16
    • 파이썬함수
    • 파이썬기초
    • 웹해킹.kr
    • Python
    • 파이썬
    • 드림핵
    • 리스트함수

    나의 외부 링크

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    정보

    caputdraconis의 caputdraconis

    caputdraconis

    caputdraconis

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    티스토리툴바