2022 AWS re:Invent

Ryan Kim
Spoonlabs
Published in
13 min readDec 30, 2022

안녕하세요. SpoonRadio SRE 팀에서 DBA로 근무 하고 있는 Ryan (김광호) 입니다. 이번 re:Invent 2022 in Las Vegas 를 다녀온 후기를 공유하고자 블로그를 작성했습니다.

What is AWS re:Invent?

매년 Las Vegas 에서 11월 마지막주 부터 약 1주일간 열리는 AWS re:Invent 행사는 AWS 의 새로운 기술과 사례 등이 발표되고 공유되는 자리로, Cloud 환경으로 시스템이 구축 되어있는 회사라면 모두 관심 갖을 만한 내용들로 구성되어있는 큰 행사 입니다.

작년에는 코로나로 인해 약 2~3만명이 참석 하였다고 합니다. 이번엔 코로나의 여파가 조금은 잠잠해 져서인지 약 6만명이 참석했고 그중 한국에서는 1,500명 정도가 참석 하였다고 합니다.

SpoonRadio 는 구성원들의 발전과 경험을 위해 re:Invent , re:Mars , Datadog Dash 등 많은 국제 컨퍼런스에 참석을 장려 하고 있고, 이번엔 6명이 참석하여 AWS의 스케일을 느끼고 돌아왔습니다.

First in Las Vegas

이전에 출장으로 NY, SF 등 미국 여러 곳을 가봤지만 저도 Las Vegas 는 처음이라 많은 기대를 안고 인천에서 라스베가스로 11시간 정도를 비행하여 도착 하였습니다.

첫인상은 이곳이 Las Vegas 가 맞나 싶을 정도로 허허벌판에 아무것도 없었지만 버스를 타고 약 20분 정도를 도심으로 들어가니 이런곳이 있구나 라고 생각할 정도로 많은 간판과 호텔들이 즐비한 곳이 눈에 펼쳐졌습니다.

처음 본 Las Vegas 는 반짝반짝 멋졌고, 잠깐 방문한 Red Rock 은 다시 보기 힘든 장관을 저에게 선물해준 멋진 곳이었습니다.

KeyNote

AWS re:Invent 의 핵심 내용들이 발표되는 Keynote 는 이번엔 총 5번의 행사가 있었고 그중 저는 4개의 keynote 에 참여 했습니다.

Monday Night Live

AWS re:Invent 의 시작을 알림과 동시에 Lambda snapstart 를 발표한 세션이였고 그 세션은 부사장인 Peter DeSantis 가 발표 하였습니다.

이번 세션에서는 AWS 팀이 성능과 비용에 대한 trade-off 를 하지 않고,네트워크 및 스토리지 전반에 걸처 새로운 기능들을 선보였습니다.

AWS Nitro system , HPC7과 더불어 C7gn, R7iz이 선보여졌으며 머신러닝을 비롯하여 GPU 를 활용하는데 활용가능한 AWS EC2 Trn1 이 선보여졌습니다.

Network 분야에서는 ENA (Elastic Network Adapter) Express 를 선보였습니다. 높은 워크로드를 처리하는 EC2에서 최대 85%의 성능 개선을 보인다는 점을 강조했습니다.

위 내용들을 통해 성공사례인 Ferrari 의 사례를 발표 하며 발표가 마무리 되었습니다.

Adam Selipsky Keynote

Adam Selipsky 는 AWS의 CEO 로 Main keynote 를 발표 했고 Data 영역을 개척하기 위해 그에 맞는 Tools 이 있어야 한다고 설명 하며, AWS 는 그러한 니즈를 충족 시키기 위해 다양한 제품군의 Data tool 를 만들고 있다고 하였습니다.

그것에 일환으로 이번 keynote 에서는 제가 관심을 갖고 있던 Aurora zero-ETL integration with Amazon Redshift 와 Redshift integration for Apach Spark , DataZone, ML-powered forecasting with Q 등 많은 데이터 Tools 를 선보였습니다.

Database 를 관리 하는 입장에서 관계형 RDMS 뿐만 아니라 데이터를 적제적소에 활용하여 사용할 수 있도록 많은 공부를 해야겠다는 생각을 하게 하는 세션이였습니다.

Swami Sivasubramanian Keynote

이번 세션에서는 Data is the genesis for modern invention 이라는 문구가 가장 처음에 등장 하였습니다. 그만큼, AWS 에서도 데이터에 대한 중요성을 알고 있고 그 data 들을 잘 활용하기 위한 도구들을 계속 개발 하고 있다고 밝혔습니다.

그러한 취지로 이번 세션에서는 데이터와 관련된 이야기를 많이 했는데요

가장 관심이 갔던 서비스는 밑에서 설명할 Trusted Language Extension for PostreSQL 과 DocumentDB Elastic Clusters , Athena for Apache Spark 였습니다.

Dr.Werner Vogels Keynote

이번 Keynote 는 사람이 많아 다른 곳에서 들을 수 있었는데요. 역시 자유로운 나라라는 것을 느낄 수 있었습니다. Dr.Werner Vogels 는 급변하는 IT에 효율적으로 대응하기 위해 AWS 에서는 어떤 노력을 하고 있고, 그에 따라 어떤 제품이 나왔는지에 대해 설명 하였습니다.

노력의 산물로 AWS Step Functions Distributed Map, AWS Application Composer , AWS EventBridge Pipes , AWS CodeCatalyst 등이 설명 되었습니다.

또한 Trustpilot 의 Director 가 나와 Event driven를 회사에 적용한 사례를 설명 하였습니다. Event driven 역시 지금 매우 많은 회사들이 시도하려고 준비 중인 architecture 인 만큼 관심이 가는 발표 였습니다.

DAT Sessions

Aurora Zerotime ETL

두번째 날 Adam Selipsky CEO 가 발표한 Aurora zero-ETL 은 다른날 공식 Session 이 발표 되었습니다.

핵심 기능

  • Aurora to RedShift 로 data pipe line 을 구성하던 것을 통합 해서 제공 합니다.
  • Aurora 가 Storage level 에서 replication 을 하듯, Redshift 와 storage level 에서 복사되어 저장 됩니다.

다만, 아직 새로나온 기능이기 때문에 제약 사항 또한 존재 합니다.

  • Aurora mysql 8.0 즉 Aurora 3이상 부터 지원됨.
  • Data filter 를 통한 복사는 불가능 하며, 전체 데이터 복사만 가능함

아직은 제약 사항이 많고, 작동 여부도 test 를 진행하여 확인 해야겠지만 storage level 에서 data copy 가 자동으로 된다는 것은 상당히 매력적인 기능이라고 생각합니다.

Aurora Blue/Green deployments

많은 관심을 받은 Aurora Blue/Green deployments 세션을 참관 하였습니다.

Aurora 를 운영하고 maintenance 를 해야 한다면 꼭 필요한 기능이었습니다. 다만 아쉬운 점은 Postgresql 이 발표되지 않았다는 점과 사용을 하기 위해선 한번은 재부팅이 필요 하다는 내용입니다.

핵심기능

  • 무중단 maintenance가 가능 하도록 고가용성을 유지한 Blue / Green 을 사용할 수 있습니다.
  • 수동으로 해줬던 replication 을 버튼 클릭으로 자동으로 처리해 줍니다.

제한 사항

  • Blue 는 Binlog 가 반듯이 ON 되어있어야 하며 binlog format 은 mixed 여야 한다.
  • 위 설정을 하기 위해선 Rolling 으로 하던, 중단을 하던 재부팅이 필요 하다.
  • Blue — Green 시 초기에 binlog가 발생하지 않으면, binlog 를 쫓아가지 못하는 버그로 인해 전환 불가
  • Blue — Green 전환 후 재 전환 불가

아직 beta 기능이기 때문에 많은게 제한 사항이 되어있지만, 시간이 지나 안정적으로 사용할 수 있다면 중단없이 maintenance 를 할 수 있고 Blue ↔ Green 의 이동이 자유롭다면 문제가 되더라도 다시 돌아갈 수 있는 매력적인 기능임에는 충분한 것 같습니다.

Spoonradio 에서는 업그레이드를 하는 과정을 Postgresql 에서 PgBouncer 와 logical replication 을 통해 짧은 시간으로 운영하고 있었는데 이 기능이 Aurora postgresql 에서도 빨리 선보이길 기대해 봅니다. 자세한 내용은 Youtube 참고 ( https://www.youtube.com/watch?v=aM-X744m9p8&t=40s )

Trusted Language Extensions for PostgreSQL

Postgresql 은 이미 약 80여개의 Extensions 을 제공 하지만, 확장성을 고려한 pg_tle 를 발표 하였습니다.

pg_tle 는 JavaScript , Perl 및 PL/pgSQL 을 포함하여 일반적으로 사용되는 대부분의 언어를 지원한다고 합니다.

Database 에 권한이 없는 사용자가 개발한 소스를 DBA 가 pgtle.install_extension 으로 install 하면 Postgresql 에서 제공하는 function을 수행 하는 것처럼 수행할 수 있습니다.

다만 , 아래와 같은 단점이 존재 합니다.

  • Postgresql 14.2 버전 이상만 사용할 수 있습니다.
  • pgtle 로 생성된 function에 대해서는 내부 변환 과정이 tracking 되지 않습니다.
  • 내부 엔진을 사용하는 것이 아니라서 오류에 대한 tracking 이 어렵습니다.

아직 사용을 위한 테스트를 해보진 않았지만, 해당 기능을 사용하는 경우 tracking 이 어렵다는 단점이 있을 것으로 판단됩니다. 사용기는 테스트를 해보고 또 다른 블로그에서 게시 하도록 하겠습니다.

Deep dive into Aurora and its innovations

이번 세션에서는 Aurora 의 storage 구조에 대해서 설명 하고 그에 따른 replication 이점에 대해서 설명 했습니다. head point 를 보지 않고 storage 간 replication 을 수행함으로써 많은 replication lag 등 많은 문제가 해결 되었다고 발표 하였습니다.

Global database 를 사용하게 되면, 간단하게 많은 국가에 서비스 할 수 있으며, Wirte 역시 Write forwarding 으로 인해 각 국가에서 할 수 있게 되었습니다. 글로벌 서비스를 하면서 하나의 데이터 베이스를 사용하기에 용이한 모델이라고 생각하며, 통합으로 Database 를 운영할 때 꼭 사용해보고 싶은 기능라고 생각합니다.

re:Play

AWS 에서 목요일날 많은 사람들끼리 마시며 즐길 수 있는 행사를 마련해줬습니다.

re:Play에서 잘은 모르지만, 세계 2위인 DJ 도 볼수 있었고 각 지역의 맛있는 음식도 마련해줘서 참 좋았던 자리 였습니다.

시간을 잘못공지 하여 7시에 오픈인데 6시부터 벌벌 떨었던 기억이 있지만 , 그 기억도 사람들과 함께한 추억이라고 생각하게되는 행사 였습니다.

마치며.

라스베가스에서의 일주일은 경험해보지 못한 경험들을 할 수 있었던 매우 뜻깊은 날들 이었습니다. 맛있는 음식과 거대한 스케일의 발표, 그리고 수많은 사람들이 나와 같은 일을 하고 있다는 생각이 들게한 행사 였습니다.

기회가 된다면 한번쯤은 꼭 가보셨으면 하는 마음을 담아 블로그는 여기까지 작성하도록 하겠습니다. 감사합니다.

--

--