개드립

즐겨찾기
최근 방문 게시판

(정성글) 백신예약 서버가 터지는 이유에 대한 상세한 해설

- 딴데 올려놨다가 잘 안 뜨길래 셀프렉카 해왔음.

- 기술적인 이야기지만 최대한 풀어쓰려 노력했음.

- 내가 틀린 부분이 있을 수 있음. 있으면 고쳐주십쇼.

- 렉카/유튜버/기자 환영합니다. 아래 내용은 CC BY 2.0 KR로 풀겠습니다: '한 네티즌'이 했다고만 해주시면 자유롭게 쓰실 수 있습니다.

 


코로나19 예방접종 사전예약 시스템.

전국의 교육·보육 종사자(돌봄 인력 포함)들의 대가리를 깨버린 시스템.

50~54세와 그들의 자녀와 손자들의 대가리를 깨버린 시스템.

 

도대체 시스템을 어떻게 만들었길래 펑펑 하고 터지는 걸까?

그걸 갖고 썰을 한 번 풀어보려 한다.

 


우선 대한민국 시스템의 방패이자 병폐인 넷퍼넬(NetFUNNEL)에 대해 알아볼 필요가 있다.

아마 이런 화면을 여러번 봤을 것이다.

 

그림 1. 백신 예약 시스템 접속할 때 뜨는 대기화면

 

'서비스 접속대기 중입니다', '앞에 몇 명', '뒤에 몇 명'(선택), '재접속하면 대기시간이 더 길어집니다.'

 이 4개의 구성요건이 모두 성립하는 대기화면. 분명히 이곳저곳에서 이런 화면을 봤을 것이다. 명절 기차표 예약, 백신 예약, 수강신청, 연말정산, 티켓팅, 어디에도 있는 이런 화면을 한번쯤 봤을 것이다.

 

 이 서비스의 이름이 넷퍼넬이다(국내에 유사한 다른 서비스가 없는 거로 알고 있다).

넷퍼넬 서비스를 이용하면, 어떤 시스템 앞에 쉽게 대기열을 붙일 수 있다.

시스템을 정말 못 만들어서 잘 터지거나, 사람이 뒤지게 많이 들어올 것으로 예상되는, 그런 서비스 앞에 대기열을 붙여놓으면, 어느 정도 효과가 있다.

 


그러면 백신 예약 시스템을 보자. 7월 14일, 그러니깐 교육·보육 종사자(돌봄 인력 포함) 대상으로 예약할 때이다.

 

그림 2. 7월 14일 기준 서버 구조 모식도.

 

대충 그려놨지만, 그래도 한번 더 글로 설명하면,

 

  1.  사용자가 백신 예약 서버에 접속한다.
  2.  백신 예약 서버는 사용자에게 '대기열 서버에 가서 줄 서고 올 것'을 지시한다.
  3.  사용자가 대기열 서버에 접속한다.
  4.  긴 시간이 지나면 대기열 서버는 사용자에게 '너 줄 다 섰다'고 알려준다.
  5.  사용자가 백신 예약 서버에 접속하고, '나 줄 다 섰다'고 알려준다.
  6.  백신 예약 서버가 사용자에게 백신 예약 화면을 보여준다.

대충 이렇다.

 


이 구조에는 세 가지 문제가 있었다.

 

첫째, 사용자가 구라를 칠 가능성이다. 그러니깐, 대기열 서버를 패싱해버리는 상황 말이다.

 

그림 3. 사용자가 구라를 치는 경우.

 

사용자가 줄 다 섰다고 서버에 구라를 치는 경우, 이 구조에서는 백신 예약 서버가 그걸 걸러낼 방법이 없다.

인터넷에 떠돌던 우회 방법 중 '어떤 코드를 입력하면 뚫린다' 중 일부가 여기에 해당한다.

 

 

둘째, '나 줄 다섰어' 라는 신호를 제대로 처리하지 않았다.

 

브라우저에는 Referer라는 개념이 있다. 쉽게 말해 '이 사이트로 넘겨준 사이트의 주소'를 알 수 있게 해주는 것이다. 예를 들어보면,

 

 

  • 내가 구글에 네이버를 검색해서 네이버로 들어온다.
    => 이러면 네이버에서 볼 수 있는 Referer는 구글이다. 구글 검색창에서 링크를 타고 네이버로 넘어왔기 때문이다.
  • 내가 주소창에 직접 www.naver.com을 쳐서 네이버로 들어온다.
    => 이러면 네이버에서 볼 수 있는 Referer는 빈칸이다. 어떤 링크를 탄 것이 아니라. 직접 네이버로 넘어왔기 때문이다.

 

백신 예약 서버는, 좀 더 상세히 다음과 같이 작동한다.

 

  1. 대기열 페이지의 경우, 사용자에게 줄을 선 뒤, 줄을 다 서면 예약 페이지로 넘어가게 한다.
  2. 다른 모든(예약, 의료기관 찾기, 조회) 페이지의 경우,
    1. Referer가 빈 칸이면(즉, 주소창에 주소를 치고 바로 넘어왔으면) 대기열 페이지로 넘겨준다.
    2. Referer에 뭔가 있으면(즉, 어딘가에서 일단 넘어왔으면) 화면을 정상적으로 불러온다. 

이게 왜 문제가 됬을까?

그림 4. 구글 뒷문

 

알파고가 의료기관 찾기 페이지를 떡하니 링크시켜놨기 때문이다.

이 경우 의료기관 찾기 페이지로 넘어가면, Referer가 구글이다. 빈칸이 아니므로, 정상적으로 의료기관 찾기 페이지가 로딩된다.

거기에서 예약 페이지로 넘어가면 Referer가 백신 예약 서버다. 빈칸이 아니므로 정상적으로 예약 페이지가 로딩된다.

인터넷에 떠돌던 우회 방법 중 '어떤 코드를 입력하면 뚫린다' 중 일부가 여기에 해당한다.

 

 

셋째, 대기열 서버에 접속이 안 될 가능성이다.

 

그림 5. 대기열 서버가 뒤진 경우

 

원래 대기열 서버, 그러니깐 넷퍼넬 자체가 뒤지는 상황은 흔치 않다. 꽤 튼튼하게 지어놨기 때문이다.

근데 만약에, 어떻게 어떻게 터진다면, 어떻게 될까?

 

넷퍼넬의 기본 설정은, '대기열 서버가 연결이 안 되면, 줄 서는 걸 생략한다' 이다.

그렇기 때문에, 만약에, 정말 만약에, 서버가 터진다면,

 

그림 6. 살수대첩

 

줄 서고 기다리던 10만명이, 마치 살수대첩처럼, 물밀듯이 백신 예약 서버에 접속하게 된다. 당연히 백신 예약 서버는 터질 것이다.

이래서 역사를 배워야 하지 않나 싶다.

 

다행히도 이번에는 대기열 서버가 터지지는않았다. 대신에 그런 얘기 들어본 적 있지 않은가?

 

'3초 정도 비행기 모드를 켜놨다 끄면 접속이 된다.'

 

비행기 모드를 켜면 대기열 서버에 접속이 안 된다. 그래서, 대기열 서버가 죽은 것으로 판단하고 백신 예약 서버로 넘어가게 된다.

그 때 비행기 모드를 끄면, 백신 예약 서버에 접속이 되는 것이다.

 


이 구조 때문에 대기열로 인한 효과가 그리 좋지 못했다.

아니 근데 그렇다 해도 서버가 그렇게 맛이 가는게 말이 되는가? 뚫는 사람은 소수일텐데?

 

사실 이유가 더 있다.

사이트를 좀 바보같이 만들었거든.

 

내가 실험해보니깐, 줄 다 서고 예약 페이지 들어와서 본인인증하기 직전까지,

웹페이지의 사이즈가 4 MB 이다.

4 MB 를 얕잡아보면 안된다. 10만명이 접속하면 400 GB 이다. 서버에서는 파일을 수십만 번 불러오고 보내주면서, 동시에 본인인증 처리하고, 백신 접종 되는 의료기관 찾아주고, 맞는 시간 찾아주고 예약 처리까지 하면서 문자까지 보내줘야 한다. 할 일이 뒤지게 많은 것이다.

 

도대체 어떻게 사이트를 만든 걸까? 기술적으로 말이 길어질 수 있기 때문에 생략하겠지만, 전반적으로 코드가 너무 무겁고, 쓸데없는 내용도 굳이 포함하고 있다.

 

그리고 사이트 개발자에게 진짜 궁금한 것. 사이트 예쁘게 만들고 싶은 건 이해하지만, 그렇다고 0.6 MB 에 달하는 폰트를 굳이 가져다 쓸 필요가 있을까? 부하를 15%나 줄일 수 있을텐데?

 

그림 7. 예쁜 폰트 (0.6 MB)

 

원래 정적(static)인, 즉 내용이 변하지 않는 것들은 CDN이라고 해서, 다른 서버에 집어넣는 게 국룰이다. 그래야 서버가 받는 고통을 조금이라도 덜어줄 수 있기 때문이다.

근데 그걸 분리하지 않고 같은 서버에서 처리했다. 그러면 서버가 몇 MB짜리 내용을 계속 사용자에게 보내야 된다.

 

그렇게 파일들을 계속 보내고 있으니깐, 네트워크 대역폭을 다 써버리게 된다. 이 사용자가 파일을 보내달라고/본인인증을 처리해달라고/서울특별시에 어떤 구가 있는지 찾아달라고/여기 의료기관 찾아달라고/예약 시간 확인해달라고/예약해달라고 해도, 답을 보내려고 하니 이미 다른 사용자에게 답장을 보내고 있느라 이 사용자에게 바로 답을 보내주지 못한다.

 

그래서 페이지 한 번 로딩할때마다 1분 넘게 걸렸던 것이다.

 


7월 19일. 53~54세 대상 예약 시즌.

 

지난 시간의 고통에서 조금이라도 배운 게 있던 것 같다. 몇 가지를 고쳤다.

 

첫째, 사용자가 구라를 치기 조금 어려워지게 만들어놨다.

 

코드를 살짝 정교하게 바꿔놨다.

그래도 3줄 코드 안에 우회가 되긴 한다.

 

 

둘째, '나 줄 다섰어' 라는 신호를 어느 정도 처리하게 됬다.

 

Referer 안에 'kdca.go.kr'가 포함되어 있어야 줄을 서고 넘어온 것으로 판단하게 되었다.

물론 근본적인 해결책은 아니지만(이걸 쓰면 2줄 코드 안에 우회가 된다), 구글 뒷문은 막혔으니 어느 정도 일은 한 셈이다.

 

*발표에서 '클라우드로 일부 시스템을 이전'했다고 했는데, 솔직히 이전 안 한 거나 다름없다.

*정확히는, 위에서 말한 '대기열 페이지'만 클라우드로 이전했다. 진짜 부하가 걸리는 예약 페이지는, 전혀 이전하지 않았다.

 


얘네들은 이걸 고치면서 안도했을까?

 

7월 19일에는 서버가 더 성대하게 터졌다. 8시에 예약을 시작한다고 했다가 8시 50분 쯤에 죽어가는 서버를 견디지 못하고 10시로 미뤘다.

 

뭐 예상하긴 했다. 여전히 줄 서는 걸 우회할 수 있었고, 사이트가 너무 무겁고, 근데 사용자는 너무 많고. 충분히 터질만 했다.

근데, 예상 밖의 일이 하나 일어났다.

 

대기열 서버가 터졌다.

 

원래 대기열 서버, 그러니깐 넷퍼넬 자체가 뒤지는 상황은 흔치 않다. 꽤 튼튼하게 지어놨기 때문이다.

근데 이렇게 터져버렸는데, 어떻게 됬을까?

 

넷퍼넬의 기본 설정은, '대기열 서버가 연결이 안 되면, 줄 서는 걸 생략한다' 이다.

그렇기 때문에,

 

그림 8. 살수대첩

 

줄 서고 기다리던 10만명이, 마치 살수대첩처럼, 물밀듯이 백신 예약 서버에 접속하게 됬다. 당연히 백신 예약 서버는 터졌다.

이래서 역사를 배워야 하지 않나 싶다.

 


7월 20일에는 그래도 좀 괜찮았다.

 

근본적으로, 사용자가 제대로 줄을 섰는지 백신 예약 서버가 대기열 서버에 확인하는 매커니즘이 이제야 추가됬기 때문이다.

'이제야'라고 굳이 붙이는 이유는, 넷퍼넬이 원래 제공하는, 쓰기만 하면 되는 기능을 이제야 추가했기 때문이다.

 

7월 20일에 오류 때문에 시끄러웠던 까닭은 두 가지이다.

첫째, 사용자들이 접속해 있는데 코드를 막 뒤집어 엎어서 그렇다.

아까 말한 매커니즘은 8시 30분에서 9시 사이에 추가됬다. 그 전에 줄 서서 쭉 기다리고 통과한 사람들의 경우, 줄이 다 끝난 뒤 그대로 나가리됐다.

둘째, 그냥 사이트가 버그가 있었다. 이건 근데 잘 몰라서 생략하겠다.

 

사이트는 여전히 무겁다. 그래서 아직 느린게 아닐까. 그래도 전보다는 괜찮다. 우회하는 사람이 적어서 그런 것 같다.

 


아 제발 진짜 좀.

 

만든 사람을 욕하는 건 아니다. 그 사람도 매일 8시에 야근하면서 당연히 터질 서버를 어떻게 고쳐야 할지 머리를 싸매고 있을 것이다.

그 사람이 개발 못 하는 건 맞다. 그러나 불쌍하다. 하고 싶었겠는가, 소속된 회사가 하청 받았으니까 하는거겠지.

 

그래도 2시간 동안 예약을

여러번 하고 있으니깐

빡치는건 어쩔 수 없다.

 

아 제발 진짜 좀.

75개의 댓글

2021.07.21

지식이 늘었다

0

정성추

1
2021.07.21

서버만 뒤진게 아니라 네트워크 트래픽으로 뒤져갈 확률도 있네?

0
2021.07.21
@노농

그런거 같음..... 나도 얀센할 때 느낀게... 뭐 이리 무겁지? 이런 생각 들었었거든

0
2021.07.21

'IT'강국

1

정성글 ㅊㅊ

0
2021.07.21

정성추

0
2021.07.21

현직인데 이게맛다

 

0
2021.07.21

이야 정성글 일단 추천주고 시작한다

넷퍼넬 저기가 또 골 때렸던건

나중에 사람 좀 빠진 다음에 들어가봤는데

80명만 있어도 줄 세워놓더라 ㅋㅋ

한 번에 접속인원을 몇 명으로 해놓은거야 대체

그러니까 대기시간 670시간 이 지경이었구만

 

걍 aws 돈 주고 쓰면 좋겠다

저거 때문에 시민들이 날려버린 시간 생각하면 진짜 ㅋ

1
2021.07.21
@흔한닉네임

줄세우는건 상관없는데 통과시키는 인원 설정이 개판인거 같음

0
2021.07.21
@흔한닉네임

지금도 네이버 클라우드 쓰고 있다잖아

aws 써도 결과는 같았을걸

0
@1일4식

NCLOUD를 쓰긴 썼는데...

 

ncvr.kdca.go.kr(껍데기)(클라우드) ==(iframe)==> relay.kdca.go.kr(실제 예약 페이지)(정부 서버)

2
2021.07.21
@쒸프트키까안빠쪄요

어질어질하네 ㅋㅋ

0
2021.07.21
@쒸프트키까안빠쪄요

iframe 쓰면 감리통과 안되지 않음?

 

어질어질허네

0
2021.07.21
@쒸프트키까안빠쪄요

CDN 보면 ncloud 말고도 2~3개 더 사용하는것 같던데

그리고 도메인은 GS네오텍이고

0
2021.07.21
@흔한닉네임

Aws 쓰면 그 비용은? 그리고 aws가 만능은 아님

1
2021.07.21
@그릇째뚝딱

ㅇㅇ 나는 자체서버 작은거 쓰는 줄 알고

네이버 클라우드 쓰는지도 몰랐는데

위에 댓글 보니까 aws써도 안되는거였네...

0
2021.07.21
@흔한닉네임

정부 사업은 돈이 많아서 자체서버 쓰면 엄청 좋은거 들어옴.... 물론 예전에는 삥땅도 많이 치긴 했지만

1
2021.07.21

30만명 소화 가능하다 했는데 10초당 30명씩 줄어드는것도 해결해야할 문제로 보임

0
2021.07.21

정성추

0
2021.07.21

대기열이 솔루션으로 있는줄은 몰랐네

0
2021.07.21
@번째혼밥

근데 한국은 기본적으로 디자인>>>>>>>>>>>>>성능을 추구하는 것 같아

일본은 ㄹㅇ 1990년대 후반같이 가볍게 만들어놓음

1
2021.07.21
@번째혼밥

외주주면 보통 성능은 개차반이니 디자인이라도 챙기는 것

0
@번째혼밥

서양권보면 깔끔하게 있을것만 다 해놓고 컨텐츠에 집중함. 비교하면 끝니없긴하지 ㅋㅋ

0
@고양이를죽인원앙

서양권 하나만 가져옴 https://coronavirus.data.gov.uk/

1
2021.07.21
@쒸프트키까안빠쪄요

와 지구 반대편에 있느 서버를 들어가도 별로 안느린데?

0
2021.07.21
@번째혼밥

아무리 성능이 좋아도 디자인이 구리면 중간 결재선에서 통과를 안시켜주거든

1
2021.07.21
@번째혼밥

일본은 가볍게 만드는게 아니라 못만드는거야

0
2021.07.21
@번째혼밥

https://www.stclab.com/bbs/content.php?co_id=sub3_1

 

저 회사 고객사 리스트인데

여기 들어가보면 아마 이용해본 사이트 많을걸

1
2021.07.21

방금 컴으로 ㅈㄴ안되다가 폰으로 한번에됨

0
2021.07.21

공무원 모르네.. 저 사이트 만들때 윗선에서 제일 신경쓴게 저 폰트일듯..

6
2021.07.21
@기세세

ㄹㅇㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

0
[삭제 되었습니다]
2021.07.21
@너는나는너는나는너

 

bypass

true잼

0
2021.07.21

좀 정부기관쪽 대변을 해주자면.. 대기열 부분 개판이었던건 솔직히 할 말 없는 부분이고, 협력이든 담당 주무관이든 말이지

반면에 국가 중앙부처와 그 산하에 소속된 기관중 상당수는 정보보안 규정 혹은 국가정보원 정보보안 감사 지적사항으로 인해 외부 CDN을 사용할 수 없는 곳이 많이 존재해서 아마 질병관리청도 규정상 CDN을 이용해서 분산을 못시켰을 가능성이 농후하다고 볼 수 있음..

이건 행정안전부의 행정·공공기관 웹사이트 구축·운영 가이드에도 나와있는 부분이라.. 시대에 뒤떨어진 느낌인건 맞지.

그리고.. 이미지 같은 경우 꼭 저렇게 큰 폰트를 써야 했을까? 싶은데 이용자 연령층이 다양한 점을 고려한 점도 있곘지만 IT를 제대로 모르는(네트워크 대역폭 소진에 관해서 이해도 X) 고위공무원이 원헀을 가능성이 크기 때문에.. 뭐 담당자는 여러가지로 공공이라는 조직적 특성안에 피를 토하는 심정으로 굴러지고 있을거 같다.

그리고 코드를 바꾸는 게 사기업과 다르게 공공쪽은 매우 어렵다.. 관련 보안 규정 잘 살펴야 하고 추후 이게 보안 감사에서 어떤 일이 생길지를 알아야 하니까 방법을 알고 있더래도 누가 섣불리 나서는 게 매우 어렵긴 해.. 공공의 병폐이자 시스템 고도화를 막는 원흉 중에 하나임 개발 관련 담당관들을 전부 보수적으로 만들어버리니까

2
2021.07.21
@지방자치단체

근데 이미지파일도 용량 작게 만들수있는디 너무 고용량으로 해놓은거 아닌가

1
2021.07.21
@비트코인

ㅇㅇ 충분히 줄일 수 있는 방법이 있음 찾아보면 뭐 근데 어쩌겠냐 이번 일로 좀 저쪽도 규정 같은거 손좀 볼거 손보고 담당자도 뭐 배운게 있으니 점점 나아지겠지 해야지 ㅋㅋ.. 다만 서비스의 질 측면, 가용성 부분에서 낙제점을 보였단 점에선 충분한 벌을 받아야 된다고는 생각함

0
2021.07.21
@비트코인

이미지 안쓰고 그냥 텍스트만 써도 되는걸 이미지 쓴게 더 문제지.....;;;

이미지로 텍스트 만드는거 보면 레알 미쳐버리고 싶음

0
2021.07.21
@지방자치단체

보안때문에 외부 CDN도 못 쓰게 하면 ㅋㅋ... 어렵네

0
KTO
2021.07.21

와 어제 진짜 앞자리 먹어서 좋아했다가 그냥 대기열만 사라지고 아무일도 안일어나길래

2시간 더 기다렸는데;;; 중간에 저러고 있어서 그랬군

0

또 어디 높으신분 지인이나 친척이 운영하는 쓰레기같은 회사에 돈퍼주고 외주 맡겼겠지 ㅋㅋㅋㅋ 안봐도 다 내막이 보이는거같다

1
2021.07.21

줄 다서가지고 들어가려는데 걍 새로고침 되는건 뭐임?

0
2021.07.21
@ESSENTIALS

예약 서버쪽에서 처리하는걸 제대로 안해놓은듯

0
2021.07.21

정보추.

퇴사하면 서버쪽 공부하려고 벼르고 있었는데 감샤랑

0

쓰니야 재밌고 유익하다 딴싸이트렉카하지말고

여기에 상주하면안되냐

0
2021.07.21

si 웹땔감인데 이쪽 계열에서 중요한건 납기일, 요구사항(만)충족, 겉보기에 예쁜거자 사이트 최적화, 보안, 웹표준 같은게 아님

누군가 그러더라 공공기관 SI는 인류가 프로그래밍하면서 겪은 문제들을 한 번에 다 겪을 수 있는 곳이라고 그리고 그걸 매 프로젝트마다 반복함

1

현직인데 그낭 틀딱 공무원이 해달라는대로 대충 해줌 ㅋㅋ

아직도 IE 쓰면서, 왜 크롬 쓰는 시연 때랑 화면 생긴 게 다르냐고 묻는 사람 수두룩하니... 그냥 네네 한다

최적화 웹표준 이런 거 아무리 설명해도 절대 모르거든ㅋㅋㅋ 특히 이런 대형 이슈는 무조건 틀무원 입냄새 팍팍 들어갔다

3
2021.07.21

줄서는거 새로고침 연타 하다보면 대기열없이 인증까지 슉.슈슉 지나가더라

0
2021.07.21

한국 공공 SI 현실이 제대로 드러난 사례로 기록되겠네

만든 사람 역량이 부족할 순 있는데, 그걸 케어할 시스템이 하나도 없는건 너무 처참하지

1
2021.07.21

[삭제 되었습니다]

1
무분별한 사용은 차단될 수 있습니다.
제목 글쓴이 추천 수 날짜
지금 블아 커뮤들 짤 요약.jpg 11 메리프 16 방금 전
블아 사태… 축리웹 명언 떴다 18 살시챠 34 3 분 전
본인이 경험한 결과 대학은 무의미하다는 수십억대 부자.jpg 45 렉카휴업 35 8 분 전
표절 노래로 꿀빠는 대만 가수 노래 존나 못함 38 nijvfdnivfre 25 9 분 전
광장시장 근황 27 붕따기 29 12 분 전
혼자서 댐을 건설하는 남자 36 등급추천요정여름이 25 12 분 전
자동차가 급발진 한 이유.. 29 인생포기자 34 13 분 전
태국에서 일어나고 있는 중국인 차별 11 열심히사는찐따걸레 28 14 분 전
신입공무원에게 커피 사준 후기...jpg 24 기여운걸조아하는사람 40 15 분 전
??? : “오늘은 모두가 시끌벅적 했으면 좋겠어요!” 14 열심히사는찐따걸레 43 18 분 전
16세기 중갑옷 10 대영닉 30 19 분 전
일러패스 성인존 개인적인 생각 40 포도피플 72 19 분 전
어린이날 병신같은 떡밥으로 알아보는 나라별 2D아청법 42 조용히삽시다 70 20 분 전
교사의 가슴을 친 미국학생...jpg 28 여자치킨 40 21 분 전
lgbt 프로필: 꼬우면 환불해보든가 ㅋㅋㅋ (환불못할걸?) 16 lllIIlllI 37 22 분 전
앞으로 1~2년 뒤면 보게 될 장면 22 엄복동 28 22 분 전
16세기 중갑옷 6 블라똥글렉카 27 22 분 전
이번 씹덕행사 사태 진짜 원인.png 39 기여운걸조아하는사람 38 22 분 전
족토)대환장 오늘의 커뮤니티들 상황.만화 26 ltearl 55 27 분 전
일러페스 사태 일반인이 볼 땐 이거임 40 마법소년매지컬춘식 98 34 분 전