전체 글 (73) 썸네일형 리스트형 [aws] health dashboard 추석연휴를 길게 보내고 오랜만에 aws 대시보드에 들어갔는데 cost and usage 정보 로딩이 안 되었다. Cost Management 창에도 들어가봤으나 먹통... 페이지에서 계속 에러가 발생하고 아무 값도 로딩이 안 된다. 처음엔 내 문제인가 해서 이것저것 찾아봤는데, 알고 보니 aws 내부 오류인 모양이었다.이런 오류는 health dashboard에서 확인할수 있다. health dashboard에는 공개 대시보드(Service Health Dashboard)와 개인 대시보드(Personal Health Dashboard)가 있다.공개 대시보드는 누구나 접속할 수 있으며( https://health.aws.amazon.com/health/status ), AWS의 모든 리전, 전반적인 서비.. [aws] Route53 등록 및 ec2 연동 (3)- ssl 인증서 발급하기 단순하게 인증서를 발급하는 건 아래 명령어만 실행하면 된다. docker-compose run --rm certbot certonly --webroot --webroot-path=/var/www/certbot -d ${domain_name} -d www.${domain_name} 그러나 명령어를 실행하기 전에, 네트워크 면에서 사전작업이 많이 필요하다. 나는 삽질을 하느라 인증서 발급 요청을 너무 많이 해서 락이 걸리기도 했다. 어떤 작업이 필요한지 차례대로 알아보자. 1. ec2 방화벽 오픈 80, 443 포트에 대한 방화벽이 열려있어야 한다. 그래야 certbot에서 인증서 발급받을 때 통신을 할 수 있는 것 같다. 어차피 도메인을 사용하려면 열려있어야 하는 방화벽이니 인증서를 발급하기 전에 미.. [aws] Route53 등록 및 ec2 연동 (2) - docker-compose를 사용한 서버 세팅 * 주의: 해당 포스팅은 독자에게 도커에 대한 이해가 있다는 전재를 하고 작성되었다. 이제 내 도메인 주소로 토이 프로젝트에 접속할 수 있도록 설정해야 한다. 이를 위해서는 아래와 같은 사전조건이 필요하다. 1. 도메인을 적용할 웹 서버가 필요하다. (ex. nginx)2. 도메인에 ssh 적용이 필요하다. 그래야 내 도메인에 https로 접속할 수 있다. 개발환경은 각자의 취향에 따라 세팅할 수 있겠으나, 나는 아래와 같이 구성했다. 토이 프로젝트: python(fastapi) + uvicorn 웹 서버: nginx 인증서 등록: certbot → docker-compose를 사용해서 구동 즉, docker-compose를 실행했을 때 토이 프로젝트 + 웹 서버 + 인증서 서비스가 각각의 컨테이너.. [aws] Route53 등록 및 ec2 연동 (1) - Route53 등록 퇴사를 앞두고 토이 프로젝트를 진행하고 있다. 구글 플레이스토어에 배포해서 실서비스를 하는 게 목표이기에, 도메인을 발급받을 필요가 있다. 이 시리즈에서는 Route53에서 도메인을 발급받고, 적용하는 과정에 대해 기록하려고 한다. * 기술스택: Route53, ec2, docker-compose, nginx, certbot 1. Route53 을 사용한 도메인 등록 Route53은 aws에서 제공하는 도메인 서비스다. 꼭 aws에서 도메인을 발급받지 않아도 가비아 같은 사이트에서 도메인을 받을 수 있다. 그러나 내 토이 프로젝트 목적에는 aws 공부도 있었기에, Route53에서 도메인을 발급받았다. Route53 메인 페이지에서 Get started를 클릭한다. 여러가지 옵션이 있다.- 새.. curl을 사용한 간단한 HTTP 통신 오늘 curl에 대해서 포스팅을 하려고 했는데, 확인해보니까 작년에 내가 이미 올린 글이 있었다. 그래도 그 포스팅은 간략하게 정리한 글이었어서 새로 정리하는 것도 의미가 있을 것 같다. . 1. curl 이란? curl은 커맨드 라인에서 URL을 사용해서 데이터를 송수신할 수 있게 해주는 오픈소스 소프트웨어 및 라이브러리다. MIT 라이센스를 따르고 있다. 우리가 curl을 쓸 때 흔히 사용하는 HTTP뿐만 아니라 FTP, IMAP, POP3, SMTP 등 수많은 프로토콜을 지원한다. 내가 curl을 처음으로 사용하게 된 계기는 리눅스 쉘에서 내가 개발한 자바 웹 애플리케이션의 restAPI를 실행하기 위해서였다. 원래는 포스트맨을 사용해서 내가 개발한 restAPI를 테스트했는데, 그때는 리눅스 서버.. [230827] Exception에 관해서 (2) - StackTrace 예외는 JVM에서 발생하거나, 프로그램에서 throw문에 의해 발생할 수 있다. 예외 상황이 발생하였을 때 예외 클래스의 인스턴스가 생성되며, 스택트레이스 데이터나 오류에 대한 메시지 문자열도 이 시점에 생성된다. 이번 글에서는 스택트레이스가 무엇인지, 그리고 스택트레이스 요소를 저장하는 클래스인 StackTraceElement에 대해 정확히 알아보려고 한다. StackTrace 스택트레이스란 예외 발생 시점 전까지 호출된 메서드의 목록을 말한다. 예외를 강제 발생시키는 테스트 코드를 작성해서 스택트레이스를 찍어보았다. public static void main(String[] args) { // 존재하지 않는 파일 경로를 설정해서 예외를 강제로 발생시킴 File file = new File("C:\\n.. [230820] Exception에 관해서 (1) - Error, Exception, RuntimeException 이펙티브 자바 스터디를 하다가 Exception에 대해 자세히 알 기회가 생겼는데, 평소에는 몰랐던 부분이기도 하고 알고 나니까 신기해서 간단하게 정리해보려고 한다. 1. Exception 이란? 자바 개발을 하면서 모르면 안 되는 개념이지만, 막상 정의를 하려니 어떻게 말해야 명료하게 느껴질지 모르겠다. "프로그램에서 발생한 오류를 java에서는 Exception이라고 한다"는 말이 가장 먼저 떠오르는데, 이렇게 답하자니 뭔가 부족한 설명으로 느껴진다. 오라클에 있는 자바 자습서에 따르면 예외의 정의는 아래와 같다. Definition: An exception is an event, which occurs during the execution of a program, that disrupts the n.. [230813] java TreeMap TreeMap은 key를 기준으로 요소를 정렬해주는 레드블랙트리 기반의 Map이다. 일반적으로는 자연적인 순서를 기반으로 정렬을 해주는데, comparator를 구현하였을 경우에는 그 순서대로 정렬을 해 준다. NavigableMap을 구현하고 있는데, NaigableMap의 코드를 보면 또 SortedMap을 구현하고 있다. 즉 TreeMap을 정렬 가능한 맵으로 만들어주는 기본 포맷은 SortedMap이라고 볼 수 있다. 처음에 TreeMap을 사용하려고 했을 때 HashMap을 사용할 때처럼 Map 인터페이스에 TreeMap을 선언했는데, 이렇게 하니까 정렬에 관련된 메서드가 동작이 안 되었다. TreeMap을 선언할 때는 인터페이스에 선언하는 게 아니라 NavigableMap에 선언해야 한다. S.. 이전 1 2 3 4 ··· 10 다음