[Spring] ์Šคํ”„๋ง๋ถ€ํŠธ์™€ HikariCP๋ฅผ ํ™œ์šฉํ•œ Connection Pool ์„ค์ • ๋ฐ ์ตœ์ ํ™”

[Spring] ์Šคํ”„๋ง๋ถ€ํŠธ์™€ HikariCP๋ฅผ ํ™œ์šฉํ•œ Connection Pool ์„ค์ • ๋ฐ ์ตœ์ ํ™”

๋ช‡ ๋…„ ์ „ ์šด์˜ ํ”„๋กœ์ ํŠธ ์„ค์ • ์‹œ ์ž์„ธํ•˜๊ฒŒ ๋ดค๋˜ ๋‚ด์šฉ์ด์ง€๋งŒ, ํŠธ๋ž˜ํ”ฝ์ด ๋Œ€ํญ ์ฆ๊ฐ€ํ•˜๊ณ , DBMS์— ์—ฐ๊ฒฐ๋œ ํ”„๋กœ์ ํŠธ์™€ ๋ชจ๋“ˆ์ด ๋Š˜์–ด๋‚จ์— ๋”ฐ๋ผ ์žฌ์„ค์ •์„ ์œ„ํ•ด ๊ฐœ๋…์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. 1. ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ๊ณผ์ • DB Connection ์—ด๊ธฐ- ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์™€์˜ ์—ฐ๊ฒฐ TCP ์†Œ์ผ“ ์—ด๊ธฐ - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „์†ก์„ ์œ„ํ•ด TCP ์†Œ์ผ“์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์™€ ํ†ต์‹ ์ฑ„๋„์„ ์„ค์ • ๋ฐ์ดํ„ฐ ํ†ต์‹  ์ˆ˜ํ–‰ - ์ƒ์„ฑ๋œ ์†Œ์ผ“์„ ํ†ตํ•ด SQL ์ฟผ๋ฆฌ๋ฅผ ์ „์†กํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ Read / Write DB์—ฐ๊ฒฐ ๋‹ซ๊ธฐ - ๋ฐ์ดํ„ฐ ํ†ต์‹ ์ด ์™„๋ฃŒ๋˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์—ฐ๊ฒฐ์„ ์ข…๋ฃŒ TCP ์†Œ์ผ“ ๋‹ซ๊ธฐ - ์‚ฌ์šฉํ•œ TCP ์†Œ์ผ“์„ ๋‹ซ์•„ ํ†ต์‹  ์ฑ„๋„ ํ•ด์ œ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํด๋ผ์ด์–ธํŠธ์˜ HTTP ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ๊ฐ ์š”์ฒญ ์‹œ DB์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ DB์— ์ง€์†์ ์œผ๋กœ ์ ‘๊ทผํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์˜ˆ๋กœ ๋“ค๋ฉด, DB์— ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ, JDBC ๋“œ๋ผ์ด๋ฒ„๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ ํ•œ๋ฒˆ ๋กœ๋“œ๋˜๊ณ , ์‚ฌ์šฉ์ž ์š”์ฒญ ์‹œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด connection ๊ฐ์ฒด ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•œ ํ›„ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ์ž ์š”์ฒญ ์‹œ ๋งค๋ฒˆ connection ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ/์—ฐ๊ฒฐ/์ข…๋ฃŒํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋‹ค. ...

[LINUX] SFTP ์ดˆ๊ธฐํ™” ์˜ค๋ฅ˜ : Failed to connect and initialize SSH connection. Message: [Failed to connect SFTP channel

[LINUX] SFTP ์ดˆ๊ธฐํ™” ์˜ค๋ฅ˜ : Failed to connect and initialize SSH connection. Message: [Failed to connect SFTP channel

jenkins.plugins.publish_over.BapPublisherException:ย Failedย toย connectย andย initializeย SSHย connection.ย Message:ย [Failedย toย connectย SFTPย channel.ย Messageย [4:ย Receivedย messageย isย tooย long:ย 458961709]] 1. ๋ฌธ์ œ์ƒํ™ฉ ๊ธฐ์กด์— ์ž˜ ์ž‘๋™ํ•˜๋˜ SFTP๋ฅผ ํ™œ์šฉํ•œ CI/CD๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์— ๋”ฐ๋ฅด๋ฉด ์•ฝ 438mb์˜ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์€ ์ƒํ™ฉ์ธ๋ฐ,ย ํŒŒ์ผ์„ ์‹ค์ œ๋กœ ์—…๋กœ๋“œํ•˜๋Š” ์‹œ์ ์ด ์•„๋‹Œ SFTP์—ฐ๊ฒฐ ์‹œ๋„๋ฅผ ํ•˜๋Š” ์ˆœ๊ฐ„(SSH์—ฐ๊ฒฐ์„ ์„ค์ •ํ•˜๊ณ  ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ถ€๋ถ„)์—๋„ ์ด๋ ‡๊ฒŒ ํฐ ์‘๋‹ต์„ ๋ฐ›๋Š” ์ƒํ™ฉ์ด์—ˆ๋‹ค. 2. ์›์ธํŒŒ์•… SSH ์ ‘์†์‹œ, ์„œ๋ฒ„ ๊ฐ„ ๊ตฌ๋ถ„์„ ์ฃผ๊ธฐ ์œ„ํ•ด ~/. bashrc์˜ ์„ค์ •์„ ํ†ตํ•ด ์›ฐ์ปด๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ฌธ์ œ์˜€๋‹ค. (๋‹ค์Œ ํฌ์ŠคํŠธ์—์„œ ์ง„ํ–‰ํ•œ ์„œ๋ฒ„๋ณ„ ์›ฐ์ปด ๋ฉ”์‹œ์ง€ ๋“ฑ๋ก ๋ถ€๋ถ„์—์„œ ์ž‘์—…๊ณผ์ • ํ™•์ธ ๊ฐ€๋Šฅ) ...

[AWS] Bastion ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์„œ๋ฒ„ ์ ‘์† ์ƒํƒœ ํ•œ๋ˆˆ์— ๊ตฌ๋ถ„ํ•˜๊ธฐ

[AWS] Bastion ์„œ๋ฒ„ ์„ค์ • ๋ฐ ์„œ๋ฒ„ ์ ‘์† ์ƒํƒœ ํ•œ๋ˆˆ์— ๊ตฌ๋ถ„ํ•˜๊ธฐ

1. Bastion ์„œ๋ฒ„๋ž€? Bastionย ์„œ๋ฒ„๋ž€ย ํด๋ผ์šฐ๋“œย ํ™˜๊ฒฝ,ย ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œย ๋ณด์•ˆย ๊ฒŒ์ดํŠธ์›จ์ดย ์—ญํ• ์„ย ํ•˜๋Š”ย ์„œ๋ฒ„๋กœ,ย ์™ธ๋ถ€ย ๋„คํŠธ์›Œํฌ์—์„œย privateย ์„œ๋ฒ„๋กœย ์ ‘์†ํ•  ๋•Œย ๋ณด์•ˆ์„ย ๊ฐ•ํ™”ํ•ด ์ฃผ๊ณ ย ์ ‘๊ทผ์ œ์–ด๋ฅผย ๊ตฌํ˜„ํ•ด ์ค€๋‹ค.ย ์™ธ๋ถ€ย ์‚ฌ์šฉ์ž๊ฐ€ย ํŠน์ •ย IP์—์„œ๋งŒย Bastionย ์„œ๋ฒ„์—ย ์ ‘์†ํ•˜๋„๋กย ์„ค์ •ํ• ย ์ˆ˜ย ์žˆ์œผ๋ฉฐ,ย privateย ์„œ๋ฒ„๋“ค์€ย Bastionย ์„œ๋ฒ„๋ฅผย ํ†ตํ•ด์„œย ํŠธ๋ž˜ํ”ฝ์„ย ์ฒ ์ €ํ•˜๊ฒŒย ๊ด€๋ฆฌํ• ย ์ˆ˜ย ์žˆ๋‹ค.ย ์ด๋ฒˆย ํฌ์ŠคํŠธ์—์„ ย Bastion์„œ๋ฒ„์˜ย ์„ค์ •ย ๋ฐฉ๋ฒ•๊ณผ,ย ๋‹ค์ค‘ย ์„œ๋ฒ„๋ฅผย Bastionย ์„œ๋ฒ„์—์„œย ๊ด€๋ฆฌํ• ย ์‹œย ์ ‘์†์ƒํƒœ๋ฅผย ํ•œ๋ˆˆ์—ย ๊ตฌ๋ถ„ํ• ย ์ˆ˜ย ์žˆ๋Š”ย ๋ฐฉ๋ฒ•์—ย ๋Œ€ํ•ดย ์•Œ์•„๋ณด์ž. 2. Bastion ์„œ๋ฒ„ ์„ค์ • ๋ฐฉ๋ฒ• 2-1.aws ์ธ์Šคํ„ด์Šค ์ƒ์„ฑย t2 micro~t3 micro - ์†Œ๊ทœ๋ชจ ๊ฐœ๋ฐœํŒ€ t3 smallย - ์ค‘๊ฐ„ ๊ทœ๋ชจํŒ€ T3.medium, M5.large - ๋Œ€๊ทœ๋ชจํŒ€ (๋‹ค์ˆ˜ ๊ฐœ๋ฐœ์ž, ์šด์˜ํŒ€) ...

[LLM] Quota discoveryengine.googleapis.com/documents exceeded.

[LLM] Quota discoveryengine.googleapis.com/documents exceeded.

1. ๋ฌธ์ œ ๋ฐœ์ƒ Quotaย discoveryengine.googleapis.com/documentsย exceeded. GCP์—์„œ MLOps๋ฅผ ๊ตฌ์ถ• ์ค‘, RAG๋ฅผ ์œ„ํ•œ Discovery engine์˜ ๋ฐ์ดํ„ฐ ์ตœ๋Œ€ ์ˆ˜๋Ÿ‰์ด ์ดˆ๊ณผ๋˜์—ˆ๋‹ค๋Š” ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฆฌ๋ฐ‹์€ 100๋งŒ๊ฑด์ด์ง€๋งŒ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ• ๋‹น๋Ÿ‰ ์ˆ˜์ • ์š”์ฒญ์ด ํ•„์š”ํ•˜๋‹ค. 2. ํ• ๋‹น๋Ÿ‰ ์ˆ˜์ • ์š”์ฒญ 2-1. IAM & ๊ด€๋ฆฌ์ž -> ํ• ๋‹น๋Ÿ‰ ๋ฐ ์‹œ์Šคํ…œ ํ•œ๋„ 2-2. ์ดˆ๊ณผ๋œ ํ•ญ๋ชฉ ์„ ํƒ ํ• ๋‹น๋Ÿ‰ ์ˆ˜์ •์„ ์›ํ•˜๋Š” ํ•ญ๋ชฉ์˜ ๋งจ ์˜ค๋ฅธ์ชฝ ๋ฉ”๋‰ด ํƒญ์—์„œ ํ• ๋‹น๋Ÿ‰ ๋ณ€๊ฒฝ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค. ...

[LLM] Google Cloud Discovery Engine ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ์—…๋กœ๋“œ ํฌ๋งท

[LLM] Google Cloud Discovery Engine ๋ฐ์ดํ„ฐ ์Šคํ† ์–ด ์—…๋กœ๋“œ ํฌ๋งท

1. Google Cloud Discovery Engine์ด๋ž€? Google Cloud Discovery Engine์€ ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ ์„œ๋น„์Šค๋กœ, ์›น์‚ฌ์ดํŠธ๋‚˜ ์•ฑ ๋‚ด์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์„œ๋น„์Šค๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง„๋‹ค. ๊ณ ๊ธ‰ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ : ๋‹จ์ˆœ ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰์ด ์•„๋‹Œ, ์‚ฌ์šฉ์ž์˜ ์˜๋„์— ๋งž์ถฐ ์˜๋ฏธ๋ฅผ ํŒŒ์•…ํ•˜๊ณ  ๊ด€๋ จ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ์•ˆํ•˜๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ๊ธฐ๋ฐ˜ ๊ฒ€์ƒ‰์„ ์ง€์› ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ : ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์—”์ง„์„ ํ™œ์šฉ, ์ทจํ–ฅ๊ณผ ํ–‰๋™ ํŒจํ„ด์— ๋งž์ถ˜ ์ถ”์ฒœ ์ฝ˜ํ…์ธ  ์ œ๊ณต ํ™•์žฅ ๊ฐ€๋Šฅ์„ฑ : ๋‹ค์–‘ํ•œ ๊ทœ๋ชจ์™€ ๋ฒ”์œ„์˜ ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•ด ๋น ๋ฅธ ๊ฒ€์ƒ‰ ๋ฐ ์ถ”์ฒœ ์„ฑ๋Šฅ์œ ์ง€ 2. ๋ฌธ์ œ์ƒํ™ฉ Google cloud discovery engine์„ ํ™œ์šฉํ•ด rag๋ฅผ ๊ณ ๋„ํ™” ์‹œ๋„ํ•˜๋˜ ์ค‘, ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‹จ์ˆœ question, answer ํ•„๋“œ๊ตฌ์กฐ๋ฅผ csvํ˜•ํƒœ๋กœ ์—…๋กœ๋“œํ•˜๋˜ ๋ฐฉ์‹์„ ๋ฒ—์–ด๋‚˜ metadata, description ํ•„๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ ์ž ํ•˜์˜€๋‹ค. contentํ•„๋“œ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด ๋ฐ์ดํ„ฐ์…‹์„ discovery engine์ด ์š”๊ตฌํ•˜๋Š” ํŠน์ • struct_value, string_value ํƒ€์ž…์˜ jsonl ํฌ๋งท์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์—ฌ๋Ÿฌ ์—๋Ÿฌ๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๋‹ค. ...