🌊 Infra/AWS

·🌊 Infra/AWS
ν”„λ‘œμ νŠΈμ—μ„œ AWS IAM을 μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 이유 μ΄λ²ˆμ— ν”„λ‘œμ νŠΈλ₯Ό μ§„ν–‰ν•˜λ©΄μ„œ AWS둜 인프라λ₯Ό κ΅¬μΆ•ν•˜κ²Œ λ˜μ—ˆμŒ λ‹€λ₯Έ κΈ€μ—μ„œλ„ λ‹€λ€˜μ§€λ§Œ AWS 루트 계정을 μ΄μš©ν•˜λŠ” 것은 κ·Έλ ‡κ²Œ 쒋은 방법이 μ•„λ‹˜(νŠΉνžˆλ‚˜ AWS κ΄€λ ¨ μž‘μ—…μ„ ν•˜λŠ” μ‚¬λžŒμ΄ μ—¬λŸ¬λͺ…인 경우) λ³΄μ•ˆ 문제루트 계정은 λͺ¨λ“  κΆŒν•œμ„ κ°€μ§€κ³  μžˆμ–΄μ„œ λ¦¬μŠ€ν¬κ°€ λ„ˆλ¬΄ 큼=> 이 뢀뢄에 λŒ€ν•΄μ„œλŠ” 루트 계정은 MFAλ₯Ό μ„€μ •ν•˜κ³  초기 IAM 계정을 λ§Œλ“  ν›„ μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 것이 AWS Best Pracitce라고 ν•¨νŒ€μ›λ“€ 각자 κ°œλ³„ 계정을 κ°€μ§ˆ 수 있음 (+ μœ μ—°ν•œ κΆŒν•œ 관리)IAM으둜 각 νŒ€μ›μ—κ²Œ κ°œλ³„ AWS 계정을 λΆ€μ—¬ν•  수 있고 IAM User, IAM Role을 μ‚¬μš©ν•˜μ—¬ ν•„μš”ν•œ κΆŒν•œλ§Œ λΆ€μ—¬ν•  수 있음=> 쑰금 더 μ •ν™•νžˆλŠ” ν•˜λ‚˜μ˜ AWS 계정이고 계정 λ‚΄μ—μ„œ κ°œλ³„..
·🌊 Infra/AWS
κ΅­λ―ΌλŒ€ν•™κ΅μ—μ„œ "ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…" ꡐ과λͺ©μ„ μ§„ν–‰ν•˜μ‹œλŠ”μ΄κ²½μš© κ΅μˆ˜λ‹˜μ˜ κ°•μ˜ κ΅μ•ˆμ„ μ΄μš©ν•˜μ—¬ μˆ˜μ—… λ‚΄μš©μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€  Decoupling Modules   Decoupling Modulesλž€ 전체 μ‹œμŠ€ν…œμ„ 독립적인 μ»΄ν¬λ„ŒνŠΈλ‘œ λ””μžμΈ ν•˜λŠ” κ²ƒμž„ => 각 μ»΄ν¬λ„ŒνŠΈ κ°„μ˜ 쒅속성을 μ΅œμ†Œν™”ν•¨μœΌλ‘œ νŠΉμ • μ»΄ν¬λ„ŒνŠΈμ—μ„œ λ°œμƒν•œ λ¬Έμ œκ°€ λ‹€λ₯Έ 곳으둜 μ „νŒŒλ˜λŠ” 것을 방지해야함 Tightly coupled : ν•œ μ‘μš© μ„œλ²„μ˜ λ¬Έμ œκ°€ λͺ¨λ“  μ›Ήμ„œλ²„μ— 문제λ₯Ό λ―ΈμΉ  μˆ˜λ„ 있음Loosely coupled : λ‘œλ“œλ°ΈλŸ°μ„œκ°€ μ‘μš© μ„œλ²„μ˜ μ‹€νŒ¨λ₯Ό κ°€λ €μ€Œ(λ‘œλ“œ λ°ΈλŸ°μ„œλŠ” health checkλ₯Ό 싀행함)μ‹œμŠ€ν…œμ΄ loosely coupled 될 수둝 μ‹œμŠ€ν…œμ˜ ν™•μž₯성을 보μž₯ν•˜λŠ” 것이 μ‰¬μ›Œμ§  λͺ¨λ“ˆμ„ decoupling ν•˜λŠ” 방법 μ„œλ²„λ₯Ό λ§Œλ“€μ§€ 말고 ..
·🌊 Infra/AWS
κ΅­λ―ΌλŒ€ν•™κ΅μ—μ„œ "ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…" ꡐ과λͺ©μ„ μ§„ν–‰ν•˜μ‹œλŠ”μ΄κ²½μš© κ΅μˆ˜λ‹˜μ˜ κ°•μ˜ κ΅μ•ˆμ„ μ΄μš©ν•˜μ—¬ μˆ˜μ—… λ‚΄μš©μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€  κ΅¬λ™μ€‘인 μ„œλ²„μ— 문제 λ°œμƒ μ‹œ ν•΄κ²° λ°©μ•ˆ    => κ°€λŠ₯ν•œ λͺ¨λ“  κ³³μ—μ„œ μžμ›μ˜ μ‹œμž‘, μ’…λ£Œ, 섀정을 μžλ™ν™”λ₯Ό ν•˜λŠ” 것을 ꢌμž₯ μˆ˜λ™μœΌλ‘œ κ΄€λ¦¬λ˜λŠ” μžμ›λ“€μ„ μ€„μž„μœΌλ‘œ μ‹œμŠ€ν…œμ˜ μ•ˆμ •μ„±, 일관성, νš¨μœ¨μ„±μ„ 높이도둝 해야함 DevOps Development : μ„œλΉ„μŠ€ 개발 Operations : μ„œλΉ„μŠ€ 운용 ν΄λΌμš°λ“œ μ„œλΉ„μŠ€μ˜ λ“±μž₯ 및 μ›Ή μ„œλΉ„μŠ€ λ³΄νŽΈν™”μ— λ”°λ₯Έ Development와 Operations의 경계 λͺ¨ν˜Έ μ›Ή μ„œλΉ„μŠ€μ˜ λΉ λ₯Έ κ°œμ„  주기둜 μΈν•œ κ°„λ‹¨ν•œ 릴리즈 사이클 ν•„μš”=> μ½”λ“œλ₯Ό ν™œμš©ν•œ μ„œλΉ„μŠ€ 배포 λ³΄νŽΈν™” (IaC)  Infrastructure-as-Code (μ½”λ“œλ₯Ό μ΄μš©ν•œ μžμ› 관리)  μ„œλΉ„..
·🌊 Infra/AWS
κ΅­λ―ΌλŒ€ν•™κ΅μ—μ„œ "ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…" ꡐ과λͺ©μ„ μ§„ν–‰ν•˜μ‹œλŠ”μ΄κ²½μš© κ΅μˆ˜λ‹˜μ˜ κ°•μ˜ κ΅μ•ˆμ„ μ΄μš©ν•˜μ—¬ μˆ˜μ—… λ‚΄μš©μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€   AWS High Availability (κ³ κ°€μš©μ„±) Fault-tolerance와 Scalability κ΄€μ μ—μ„œ μ‚΄νŽ΄λ³΄μž  κ³ κ°€μš©μ„± (High Availability)λž€? μ„œλΉ„μŠ€λ₯Ό μš΄μš©ν•˜λŠ” μ‚¬λžŒμ΄ 관리λ₯Ό ν•˜μ§€ μ•Šμ•„λ„ μ„œλΉ„μŠ€κ°€ λ™μž‘ν•˜μ§€ μ•ŠλŠ” μ‹œκ°„μ„ μ΅œμ†Œν™”ν•΄μ„œ μ‚¬μš©μžμ—κ²Œ 예츑된 μ„±λŠ₯을 μ œκ³΅ν•΄μ€„ 수 μžˆλŠ” 척도 κ³ κ°€μš©μ„±μ˜ κ΅¬ν˜„ μš”μ†Œλ“€ Fault tolerance μ‘μš©μ˜ˆμ œ μžμ²΄μ—μ„œ λ¬Έμ œκ°€ λ°œμƒμ‹œμ—λ„ μ‚¬μš©μžμ—κ²Œ 영ν–₯을 μ „νŒŒν•˜μ§€ μ•ŠλŠ” λŠ₯λ ₯=> faultκ°€ failureκ°€ λ˜μ§€ μ•Šκ²Œλ°±μ—… μ„œλ²„μ˜ ꡬ동 λ“± Scalability μ‹œμŠ€ν…œμ˜ λ””μžμΈμ„ λ°”κΎΈμ§€ μ•Šκ³ λ„ μ¦κ°€ν•˜λŠ” μš”μ²­μ„ μ²˜λ¦¬ν•  수 μžˆλŠ” λŠ₯λ ₯ μ‚¬μš©μž ..
·🌊 Infra/AWS
κ΅­λ―ΌλŒ€ν•™κ΅μ—μ„œ "ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…" ꡐ과λͺ©μ„ μ§„ν–‰ν•˜μ‹œλŠ”μ΄κ²½μš© κ΅μˆ˜λ‹˜μ˜ κ°•μ˜ κ΅μ•ˆμ„ μ΄μš©ν•˜μ—¬ μˆ˜μ—… λ‚΄μš©μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€   AWS의 Regionλ“€ us-west-2, ap-southeast-1 처럼 λ˜μ–΄ μžˆλŠ” 것을 λ³Ό 수 있음 => 보톡은 숫자 1둜 갈수둝 큰 λ„μ‹œλ₯Ό μ˜λ―Έν•˜λ©°  μ£Όμš” RegionλΆ€ν„° κΈ°λŠ₯이 배포됨  AWSμ—μ„œ Region을 선택할 λ•Œ κ³ λ € 사항듀 λ²•λ₯ μ  μ œμ•½ 사항=> νŠΉμ • λ°μ΄ν„°λŠ” 본ꡭ을 λ– λ‚˜μ„œλŠ” μ•ˆλ¨ λ“±μ˜ μ œμ•½ 사항 κ³ λ €μ£Όμš” μ‚¬μš©μžμ™€ κ°€κΉŒμš΄ 곳에 μœ„μΉ˜=> μ‘λ‹΅μ‹œκ°„ μΈ‘λ©΄μ—μ„œ λ°”λΌλ΄μ•Όν•¨μ§€μ—­λ³„λ‘œ κ°€μš©ν•œ μ„œλΉ„μŠ€κ°€ 닀름=> 주둜 λ―Έκ΅­ μ„œλΆ€(us-west-2) 및 동뢀 (us-east-1) Region λΆ€ν„° μƒˆλ‘œμš΄ μ„œλΉ„μŠ€κ°€ κ°€λŠ₯해짐Region λ³„λ‘œ 가격이 닀름=> λ°μ΄ν„°μ„Όν„°μ˜ μž₯λΉ„ 가격등을 고렀해보면..
·🌊 Infra/AWS
κ΅­λ―ΌλŒ€ν•™κ΅μ—μ„œ "ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…" ꡐ과λͺ©μ„ μ§„ν–‰ν•˜μ‹œλŠ”μ΄κ²½μš© κ΅μˆ˜λ‹˜μ˜ κ°•μ˜ κ΅μ•ˆμ„ μ΄μš©ν•˜μ—¬ μˆ˜μ—… λ‚΄μš©μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€    Cloud Infrastructure ν•˜λ‚˜μ˜ λ°μ΄ν„°μ„Όν„°μ—λŠ” 일반적으둜 μˆ˜μ²œλŒ€μ˜ μ„œλ²„κ°€ μž₯μ°©λ˜μ–΄ 있음  λ°μ΄ν„° μ„Όν„° 내에 μ„œλ²„λŠ” λž™μœΌλ‘œ ꡬ성됨 => 같은 λž™μ—μ„œλŠ” μ‹±κΈ€ λ„€νŠΈμ›Œν¬ μŠ€μœ„μΉ˜λ₯Ό ν†΅ν•΄μ„œ μ—°κ²° => μ—¬λŸ¬ λž™μ€ κ³ μ„±λŠ₯ λ„€νŠΈμ›Œν¬ μŠ€μœ„μΉ˜λ‘œ μ—°κ²° AWS Infrastructure - Region & Availability Zone (AZ) Region λ¬Όλ¦¬μ  지리적 μœ„μΉ˜λ₯Ό κΈ°μ€€μœΌλ‘œ κ΅¬μ„±λœ μžμ› μ„ΈνŠΈ(λ―Έκ΅­ μ„œλΆ€, λ―Έκ΅­ 동뢀, μ•„μ‹œμ•„ μ„œμšΈ, μ•„μ‹œμ•„ 일본 μ§€μ—­ λ“±..) ν•˜λ‚˜μ˜ Region은 μ΅œμ†Œ 2개 μ΄μƒμ˜ Availability Zone으둜 ꡬ성됨 Availability Zone ν•˜λ‚˜ λ˜λŠ” ..
·🌊 Infra/AWS
κ΅­λ―ΌλŒ€ν•™κ΅μ—μ„œ "ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…" ꡐ과λͺ©μ„ μ§„ν–‰ν•˜μ‹œλŠ” 이경용 κ΅μˆ˜λ‹˜μ˜ κ°•μ˜ κ΅μ•ˆμ„ μ΄μš©ν•˜μ—¬ μˆ˜μ—… λ‚΄μš©μ„ μ •λ¦¬ν•˜μ˜€μŠ΅λ‹ˆλ‹€   ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… μ„œλΉ„μŠ€μ˜ λŒ€μ€‘ν™” μš°μ„  ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…μ— λŒ€ν•΄ μ•Œμ•„μ•Ό ν•˜λŠ”λ°   ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…μ€ μ»΄ν“¨νŒ…μ„ ν•˜λ“œμ›¨μ–΄ 관점이 μ•„λ‹Œ μ†Œν”„νŠΈμ›¨μ–΄ κ΄€μ μ—μ„œ ν™œμš©ν•˜κ²Œ ν•΄μ£ΌλŠ” 것이닀! ν΄λΌμš°λ“œ μ»΄ν“¨νŒ… μ„œλΉ„μŠ€μ˜ νŠΉμ§• μ»΄ν“¨ν„° μžμ›μ˜ 초기 ꡬ맀 없이 ν•„μš” ν• λ•Œ λ§ˆλ‹€ λŒ€μ—¬ ν›„ μ‚¬μš©ν•˜λŠ” μ„œλΉ„μŠ€μΈν„°λ„·μ„ ν†΅ν•œ μ„œλΉ„μŠ€ μ œκ³΅μ—…μ²΄ μ»΄ν“¨ν„°λ‘œ μ—°κ²°κ³ΌκΈˆμ€ μ‹œκ°„λ‹Ή 이루어 짐 (ex. CPU 4μ½”μ–΄, 16κΈ°κ°€ λ©”λͺ¨λ¦¬λŠ” μ‹œκ°„λ‹Ή 20μ„ΌνŠΈ : 전기세와 비ꡐ)μ»΄ν“¨νŒ… μžμ›μ˜ μœ μ§€λ³΄μˆ˜, 관리 뢀담을 λœμ–΄ μ€Œμ»΄ν“¨νŒ… μžμ› 뿐 μ•„λ‹ˆλΌ λ‹€μ–‘ν•œ ν˜•νƒœμ˜ μ‚¬μš©μž μΉœν™”ν˜• μ„œλΉ„μŠ€κ°€ 제곡되고 있음 μ΄λ ‡κ²Œ ν΄λΌμš°λ“œ μ„œλΉ„μŠ€ 제곡 μ—…μ²΄λŠ” μžμ› 및 ν•„μš” μ†Œν”„..
·🌊 Infra/AWS
ν”„λ‘œμ νŠΈλ₯Ό λ°°ν¬ν•˜λ˜ 쀑 AWS EC2μ—μ„œ λ©”λͺ¨λ¦¬ λΆ€μ‘± ν˜„μƒμœΌλ‘œ ssh 접속이 μ•ˆλ˜λŠ” 상황이 λ°œμƒν–ˆλ‹€...(프리티어 μ‚¬μš©μ€‘)  ν”„λ¦¬ν‹°μ–΄λ‘œ μ‚¬μš©ν•˜κ²Œ λ˜λŠ” t2.micro μΈμŠ€ν„΄μŠ€ μœ ν˜•μ€ 램이 1GB이기 λ•Œλ¬Έμ— λ©”λͺ¨λ¦¬ λΆ€μ‘±ν˜„μƒμ΄ 일어날 수 μžˆλ‹€! => swap file을 μ΄μš©ν•˜μ—¬ swap memory 할당을 ν•΄λ³΄μž!(ν˜„μž¬ μƒμ„±ν•œ EC2λŠ” ubuntu ν™˜κ²½μž„)  EC2 램이 가득 μ°ΌκΈ° λ•Œλ¬Έμ— μ‹€μ œ λ””μŠ€ν¬μ˜ μš©λŸ‰μ„ μ΄μš©ν•˜μ—¬ λΆ€μ‘±ν•œ λ©”λͺ¨λ¦¬λ₯Ό λŒ€μ²΄ν•  곡간을 swap memory 라고 함! => 보톡 swap memoryλŠ” ν• λ‹Ήλœ λ©”λͺ¨λ¦¬μ˜ 2λ°°λ₯Ό μΆ”μ²œν•˜κ³  μžˆλ‹€κ³  함! μŠ€μ™‘ λ©”λͺ¨λ¦¬λŠ” RAM을 λŒ€μ‹ ν•˜λŠ” 것이 μ•„λ‹ˆλΌ, RAM이 λΆ€μ‘±ν•  λ•Œ μž„μ‹œλ‘œ μ‚¬μš©ν•˜λŠ” 비상 λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ μƒκ°ν•˜λŠ”κ²Œ μ’‹μŒ=> λ””μŠ€ν¬μ— μ €μž₯된 μŠ€μ™‘ λ©”λͺ¨λ¦¬λŠ” R..
·🌊 Infra/AWS
EC2에 mysql을 dockerλ₯Ό μ΄μš©ν•΄μ„œ 올렀보자  https://hanjungyo.tistory.com/74 [Spring Boot] Dockerλ₯Ό μ΄μš©ν•΄ EC2에 배포해보기EC2 μΈμŠ€ν„΄μŠ€ 생성 방법은 이전 ν¬μŠ€νŒ…μ„ μ°Έκ³ ν•΄μ£Όμ„Έμš”!λ‘œμ»¬μ—μ„œ Docker μ„€μ • Jar 파일 λΉŒλ“œν•˜κΈ° λ³΄ν†΅ λΉŒλ“œλ₯Ό ν•  λ•Œ ./graldew clean build λ₯Ό 많이 봀을텐데  μ΄λ²ˆμ—λŠ” ./gradlew clean bootJarλ₯Ό 톡해 Spring Bhanjungyo.tistory.com EC2에 dockerκ°€ μ„€μΉ˜λ˜μ–΄μžˆμ§€ μ•Šλ‹€λ©΄ μœ„ 링크의 docker μ„€μΉ˜ν•˜κΈ° 뢀뢄을 μ°Έκ³   EC2에 ssh둜 접속을 ν•˜κ³  MySQL Docker Image λ‹€μš΄λ‘œλ“œ sudo docker pull mysql // 제일 μ΅œμ‹  버전 λ‹€μš΄λ‘œλ“œ// ..
·🌊 Infra/AWS
μœˆλ„μš°μ—μ„œ vscodeλ₯Ό μ‚¬μš©ν•˜μ—¬ κ°œλ°œμ€‘μΈλ°ν„°λ―Έλ„μ—μ„œ EC2 μ„œλ²„(ubuntu)에 μ ‘μ†ν•˜λ €κ³  λͺ…λ Ήμ–΄λ₯Ό μ³€λŠ”λ°....!!!! Permissions for 'key.pem' are too openμ—λŸ¬κ°€ λ°œμƒ....😫 μ •말 2μ‹œκ°„μ •λ„ ꡬ글링을 ν•œκ±° 같은데  μš°μ„  λ°œμƒ 원인은 μœˆλ„μš°μ—μ„œ ubuntu EC2둜 μ—°κ²°ν•  μ‹œμ— pemνŒŒμΌμ˜κΆŒν•œμ΄ λ„ˆλ¬΄ λ†’κ²Œ λΆ€μ—¬ λ˜μ–΄ EC2μ—μ„œ ν‚€λ₯Ό κ±°λΆ€ν•˜λŠ” κ²ƒμ΄μ—ˆλ‹€ => μœˆλ„μš°μ—μ„œ μ„€μ •λœ λ³΄μ•ˆ κΆŒν•œμ΄ μžλ™μœΌλ‘œ pemνŒŒμΌμ— μ μš©λ˜μ–΄ μ„€μ •λœ λͺ¨λ“  μ‚¬μš©μžκ°€ pem의 κΆŒν•œμ„ κ°–κΈ° λ•Œλ¬Έ   ν•΄κ²° 방법은 2μ‹œκ°„ λ™μ•ˆ μ°Ύμ€ κ±°μΉ˜κ³ λŠ” κ½€ 간단..? ν–ˆμŒ   1. pem νŒŒμΌμ— 마우슀 였λ₯Έμͺ½ λ²„νŠΌμ„ 눌러 속성에 λ“€μ–΄κ°„ ν›„ λ³΄μ•ˆνƒ­μ—μ„œ 고급을 클릭 2.  상속 μ‚¬μš© μ•ˆν•¨μ„ 클릭("이 κ°œμ²΄μ—μ„œ μƒμ†λœ 사..
JJunGyo
'🌊 Infra/AWS' μΉ΄ν…Œκ³ λ¦¬μ˜ κΈ€ λͺ©λ‘