지난 주말 쩨리 가족이 카페를 다녀왔어요.

쩨리가 응가를 넘치게 하는 바람에 카페를 충분히 즐기진 못했지만 그 후기를 올려봅니다.

마곡에 갈때마다 느끼지만 새로운 가게들이 정말 많이 생겼어요.

라스팔마스 입구

라스팔마스는 1층에 위치해서 가을 날씨를 만끽할 수도 있고, 깔끔한 실내도 있어서 좋았어요.

 

라스팔마스 운영시간

문에 적힌 운영시간이에요.

아침 일찍 오픈하니 근처라면 테이크아웃해서 출근하기도 좋겠어요!

전화번호도 있으니 참고하세요^^

라스팔마스 실내

들어가니 깔끔한 내부 인테리어와 맛있는 빵냄새가 솔솔 났어요.

빵종류 한번 살펴볼까요?

깨끗하게 정돈되어있는 트레이와 셀프바

머랭 쿠키, 바게트 강정, 고구마 러스크

녹차, 아몬드, 코코넛, 초코, 버터, 모카 맛의 쿠키의 구움 과자가 있고요.

초코 카스텔라는 품절이었어요.

초코 러버인데 아쉬웠습니다.ㅠㅠ

라스팔마스의 대표 메뉴인 크로와상 식빵은 다행히 하나 남아있어서 바로 담았어요!!

라스팔마스 크로와상 식빵

크로와상 식빵은 108겹이나 되는 크로와상 식빵이라고 해요.

18시간이나 저온 숙성하니 얼마나 촉촉하고 부드러울까요. 빨리 먹어보고 싶어요+_+

크로와상 식빵은 하루 30개 한정 판매라고 합니다. 빵슈니들 참고하세요!

하나라도 맛볼 수 있어서 감사했어요.

흑임자 카스텔라와 몇 가지 맛의 크로와상도 있고요.

치즈 카스텔라는 시식도 가능했어요.

저는 원래 치즈를 좋아해서.. 시식 안 해보고 담아왔어요.

라스팔마스 카스텔라

라스팔마스의 카스텔라는 1시간 30분 반죽 후 1시간 30분 오븐에 굽고 4시간 건조까지 총 7시간의 제조시간이 걸린다고 해요.

빵순이들이라면 알고 있죠? 시간과 정성의 결과가 빵의 맛을 좌우한다는 것을요?

그 외에 마늘 클 미 치즈볼, 허니브레드, 크로크 무슈도 주문 가능합니다.

 

라스팔마스 음료 메뉴

음료 메뉴는 위와 같아요.

저는 아메리카노와 딸기 라테를 시켰어요.

딸기는 당연 라스팔마스에서 직접 만든 수제청으로 만들고 있다고 합니다.

 

라스팔마스 원두

커피는 고소한 맛과 산미가 있는 맛 두 가지 중 고를 수 있었어요.

매장에서는 원두도 판매하고 있으니 먹어보고 사가도 좋겠어요.

라스팔마스 인테리어

메뉴를 기다리며 매장을 둘러보았는데 너무 귀여웠던 멍멍이 트레이

사장님의 센스가 돋보입니다.

라스팔마스 인테리어

곰돌이도 있었어요.

잼 들고 있는 게 팔 아플 거 같기도 하고 공간 분위기가 확 사는 거 같아요.

라스팔마스 인테리어

원두로 가득한 벽

집에 이렇게 채워놓음 든든할 거 같아요

라스팔마스 인테리어

준비 중인 모습이에요

중간중간 계속 빵을 굽고 있어서 빵 냄새가 솔솔 너무 좋아요.

그리고 갓 구운 빵도 먹을 수 있으니 너무 좋겠죠!!

라스팔마스 크로와상 식빵

드디어 메뉴가 나왔어요!

크로와상 식빵은 데워주셨는데 갓 구운 것처럼 따뜻하고 바삭 촉촉한 게 너무 맛있었고요.

고소한 맛을 좋아하는 저와 남편 입맛에 딱 맞는 아이스 아메리카노와 찰떡콩떡이었습니다.

딸기 라테는 말해 뭐해에요. 수제청을 듬뿍 넣어주셔서 끝까지 맛있게 먹을 수 있었어요.

라스팔마스 외부

날씨가 너무 좋아서 바깥에 나와봤어요.

라스팔마스 빵과 음료만 맛있는 줄 알았는데 햇살 맛집이었어요.

따사로운 가을 햇볕과 맛있는 빵과 커피 한잔이 육아로 지친 저희 부부에게 큰 행복으로 느껴졌습니다. 찐 햄벅

라스팔마스 외부

쩨리의 응가로 인해.. 카스텔라 두 가지는 포장해서 집에 올 수밖에 없었는데요.

흑임자 카스텔라는 고소함과 촉촉함을 치즈 카스텔라는 촉촉함과 고소한 치즈가 너무 잘 어울려서 둘 중 하나를 꼽기 어려울 정도로 맛있었습니다.

다음에 가면 초코 카스텔라 꼭 먹어보고 싶은 라스팔마스 후기였습니다.

위치는 아래와 같고요!

https://map.naver.com/v5/entry/place/1943340076?entry=plt&id=1943340076&c=14118075.0168696,4517212.5474514,15,0,0,0,dh

돌아오는 길 발견했는데

테이크아웃은 1400원이네요! 테이크 아웃해서 마곡 한 바퀴 하거나

서울식물원 한바퀴 해도 좋겠어요.

 

728x90
반응형

 

안녕하세요. 쩨리맘이에요

조리원 온지 몇일 안된 것 같은데 벌써 퇴소일이네요

저는 강서 보네르아샤에서 3주간 조리했어요

지인의 추천으로 상담와서 시설 확인 후 바로 계약 했던 이유는

1. 신생아실 선생님 대비 적은 아가 수

2. 젤리캠으로 언제든지 아가를 확인 할 수 있는 점

3. 가슴 체크 및 상태에 따라 해주시는 가슴마사지

4. 깨끗한 룸 컨디션, 매일 해주시는 청소+빨래

였어요.

 

 

그럼 3주동안 있으면서 실제로는 어땠는지 적어보아요.

1. 아기를 진심으로 이뻐해주시는 신생아실 선생님님과 원장님

엄마가 산후 조리 할 수 있도록 많은 부분을 배려해주시면서 아가케어에 신경쓰지 않아도 되요.

처음엔 아가가 뭘 하고 있을까 궁금하기도 할텐데

궁금하면 젤리캠으로 볼 수 있고, 매일 아가가 얼만큼 먹었고 쉬아, 응가 횟수, 몸무게 변화를 원장님이 라운딩 하시면서 알려주세요.

이 때 원장님께서 산모상태와 불편한 점 까지 꼼꼼하게 체크해주십니다.

금요일엔 소아과 진료가 있어서 진료보고 아가 상태에 대해서 알려주시고, 궁금한점을 여쭤볼 수도 있어요.

쩨리는 3.44kg로 들어와서 4.2kg로 퇴소하면서 아주 건강하게 쑥쑥 컸어요.

아침에 목욕하고 뽀송뽀송한 아가 수유할 때 보는 모습이 어찌나 이쁘던지요!

 

2. 시시각각 대처해주시는 부원장님의 가슴케어

저는 유도분만 실패 후 제왕절개를 한 터라 병원에 6박7일 입원하게 되었고, 41주 2일에 아기를 낳았어요.

38주 정도 부터 유두에 모유인가? 싶은게 샤워후에 보여서 깨끗하게 닦아주었었는데요.

병원에 있는 동안은 시간맞춰서 유축하고, 낮시간에는 수유콜 올때마다 내려가서 수유연습 했어요.

유축후에는 냉찜질 알려주셔서 했었는데 조리원 오는날 가슴이 땡땡하게 뭉치더라구요.

입소 첫 날 부원장님께서 가슴 봐주시고 앞으로의 방향에 대해서도 잡아주셔서 아침~저녁 모자동실까지는 직수하고 밤에는 자기전 유축하고 일어나서는 아가 목욕하고 오면 직수+남은양 유축 이렇게 했어요.

입소날 가슴이 땡땡해지고 있었는데 부원장님의 마사지가 골든타임을 잡아주셨어요ㅠㅠ

막힌 유선을 뚫어주신 건지 찌뿌둥하고 뻐근하던 몸에 마사지 받은 느낌이였고 모유가 분수 처럼 쫙쫙 나왔어요

6/13 유축 첫날 > 6/15 병원 퇴원날 > 6/15 조리원 가슴마사지 후

유축한 시간과 아가가 먹은 양에 따라 차이가 있겠지만 유축량으로도 보이듯 가슴이 편해졌어요.

또 중간에 직수+유축을 하는데도 가슴에 뭉친것이 만져지면서 아파서 부원장님께 말씀드렸더니 두번째 골든타임을 잡아주셨습니다. 유두백반이 생겨서 그런거라며 얇은 유막을 걷어내 주시고 마사지로 뭉친부분 만져 주시니 모유에서 모래알갱이 같은게 나왔어요!

사진은 없지만 충격이였어요ㅜㅜ 모유 찌꺼기가 쌓여서 그런거라고 하셨는데 이후에도 몇차례 생겨서 퇴소후 관리법도 알려주셨는데 지금은 아주 깨끗하게 쭉쭉 나오고 있어요. 가슴이 가볍다 라고 할까요?

초산이라 가슴마사지의 중요성에 대해서 잘 몰랐었는데 조리원비용에 가슴마사지가 포함이다! 그럼 정말 혜자롭고 추천드립니다. 부원장님 손길이 정말 그리울거에요♥︎

 

3. 맛있는 밥!

8시 아침

10시 건강 쥬스

12시 점심

2시 간식

5시 저녁

7시 죽 이렇게 나오는데요

예약 당시에는 되게 자주 먹는다 했는데

수유해보니 자주먹는 이유를 알겠어요

수유하고 유축하고아면 돌아서면 배고파요ㅋㅋㅋ

이렇게 다 먹어도 되나 싶을 정도로 주스, 죽까지 다먹으면서 3주를 보냈어요.

죽, 주스 사진은 없네요 나오면 먹기 바빳나봅니다ㅋㅋㅋ

 

 

4. 받아보면 왜 추천하는지 알게되는 마사지

산후 마사지는 필수라고 하던데 받아보기 전까지는 몰랐습니다.

평소에도 마사지받는 거 좋아해서 지압원, 타이마사지 돌아가면서 받았었는데

수술을 하게되니 상처부위도 아프고 이거 터지는거 아닌가 생각했는데 그런 걱정은 노노!!

마사지 한번 받고 날때마다 땀이 뻘뻘 노페물이 쏙 빠지면서 퉁퉁부었던 손 발 붓기가 빠지고 몸무게도 1kg가까이 쭉쭉 빠졌어요

임신하고 발이 너무 부어서 220신던 뮬신발도 안맞아서 230을 새로 사서 신고 다녔었는데 출산후에 병원에서 조리원 갈때 신으니까 더 부어서 이것도 작더라고요;;;

사람이 이렇게도 부을 수 있구나 했었는데 집에가는 길 신발이 커졌어요!!!!

25주 > 40주 > 조리원 마지막 날(아가 26일)

임신하면서 총 15kg증가하여 마사지 받을때 1kg가까이 줄어드는 매직을 경험했어요. 배는 자궁이 커졌다 제자리를 찾는데 50일은 걸린다고 아니 조금 더 기다려 봅니다.

이제 원래의 몸무게까지 6kg정도 남았는데 실전 육아하면 줄어들겠죠?

 

 

5. 초보맘들에게 필요한 정보만 있는 프로그램 구성

너무 많은 프로그램으로 조리해야할 산모를 귀찮게 하지 않고 딱 필요한 프로그램으로 하루에 하나씩 구성되어 있어서 1일 1일프로그램 1마사지 이렇게 생각하고 지내니까 편했어요.

+양천사랑상품권 결재로 절약가능

+신생아촬영 후 원본구매하지 않아도 엄마폰으로 찍을 시간줘서 남길 수 있는 점

+셀픽 하루에 한장 사진인화 서비스 (남편까지 하면 2장) 가능해서 조리원 있는 동안 아기 성장앨범 만들어볼 수 있어요

더 많은 썰을 풀고 싶지만 수유하러 가야해서

조리원 있는 동안 셀픽으로 출력한 아기 사진으로 마무리 지어봅니다. 조리원 알아보시는 예비맘들께 도움 되길 바라며 궁금하신 점은 댓글, 쪽지 주세요!

셀픽 인화서비스로 셀프 성장앨범

 

728x90
반응형

안녕하세요. 긴 출산+조리원 생활 후 친정에서 한껏 게을러지다 오랜만에 글을 작성합니다.

오늘은 조리원에서부터 어려웠던 응가 후 엉덩이 씻기기에 대해서 얘기하려고 합니다.

목욕은 옷을 다 적시고, 통에서 하다보니 오히려 할만 했는데 응가 후 씻길때는

윗옷과 손싸개는 안젖게 하고 아기를 한쪽으로 안아 세면대에서 씻기려니 어려웠어요

또 조리원에서는 물로만 씻기라고 하셨는데, 여자아기 인지라 감염이 걱정되서 바스를 조금 쓸까 고민도 되었습니다.

그러던 중 바솔 엉덩이세정제를 사용할 기회가 생겨 사용해 보았어요.

먼저, 바솔 코코마일드 포밍워시는 외음부 케어 전문 브랜드가 만들었다고 해서 안심이였어요.

피부 저자극 테스트는 당연히 한 제품으로 연약한 피부를 위해 무합성계면활성제와 EWG Grade 재료로 만들었다고 하니 더욱 안심이였어요.

사용법은 3~4회 펌핑하여 아기의 V존과 엉덩이를 클렌징 한 후 씻겨주면 되는 데요.

저는 응가를 물로 한번 싹 씻기고 1회 펌핑하여 V존과 엉덩이를 헹구듯이 씻겨주고 있어요. 아기가 아직 50일을 갓 지나서인지 1회만으로도 충분한것 같아요.

거품제형이라 거품을 내는 자극적인 과정을 거치지 않아서 좋아요!

손에 물기가 있어서 약간 묽게 나왔는데 좀더 쫀쫀한 거품 제형이라 아래의 사진을 참고하는게 좋을거 같아요.

제품 디자인도 너무 귀엽죠?

아기를 씻기는 과정도 찍어보고 싶었지만.. 아기 사진 찍는 것이 호락호락 하지 않네요.

대신 저희 집 세면대 사진이에요.

안방과 거실 중 주로 거실 화장실에서 씻기기에 세면대 한쪽에 당당히 위치하고 있는 바솔 엉덩이세정제 입니다.

푸푸하고 개운한 엉덩이로 잘 놀고 있는 쩨리 모습이에요.

우리아기의 첫 엉덩이세정제 바솔 코코마일드 포밍워시로 쭉 이어가렵니당!

🚨 본 후기는 업체에서 제품을 무상으로 제공받아 작성한 내용입니다

728x90
반응형

ubuntu에 ghost를 올려서 사용해 보니 기능을 변경해야 될 부분들이 보여 이번엔  source를 통해 설치해보도록 하겠습니다.

 

ubuntu를 사용하는 새로운 ec2를 생성하여 작업하도록 하겠습니다.

ghost는 node를 사용하므로 node설치를 먼저 해줍니다. 설치는 이전 포스팅을 참고하세요.

https://sound-story.tistory.com/28

 

[ec2] ubuntu에 node 설치하기

ubuntu 20.04 버전에 node.js를 설치해봅니다. node는 서버 프로그래밍을 위한 js 런타임으로 javaScript로 확장 가능한 백엔드 기능을 개발할 수 있습니다. 1. CURL 설치 node를 설치하기 전 커맨드 라인 툴을

sound-story.tistory.com

 

이번 포스팅은 ghost.org의 아래 가이드를 따라 했습니다.

https://ghost.org/docs/install/source/

 

Ghost Docs

Everything you need to know about working with the Ghost professional publishing platform.

ghost.org

 

가이드에 따르면 yarn 패키지를 사용하므로 yarn을 설치합니다. 이전에 npm을 설치하였기에 sudo npm install -g yarn 명령어로 설치합니다.

$ sudo npm install -g yarn

> yarn@1.22.18 preinstall /usr/local/lib/node_modules/yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)

/usr/local/bin/yarn -> /usr/local/lib/node_modules/yarn/bin/yarn.js
/usr/local/bin/yarnpkg -> /usr/local/lib/node_modules/yarn/bin/yarn.js
+ yarn@1.22.18
added 1 package in 2.439s

1. global package 설치

$ yarn global add knex-migrator ember-cli
yarn global v1.22.18
[1/4] Resolving packages...
warning knex-migrator > ghost-ignition > bunyan-loggly > node-loggly-bulk > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning knex-migrator > ghost-ignition > bunyan-loggly > node-loggly-bulk > request > uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning knex-migrator > ghost-ignition > bunyan-loggly > node-loggly-bulk > request > har-validator@5.1.5: this library is no longer supported
warning ember-cli > broccoli > sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
warning ember-cli > broccoli-babel-transpiler > @babel/polyfill@7.12.1: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
warning ember-cli > broccoli-babel-transpiler > @babel/polyfill > core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
warning ember-cli > broccoli-concat > fast-sourcemap-concat > source-map-url@0.3.0: See https://github.com/lydell/source-map-url#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve > source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
[2/4] Fetching packages...
error knex@2.0.0: The engine "node" is incompatible with this module. Expected version ">=12". Got "10.19.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.

node 버전 문제로 인해 error가 발생합니다.

12 이상의 node버전이 필요하므로 node update를 먼저 실행하고 진행합니다. (위에서 언급한 node설치 포스팅을 참고하세요.)

global package를 다시 설치해보니 이번엔 잘 됩니다.

$ yarn global add knex-migrator ember-cli
yarn global v1.22.18
[1/4] Resolving packages...
warning knex-migrator > ghost-ignition > bunyan-loggly > node-loggly-bulk > request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
warning knex-migrator > ghost-ignition > bunyan-loggly > node-loggly-bulk > request > uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
warning knex-migrator > ghost-ignition > bunyan-loggly > node-loggly-bulk > request > har-validator@5.1.5: this library is no longer supported
warning ember-cli > broccoli > sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
warning ember-cli > broccoli-babel-transpiler > @babel/polyfill@7.12.1: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
warning ember-cli > broccoli-babel-transpiler > @babel/polyfill > core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
warning ember-cli > broccoli-concat > fast-sourcemap-concat > source-map-url@0.3.0: See https://github.com/lydell/source-map-url#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve > source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve > resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
warning ember-cli > broccoli > sane > micromatch > snapdragon > source-map-resolve > urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Installed "knex-migrator@4.2.10" with binaries:
      - knex-migrator
      - knex-migrator-init
      - knex-migrator-health
      - knex-migrator-migrate
      - knex-migrator-reset
      - knex-migrator-rollback
success Installed "ember-cli@4.3.0" with binaries:
      - ember
Done in 37.60s.

 

Ghost와 Ghost-admin repository를 받아옵니다.

$ git clone https://github.com/TryGhost/Ghost.git
Cloning into 'Ghost'...
remote: Enumerating objects: 154171, done.
remote: Counting objects: 100% (1085/1085), done.
remote: Compressing objects: 100% (628/628), done.
remote: Total 154171 (delta 618), reused 854 (delta 452), pack-reused 153086
Receiving objects: 100% (154171/154171), 68.28 MiB | 11.05 MiB/s, done.
Resolving deltas: 100% (104825/104825), done.
$ git clone https://github.com/TryGhost/Admin.git
Cloning into 'Admin'...
remote: Enumerating objects: 119161, done.
remote: Counting objects: 100% (571/571), done.
remote: Compressing objects: 100% (249/249), done.
remote: Total 119161 (delta 356), reused 513 (delta 320), pack-reused 118590
Receiving objects: 100% (119161/119161), 61.51 MiB | 11.27 MiB/s, done.
Resolving deltas: 100% (84280/84280), done.

 

다운로드한 Ghost로 이동하여 실행합니다.

~/Ghost$ yarn start
yarn run v1.22.18
warning ghost@4.46.0: The engine "cli" appears to be invalid.
$ node index
[2022-05-18 05:50:53] INFO Ghost is running in development...
[2022-05-18 05:50:53] INFO Listening on: 127.0.0.1:2368
[2022-05-18 05:50:53] INFO Url configured as: http://localhost:2368/
[2022-05-18 05:50:53] INFO Ctrl+C to shut down
[2022-05-18 05:50:53] INFO Ghost server started in 2.136s
[2022-05-18 05:50:54] INFO Database is in a ready state.
[2022-05-18 05:50:54] INFO Ghost database ready in 2.726s
[2022-05-18 05:50:59] INFO Stripe not configured - skipping migrations
[2022-05-18 05:50:59] INFO Ghost URL Service Ready in 8.238s
[2022-05-18 05:50:59] INFO Ghost booted in 8.417s
[2022-05-18 05:50:59] INFO Adding offloaded job to the queue
[2022-05-18 05:50:59] INFO Scheduling job update-check at 2 53 15 * * *. Next run on: Wed May 18 2022 15:53:02 GMT+0000 (Coordinated Universal Time)

접속해 보니 정상적으로 뜨는 것을 확인할 수 있습니다.

728x90
반응형

ubuntu 20.04 버전에 node.js를 설치해봅니다.

node는 서버 프로그래밍을 위한 js 런타임으로 javaScript로 확장 가능한 백엔드 기능을 개발할 수 있습니다.

 

1. CURL 설치

node를 설치하기 전 커맨드 라인 툴을 설치해야 합니다.

CURL은 서버와 통신할 수 있는 커맨드 명령어 오픈소스 툴로 아래의 명령어로 설치합니다.

$ sudo apt-get install -y curl
Reading package lists... Done
Building dependency tree
Reading state information... Done
curl is already the newest version (7.68.0-1ubuntu2.7).
curl set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

 

2. apt 패키지 매니저 이용하여 설치

apt 패키지 매니저를 update 합니다.

$ sudo apt update
Hit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal InRelease
.....
Get:42 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 c-n-f Metadata [512 B]
Fetched 22.8 MB in 4s (5470 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
48 packages can be upgraded. Run 'apt list --upgradable' to see them.

nodejs를 설치합니다.

$ sudo apt install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
nodejs is already the newest version (10.19.0~dfsg-3ubuntu1).
0 upgraded, 0 newly installed, 0 to remove and 48 not upgraded.

버전 확인을 통해 설치 확인을 합니다.

$ nodejs -v
v10.19.0

노드 패키지 매니저인 npm을 다운로드합니다.

$  sudo apt install npm
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
...

npm 버전 확인을 통해 설치 확인을 합니다.

$ npm -v
6.14.4

 

node 버전이 너무 낮은 문제점이 발생하여 최신 버전으로 설치해보도록 하겠습니다.

$ curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_14_setup.sh
 

다운로드한 shell을 실행합니다.

$ sudo bash nodesource_14_setup.sh
## Installing the NodeSource Node.js 14.x repo...
## Populating apt-get cache...
+ apt-get update
Hit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal-backports InRelease
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Fetched 114 kB in 2s (69.3 kB/s)
Reading package lists... Done
## Confirming "focal" is supported...
+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_14.x/dists/focal/Release'
## Adding the NodeSource signing key to your keyring...
+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor | tee /usr/share/keyrings/nodesource.gpg >/dev/null
## Creating apt sources list file for the NodeSource Node.js 14.x repo...
+ echo 'deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x focal main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_14.x focal main' >> /etc/apt/sources.list.d/nodesource.list
## Running `apt-get update` for you...
+ apt-get update
Hit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal InRelease
Hit:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu focal-backports InRelease
Get:4 https://deb.nodesource.com/node_14.x focal InRelease [4583 B]
Get:5 https://deb.nodesource.com/node_14.x focal/main amd64 Packages [774 B]
Hit:6 http://security.ubuntu.com/ubuntu focal-security InRelease
Fetched 5357 B in 0s (11.9 kB/s)
Reading package lists... Done
## Run `sudo apt-get install -y nodejs` to install Node.js 14.x and npm
## You may also need development tools to build native addons:
     sudo apt-get install gcc g++ make
## To install the Yarn package manager, run:
     curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
     echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
     sudo apt-get update && sudo apt-get install yarn
 

다운로드한 버전으로 node를 설치합니다.

$ sudo apt install nodejs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  fontconfig-config fonts-dejavu-core gyp javascript-common libauthen-sasl-perl libc-ares2 libdata-dump-perl
  libdrm-amdgpu1 libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libencode-locale-perl libfile-basedir-perl
  libfile-desktopentry-perl libfile-listing-perl libfile-mimeinfo-perl libfont-afm-perl libfontconfig1 libfontenc1
  libgl1 libgl1-mesa-dri libglapi-mesa libglvnd0 libglx-mesa0 libglx0 libhtml-form-perl libhtml-format-perl
  libhtml-parser-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl
  libhttp-message-perl libhttp-negotiate-perl libice6 libio-html-perl libio-socket-ssl-perl libio-stringy-perl
...
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  libnode-dev libnode64 node-gyp nodejs-doc npm
The following packages will be upgraded:
  nodejs
1 upgraded, 0 newly installed, 5 to remove and 46 not upgraded.
Need to get 25.4 MB of archives.
After this operatio , 87.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://deb.nodesource.com/node_14.x focal/main amd64 nodejs amd64 14.19.3-deb-1nodesource1 [25.4 MB]
Fetched 25.4 MB in 0s (61.0 MB/s)
(Reading database ... 75731 files and directories currently installed.)
Removing npm (6.14.4+ds-1ubuntu2) ...
Removing node-gyp (6.1.0-3) ...
Removing libnode-dev:amd64 (10.19.0~dfsg-3ubuntu1) ...
Removing nodejs-doc (10.19.0~dfsg-3ubuntu1) ...
dpkg: libnode64:amd64: dependency problems, but removing anyway as you requested:
 nodejs depends on libnode64 (= 10.19.0~dfsg-3ubuntu1).
...
Removing libnode64:amd64 (10.19.0~dfsg-3ubuntu1) ...
(Reading database ... 74289 files and directories currently installed.)
Preparing to unpack .../nodejs_14.19.3-deb-1nodesource1_amd64.deb ...
Unpacking nodejs (14.19.3-deb-1nodesource1) over (10.19.0~dfsg-3ubuntu1) ...
Setting up nodejs (14.19.3-deb-1nodesource1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.7) ...
Processing triggers for man-db (2.9.1-1) ...
 

node버전을 확인해 보니 제대로 설치되었습니다.

$ node -v
v14.19.3
 
 

 

728x90
반응형

지난번 docker를 설치한 ubuntu서버에 ghost를 올려보도록 하겠습니다.

https://sound-story.tistory.com/26

 

[Ubuntu] docker 및 docker compose 설치하기

AWS EC2에 만든 ubuntu서버에 docker 및 docker compose를 설치해보겠습니다. 먼저 생성한 ec2에 연결합니다. > ssh -i "***.pem" ubuntu@ec2-***.ap-northeast-2.compute.amazonaws.com The authenticity of host..

sound-story.tistory.com

 

설치는 ghost.org의 가이드에 따라 실행하였습니다.

https://ghost.org/docs/install/ubuntu/

 

How to install & setup Ghost on Ubuntu 16.04, 18.04 and 20.04

A full production install guide for how to install the Ghost professional publishing platform on a production server running Ubuntu 16.04, 18.04 or 20.04.

ghost.org

1. nginx 설치

Ghost는 nginx 서버를 이용합니다. 따라서 nginx를 설치합니다.

$ sudo apt-get install nginx

http와 https 연결을 위해 방화벽을 허용해 줍니다.

$ sudo ufw allow 'Nginx Full'
Rules updated
Rules updated (v6)

 

2. MySQL 설치

MySQL을 사용하므로 설치합니다.

$ sudo apt-get install mysql-server

 

MySQL을 실행하여 root의 password를 설정합니다.

$ sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.29-0ubuntu0.22.04.2 (Ubuntu)

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '비밀번호';
Query OK, 0 rows affected (0.01 sec)

mysql을 빠져나옵니다.

mysql> quit
Bye

 

3. Node.js 설치

다음으로 node를 설치합니다.

$ curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash
$ sudo apt-get install -y nodejs

 

4. Ghost-CLI 설치

Ghost-CLI는 Ghost를 빠르고 쉽게 사용하기 위한 commandline 툴입니다. npm 또는 yarn을 이용하여 설치할 수 있습니다.

$ sudo npm install ghost-cli@latest -g

 

5. Ghost 설치

생성할 sitename으로 디렉터리를 생성합니다.

sudo mkdir -p /var/www/'sitename'

ghost-admin 사용자를 추가합니다.

$ sudo adduser ghost-admin
Adding user `ghost-admin' ...
Adding new group `ghost-admin' (1001) ...
Adding new user `ghost-admin' (1001) with group `ghost-admin' ...
Creating home directory `/home/ghost-admin' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for ghost-admin
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n]

추가한 사용자에 superuser gorup을 부여합니다.

$ sudo usermod -aG sudo ghost-admin

위에서 생성한 폴더에 소유자를 변경합니다.

$ sudo chown ghost-admin:ghost-admin /var/www/'sitename'
[sudo] password for ghost-admin:

ll 명령어로 소유자가 변경됐음을 확인합니다.

$ ll
total 16
drwxr-xr-x  4 root        root        4096 May 16 06:17 ./
drwxr-xr-x 14 root        root        4096 May 16 05:54 ../
drwxr-xr-x  2 ghost-admin ghost-admin 4096 May 16 06:17 sitename/
drwxr-xr-x  2 root        root        4096 May 16 05:54 html/

755로 권한을 변경합니다.

$ sudo chmod 775 /var/www/sitename

생성한 폴더로 이동합니다.

cd /var/www/sitename

설치 프로세스를 시작합니다.

ghost install

다운로드 및 설치에 약간의 시간이 소요됩니다.

 

ghost 서비스가 올라오고 http://localhost:2368/ghost로 접속하니 잘 되네요.

 

728x90
반응형

AWS EC2에 만든 ubuntu서버에 docker 및 docker compose를 설치해보겠습니다.

 

먼저 생성한 ec2에 연결합니다.

> ssh -i "***.pem" ubuntu@ec2-***.ap-northeast-2.compute.amazonaws.com
The authenticity of host '***.ap-northeast-2.compute.amazonaws.com (xx.xxx.x.xxx)' can't be established.
ECDSA key fingerprint is SHA256:PcvcASLF420AQzOU5mzhCdy6D8OMMORUd29bpT6w0a8.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'ec2-***.ap-northeast-2.compute.amazonaws.com,xx.xxx.x.xxx' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-1004-aws x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Mon May 16 05:03:46 UTC 2022

  System load:  0.146484375       Processes:             105
  Usage of /:   5.0% of 28.90GB   Users logged in:       0
  Memory usage: 20%               IPv4 address for eth0: xxx.xx.xx.xxx
  Swap usage:   0%

0 updates can be applied immediately.


The list of available updates is more than a week old.
To check for new updates run: sudo apt update


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

ubuntu@ip-:~$

yes를 입력하여 접속하니, ec2를 처음 생성하여 위와 같이 뜹니다.

sudo apt-get update를 실행합니다.

ubuntu@ip-:~$  sudo apt-get update
Hit:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy InRelease
Hit:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy-updates InRelease
Hit:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy-backports InRelease
Get:4 https://download.docker.com/linux/ubuntu jammy InRelease [48.9 kB]
Get:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages [5109 B]
Hit:6 http://security.ubuntu.com/ubuntu jammy-security InRelease
Fetched 54.0 kB in 0s (114 kB/s)
Reading package lists... Done

 

apt 패키지 index를 업데이트하고 https를 통해 repository를 이용하기 위해 다음과 같이 설치합니다.

ubuntu@ip-:~$ sudo apt-get install -y ca-certificates \
    curl \
    software-properties-common \
    apt-transport-https \
    gnupg \
    lsb-release
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package
curl: (6) Could not resolve host: software-properties-common
curl: (6) Could not resolve host: apt-transport-https
curl: (6) Could not resolve host: gnupg
curl: (6) Could not resolve host: lsb-release

 

docker의 official GPG key를 등록합니다.

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

stable repository를 등록합니다.

ubuntu@ip-:~$  echo \
  "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

sudo apt-get install docker-ce docker-ce-cli containerd.io 명령어로 docker Engine을 설치합니다.

ubuntu@ip-:~$ sudo apt-get install docker-ce docker-ce-cli containerd.io
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  docker-ce-rootless-extras docker-scan-plugin libltdl7 libslirp0 pigz slirp4netns
Suggested packages:
  aufs-tools cgroupfs-mount | cgroup-lite
The following NEW packages will be installed:
  containerd.io docker-ce docker-ce-cli docker-ce-rootless-extras docker-scan-plugin libltdl7 libslirp0 pigz
  slirp4netns
0 upgraded, 9 newly installed, 0 to remove and 28 not upgraded.
Need to get 102 MB of archives.
After this operation, 422 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy/universe amd64 pigz amd64 2.6-1 [63.6 kB]
Get:2 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy/main amd64 libltdl7 amd64 2.4.6-15build2 [39.6 kB]
Get:3 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy/main amd64 libslirp0 amd64 4.6.1-1build1 [61.5 kB]
Get:4 http://ap-northeast-2.ec2.archive.ubuntu.com/ubuntu jammy/universe amd64 slirp4netns amd64 1.0.1-2 [28.2 kB]
Get:5 https://download.docker.com/linux/ubuntu jammy/stable amd64 containerd.io amd64 1.6.4-1 [28.1 MB]
Get:6 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-cli amd64 5:20.10.16~3-0~ubuntu-jammy [40.6 MB]
Get:7 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce amd64 5:20.10.16~3-0~ubuntu-jammy [21.0 MB]
Get:8 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-ce-rootless-extras amd64 5:20.10.16~3-0~ubuntu-jammy [8167 kB]
Get:9 https://download.docker.com/linux/ubuntu jammy/stable amd64 docker-scan-plugin amd64 0.17.0~ubuntu-jammy [3521 kB]
Fetched 102 MB in 3s (32.3 MB/s)
Selecting previously unselected package pigz.
(Reading database ... 63599 files and directories currently installed.)
Preparing to unpack .../0-pigz_2.6-1_amd64.deb ...
Unpacking pigz (2.6-1) ...
Selecting previously unselected package containerd.io.
Preparing to unpack .../1-containerd.io_1.6.4-1_amd64.deb ...
Unpacking containerd.io (1.6.4-1) ...
Selecting previously unselected package docker-ce-cli.
Preparing to unpack .../2-docker-ce-cli_5%3a20.10.16~3-0~ubuntu-jammy_amd64.deb ...
Unpacking docker-ce-cli (5:20.10.16~3-0~ubuntu-jammy) ...
Selecting previously unselected package docker-ce.
Preparing to unpack .../3-docker-ce_5%3a20.10.16~3-0~ubuntu-jammy_amd64.deb ...
Unpacking docker-ce (5:20.10.16~3-0~ubuntu-jammy) ...
Selecting previously unselected package docker-ce-rootless-extras.
Preparing to unpack .../4-docker-ce-rootless-extras_5%3a20.10.16~3-0~ubuntu-jammy_amd64.deb ...
Unpacking docker-ce-rootless-extras (5:20.10.16~3-0~ubuntu-jammy) ...
Selecting previously unselected package docker-scan-plugin.
Preparing to unpack .../5-docker-scan-plugin_0.17.0~ubuntu-jammy_amd64.deb ...
Unpacking docker-scan-plugin (0.17.0~ubuntu-jammy) ...
Selecting previously unselected package libltdl7:amd64.
Preparing to unpack .../6-libltdl7_2.4.6-15build2_amd64.deb ...
Unpacking libltdl7:amd64 (2.4.6-15build2) ...
Selecting previously unselected package libslirp0:amd64.
Preparing to unpack .../7-libslirp0_4.6.1-1build1_amd64.deb ...
Unpacking libslirp0:amd64 (4.6.1-1build1) ...
Selecting previously unselected package slirp4netns.
Preparing to unpack .../8-slirp4netns_1.0.1-2_amd64.deb ...
Unpacking slirp4netns (1.0.1-2) ...
Setting up docker-scan-plugin (0.17.0~ubuntu-jammy) ...
Setting up containerd.io (1.6.4-1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service.
Setting up libltdl7:amd64 (2.4.6-15build2) ...
Setting up docker-ce-cli (5:20.10.16~3-0~ubuntu-jammy) ...
Setting up libslirp0:amd64 (4.6.1-1build1) ...
Setting up pigz (2.6-1) ...
Setting up docker-ce-rootless-extras (5:20.10.16~3-0~ubuntu-jammy) ...
Setting up slirp4netns (1.0.1-2) ...
Setting up docker-ce (5:20.10.16~3-0~ubuntu-jammy) ...
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket.
Processing triggers for man-db (2.10.2-1) ...
Processing triggers for libc-bin (2.35-0ubuntu3) ...
Scanning processes...
Scanning linux images...

Running kernel seems to be up-to-date.

No services need to be restarted.

No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.

 

설치 완료docker --version으로 버전을 확인합니다.

ubuntu@ip-:~$ docker --version
Docker version 20.10.16, build aa7e414

 

다음으로 docker compose를 설치합니다.

docker compose는 docker설치 시 함께 설치되지 않으므로 별도로 설치해주어야 하며, 여러 개의 도커 애플리케이션 컨테이너들을 정의하고 실행할 수 있도록 해줍니다. yaml파일을 사용하여 서비스를 설정하고 하나의 커맨드만으로 여러 개의 도커 컨테이너들을 사용할 수 있습니다.

ubuntu@ip-:~$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 12.1M  100 12.1M    0     0  14.7M      0 --:--:-- --:--:-- --:--:-- 44.4M

 

실행 권한을 부여합니다.

ubuntu@ip-:~$ sudo chmod +x /usr/local/bin/docker-compose

 

docker compose 또한 docker-compse --version 명령을 통해 잘 설치되었는지 확인해봅니다.

ubuntu@ip-:~$ docker-compose --version
docker-compose version 1.29.2, build 5becea4c

 

728x90
반응형

spring boot로 구현되어 있는 backend에서 aws sqs sdk 사용을 해보려고 합니다.

소스는 aws 개발자 안내서를 참조하여 작성하였습니다.

https://docs.aws.amazon.com/ko_kr/sdk-for-java/v1/developer-guide/setup-project-gradle.html

 

Gradle에서 SDK 사용하기 - AWS SDK for Java

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

 

개발자 가이드에 따르면 Gradle의 버전에 따라 프로젝트 설정 방법이 달라지므로, 사용 중인 Gradle의 버전부터 확인해 보도록 하겠습니다.

 

현재 사용 중인 Intellij에서 Gradle Version 확인 방법은 아래와 같습니다.

1. 프로젝트 내에서 gradle 폴더를 찾습니다.

2. wrapper 내 2개의 파일 중 gradle-wrapper.properties 파일을 찾아 열어봅니다.

gradle version 확인

저의 버전은 7.1을 사용하고 있습니다.

 

아래에서 보듯이 5.0 이상이면 1단계는 건너뛸 수 있어요. 2단계부터 진행해보도록 하겠습니다.

 

기존에 소스를 살펴보면 build.gradle에 dependency가 정리되어 있습니다.

이 부분에 implemention을 추가해 줍니다.

implementation platform('com.amazonaws:aws-java-sdk-bom:1.11.1000')
implementation 'com.amazonaws:aws-java-sdk-s3'
implementation "com.amazonaws:aws-java-sdk-sqs"

"com.amazonaws:aws-java-sdk-sqs" 뒷부분에 ":version 정보"를 입력하여 특정 정보의 sdk를 사용하도록 설정할 수도 있습니다. 생각보다 간단하네요;;;

다음에는 sqs 연결을 하여 메시지를 전송하는 부분에 대하여 포스팅해보도록 하겠습니다.

728x90
반응형

지난번에 1,2 과정에 이어서 나머지 작업을 진행해보겠습니다.

https://sound-story.tistory.com/23

 

[Client VPN 구축] 2. 클라이언트 VPN 엔드포인트 생성

지난번에 이어 Client VPN 구축 작업을 해보겠습니다. https://sound-story.tistory.com/22 [Client VPN 구축] 1. Client VPN이란, 인증서 및 키 생성 AWS Client VPN은 AWS 리소스 및 온프레미스 네트워크의 리소..

sound-story.tistory.com

 

3. 클라이언트에서 VPN 연결 활성화

① [대상 네트워크 연결] 탭에서 [대상 네트워크 연결]을 실행한다.

② VPC와 연결할 서브넷을 선택한다. private 서브넷에 연결하기 위해 private 서브넷을 선택하며, 현재 a와 c 2개의 private subnet을 구성하였으므로 두 개의 대상 네트워크를 두 번에 걸쳐 연결한다.

 

③ 이제  Client VPN 엔드포인트의 상태가 Availble로 변경되면, 클라이언트가 VPN 연결을 설정할 수 있지만, 권한 부여 규칙을 추가할 때까지는 VPC 내 리소스에 액세스 할 수 없다.

4. 클라이언트가 네트워크에 연결하도록 승인

① 권한 부여 규칙을 생성하여 VPC에 액세스할 수 있는 클라이언트를 지정한다.

5. 클라이언트 VPN 엔드포인트 구성 파일 다운로드

① [클라이언트 구성 다운로드]를 클릭하여 .ovpn형태의 Client config 파일을 다운로드한다.

② 다운로드한 client config 파일을 아래와 같은 형태로 수정한다.

 

다운받은 config 내용
...
reneg-sec 0
<cert>
client1.domain.tld.crt
</cert>
<key>
client1.domain.tld.key
</key>


6. Client VPN 엔드포인트에 연결

① AWS Client VPN download

https://aws.amazon.com/ko/vpn/client-vpn-download/ 에서 다운로드하여 설치한다.

② openVPN을 실행하여 config파일을 import 한다.

  

③ vpn연결

 

728x90
반응형

지난번에 이어 Client VPN 구축 작업을 해보겠습니다.

https://sound-story.tistory.com/22

 

[Client VPN 구축] 1. Client VPN이란, 인증서 및 키 생성

AWS Client VPN은 AWS 리소스 및 온프레미스 네트워크의 리소스에 안전하게 액세스 할 수 있도록 하는 관리형 클라이언트 기반 VPN 서비스이다. Client VPN에서는 OpenVPN 기반 VPN 클라이언트를 사용하여

sound-story.tistory.com

 

2. 클라이언트 VPN 엔드포인트 생성

① Amazon VPC 콘솔에 접속한다.

② [클라이언트 VPN 엔드포인트]를 선택한 다음 [클라이언트 VPN 엔드포인트 생성]을 클릭한다.

Client VPN 엔드포인트의 이름과 설명을 입력하고, 클라이언트 IPv4 CIDR에서 클라이언트 IP 주소를 할당할 IP 주소 범위를 지정한다.

④ 서버 인증서 ARN에 서버에서 사용할 TLS 인증서의 ARN을 지정한다. 클라이언트는 서버 인증서를 사용하여 연결할 Client VPN 엔트포인트를 인증한다.

⑤ VPC와 보안 그룹을 선택한다.

⑥ 태그를 지정하고 [클라이언트 VPN 엔드포인트 생성]을 클릭한다.

⑦ 생성이 되면 목록에 Pending-associate 상태로 조회되고, 나머지 설정이 완료되어야 Available 상태가 된다.

 

728x90
반응형

+ Recent posts