jtwjs Dev Wiki
  • DEV_ROAD
    • ๐Ÿ’ช๐Ÿป ์ƒ์กดํ•˜๊ธฐ
    • Week 1
      • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์„ธํŒ…
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
      • ๋ฆฌ์—‘ํŠธ
      • Testing Library
      • Parcel & ESLint
    • Week 2
      • JSX
      • Virtual DOM
    • Week 3
      • React Component
      • React State
    • Week 4
      • Express
      • Fetch API & CORS
      • React Hook
      • useRef & Custom Hook
    • Week 5
      • TDD
      • React Testing Library
      • MSW
      • Playwrite
      • Snapshot
    • Week 6
      • Separtion of Concerns
      • Principle
      • DI, (Dependency Injection)
      • Reflect-metadata
      • TSyringe
      • External Store
      • Follow Redux
      • usestore-ts
      • useSyncExternalStore
    • Week 7
      • Routing
      • Routes
      • Router
      • Navigation
    • Week 8
      • Design System
      • Style Basics
      • CSS-in-JS
      • Styled-Components
      • Global Style & Theme
    • Week 9
      • ๊ฐœ๋ฐœํ•˜๊ธฐ ์ „ ์ค€๋น„
      • ์ƒํ’ˆ ๋ชฉ๋ก ํŽ˜์ด์ง€
      • ์ƒํ’ˆ ์ƒ์„ธ ํŽ˜์ด์ง€
      • ์žฅ๋ฐ”๊ตฌ๋‹ˆ ํŽ˜์ด์ง€
    • Week 10
      • ๋กœ๊ทธ์ธ
      • ๋กœ๊ทธ์•„์›ƒ
      • ํšŒ์›๊ฐ€์ž…
      • ์ฃผ๋ฌธ ๋ชฉ๋ก & ์ฃผ๋ฌธ ์ƒ์„ธ
    • Week 11
      • ๋ฐฐ์†ก ์ •๋ณด ์ž…๋ ฅ
      • ํฌํŠธ์› ๊ฒฐ์ œ ์š”์ฒญ
      • ๋ฐฐ์†ก ๋ฐ ๊ฒฐ์ œ ์ •๋ณด ์ „๋‹ฌ
    • Week 12
      • ๊ด€๋ฆฌ์ž ์›น์‚ฌ์ดํŠธ๊ฐœ๋ฐœ์‹œ์ž‘
  • DEV_NOTE
    • TypeScript
      • ๊ธฐ๋ณธ์  ๋ฌธ๋ฒ•
        • Enum
        • ๋‹คํ˜•์„ฑ
          • Untitled
        • ๊ตฌ์กฐ์  ํƒ€์ดํ•‘
        • ์ œ๋„ˆ๋ฆญ ํƒ€์ž…
        • ์ปจ๋””์…”๋„ ํƒ€์ž…
        • ํ•จ์ˆ˜ ๋ฉ”์„œ๋“œ ํƒ€์ดํ•‘
        • infer๋กœ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ์ถ”๋ก  ์ง์ ‘ ํ™œ์šฉ
        • ์žฌ๊ท€ ํƒ€์ž…
        • ํ…œํ”Œ๋ฆฟ ๋ฆฌํ„ฐ๋Ÿด ํƒ€์ž…
        • ์ถ”๊ฐ€์ ์ธ ํƒ€์ž… ๊ฒ€์‚ฌ satisfies ์—ฐ์‚ฐ์ž
        • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ฑด๋ง์ฆ
        • ์›์‹œ ์ž๋ฃŒํ˜•์—๋„ ๋ธŒ๋žœ๋”ฉ ๊ธฐ๋ฒ• ์‚ฌ์šฉ ๊ฐ€๋Šฅ
        • ํƒ€์ž… ์ขํžˆ๊ธฐ
        • ์œ ์šฉํ•œ ํƒ€์ž… ๋งŒ๋“ค๊ธฐ
        • ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํ•จ์ˆ˜
        • ์•ฐ๋น„์–ธํŠธ ์„ ์–ธ๋„ ์„ ์–ธ ๋ณ‘ํ•ฉ์ด ๋œ๋‹ค.
        • ์•ฐ๋น„์–ธํŠธ ์„ ์–ธ๋„ ์„ ์–ธ๋ณ‘ํ•ฉ์ด ๋œ๋‹ค.
    • Testing
      • Unit Testing
      • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์˜ ๋‘ ๋ถ„ํŒŒ
      • ์ข‹์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” 4๋Œ€ ์š”์†Œ
      • ํ…Œ์ŠคํŠธ ๋Œ€์—ญ๊ณผ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ž‘
      • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์Šคํƒ€์ผ
      • ๊ฐ€์น˜ ์žˆ๋Š” ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ฆฌํŒฉํ† ๋ง
      • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
      • Cross Browsing Testing
      • ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์ข…๋ฅ˜
      • React Testing Pattern
      • ํ”„๋ก ํŠธ์—”๋“œ ํ…Œ์ŠคํŠธ ์ž…๋ฌธ
        • ํ…Œ์ŠคํŠธ ๋ฒ”์œ„
        • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ
        • Mock
        • UI ์ปดํฌ๋„ŒํŠธ ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€
        • ์›น ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
        • MSW
        • ์Šคํ† ๋ฆฌ๋ถ
        • ์‹œ๊ฐ์  ํšŒ๊ท€ ํ…Œ์ŠคํŠธ
        • E2E ํ…Œ์ŠคํŠธ
        • Github Actions ์„ค์ •
        • ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์—์„œ E2E
      • ์‹œํ”„ํŠธ ๋ ˆํ”„ํŠธ
        • ํ…Œ์ŠคํŠธ ๊ธฐ๋ณธ์ค‘์˜ ๊ธฐ๋ณธ
        • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ
        • ์ฝ”๋“œ ๋ณต์žก๋„
        • ๋ฆฌํŒฉํ„ฐ๋ง
        • ์ฝ”๋“œ ๋ฆฌ๋ทฐ
        • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ํŒจํ„ด
        • ์‹œ์Šคํ…œ ํ…Œ์ŠคํŠธ์˜ ์ž๋™ํ™”
        • ํƒ์ƒ‰์  ํ…Œ์ŠคํŠธ
      • Test Tip
      • vitest
      • playwright
      • Test Data Generator
      • MSW
    • Algorithm
      • coding test
      • Data Structure
    • Next.js
      • Data Fetching
      • Hydration
      • Next 13
      • Optimization
      • Next 15
    • Tailwind
      • Tailwind CSS
      • Theme
      • Directives
      • Tool
      • Design System
    • Storybook
      • Storybook
      • CSF3
      • CDD
      • Headless Component
    • Funtional Programming
      • ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      • ์ฐธ์กฐ ํˆฌ๋ช…์„ฑ
      • ๋ถ€์ˆ˜ํšจ๊ณผ
      • ํ•จ์ˆ˜ ํ•ฉ์„ฑ
      • ์ œ๋„ˆ๋ฆญ ํƒ€์ž… ํ™œ์šฉํ•˜๊ธฐ
      • ์•”๋ฌต์  ์ž…์ถœ๋ ฅ
      • ์•ก์…˜๊ณผ ๊ณ„์‚ฐ, ๋ฐ์ดํ„ฐ
      • ๊ณ„์ธตํ˜• ์„ค๊ณ„
      • ํ˜ธ์ถœ ๊ทธ๋ž˜ํ”„
      • ํ•จ์ˆ˜ํ˜• ์„ค๊ณ„
      • ๋ถˆ๋ณ€์„ฑ
      • ์ผ๊ธ‰ ํ•จ์ˆ˜
      • ํ•จ์ˆ˜ํ˜• ๋„๊ตฌ
    • Git
      • Github Actions
      • Conflict
      • Branch ์ „๋žต
    • Contents Format
      • Audio
    • 3D Graphic
      • 3D keyword
      • Three.js
      • Geometry
      • Material
      • Light
      • Camera
      • Decal
      • Rotation
      • Text
      • Shadow
      • Fog
      • Post Processing
      • Animation
      • Math
        • Vector Space
        • ๋ฒกํ„ฐ์˜ ์—ฐ์‚ฐ
        • ํšŒ์ „ ๊ณ„์‚ฐ
      • 3D ์ปจํ…์ธ ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๋Š” ๊ณผ์ •
      • R3F
      • Env
      • Scene
      • Transform
      • R3F
      • Interaction & Raycast
      • Rendering Algorithnm
      • Blender
      • Blender
    • Accessibility
      • ์ ‘๊ทผ์„ฑ์ด๋ž€
    • Interactive Web
      • Parallax
      • Canvas
      • requestAnimationFrame
      • Effect
      • HSL
      • React.js + Canvas
      • Matter.js
    • AWS
      • DevOps
      • Amplify
      • S3
      • ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…
        • ์˜จํ”„๋ ˆ๋ฏธ์Šค์™€ ํด๋ผ์šฐ๋“œ
        • ํด๋ผ์šฐ๋“œ ๋„์ž…ํšจ๊ณผ
        • ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์˜ ๋ฒ”์œ„
        • ์ปดํ“จํŒ… ์˜ต์…˜
          • EC2 - Virtual Machin
          • ECS, EKS - Container
          • Lambda - Serverless
        • ๋„คํŠธ์›Œํฌ ๊ฐ€์ƒํ™”
        • ์Šคํ† ๋ฆฌ์ง€
        • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
        • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
        • ๋จธ์‹  ๋Ÿฌ๋‹ ์˜์—ญ
        • IoT ์˜์—ญ
        • ๋ธ”๋ก์ฒด์ธ ์˜์—ญ
      • ํด๋ผ์šฐ๋“œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
    • Network
      • Web Server & WAS
    • System Design
      • System Design
      • Component
      • ์˜์กด์„ฑ์„ ๋ฐฐ์ œํ•œ ๊ฐœ๋ฐœ
      • Error Handling
      • Architecture
        • ๋ชจ๋…ธ๋กœํ‹ฑ ์•„ํ‚คํ…์ฒ˜
        • Clean Architecture
        • Layered Architecture
        • ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜
      • ์ƒํ™ฉ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฉ”ํƒ€์ธ์ง€
      • ์ค‘๋ณต ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ
      • Monorepo Arhitecture
        • ๋ชจ๋…ธ๋ ˆํฌ ์šด์˜๊ณผ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
        • Module Federation
      • ์ฝ”๋“œ ๋ณ‘๋ชฉ์ง€์ 
      • API ๋Œ€์‘
      • ๊ณตํ†ต ์ฝ”๋“œ
      • Infra ๊ตฌ์ถ•
      • ๋ชจ๋“ˆ ๊ธฐ๋ฐ˜์˜ ๊ฐœ๋ฐœ ๋ฐฉ์‹
      • Design System
        • ์ตœ์†Œ ์ˆ˜์ค€์˜ ์•„ํ‚คํ…์ฒ˜ ์„ค์ •
        • ๋” ํšจ์œจ์ ์ธ ๋””์ž์ธ์‹œ์Šคํ…œ ๋งŒ๋“ค๊ธฐ
        • ๋””์ž์ธ ์‹œ์Šคํ…œ๊ณผ UI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ชฉ์ 
        • ๋””์ž์ธ ํ† ํฐ
      • ํšจ์œจ์ ์ธ ์—…๋ฌด
        • ์—…๋ฌด ํ”„๋กœ์„ธ์Šค ๋ณ‘๋ชฉ ํŒŒ์•…
      • Clean Code
      • Design Pattern
        • CQRS Pattern
        • Strangler Fig Pattern
        • ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ํŒจํ„ด
        • ์ปค๋งจ๋“œ ํŒจํ„ด
        • ์ „๋žต ํŒจํ„ด
        • ์˜ต์ €๋ฒ„ ํŒจํ„ด
      • A/B ํ…Œ์ŠคํŒ…
      • ๋Œ€๊ทœ๋ชจ ๋ฆฌ์—‘ํŠธ ์›น์•ฑ ๊ฐœ๋ฐœ
        • ๋ณต์žก์„ฑ ๊ด€๋ฆฌ
        • ๋ชจ๋“ˆ์„ฑ
        • ์„ฑ๋Šฅ
        • ๋””์ž์ธ ์‹œ์Šคํ…œ
        • ๋ฐ์ดํ„ฐ ํŒจ์นญ
        • ์ƒํƒœ ๊ด€๋ฆฌ
        • ๊ตญ์ œํ™”
        • ์ฝ”๋“œ ์กฐ์งํ™”ํ•˜๊ธฐ
        • ๊ฐœ์ธํ™” A/B ํ…Œ์ŠคํŒ…
        • ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์›น ์•„ํ‚คํ…์ฒ˜
        • ํ…Œ์ŠคํŒ…
        • ํˆด๋ง
        • ๊ธฐ์ˆ ์  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
        • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ
        • ๋ผ์šฐํŒ…
        • ์‚ฌ์šฉ์ž ์ค‘์‹ฌ API ๋””์ž์ธ
        • ๋ฆฌ์•กํŠธ ๋ฏธ๋ž˜
    • Performance
      • React DevTools
      • Component ์ตœ์ ํ™”
      • Page Load
      • API
    • MFA
      • MSA
      • MFA ๋„์ž…ํ•˜๊ธฐ
      • Monorepo
        • Monorepo Tool
        • Yarn Berry Workspace
        • Turborepo
      • MFA Composition
      • SPA ํ†ตํ•ฉ
      • Design System
      • Package Manager
        • Yarn
        • pnpm
      • Transpiler & Bundler
        • Babel
        • Rollup
        • esbuild
        • swc
        • Webpack
        • Vite
      • ๋ถ„ํ•ด์™€ ํ†ตํ•ฉ์„ ์œ„ํ•œ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ  ๋น„๊ต
    • State Management
      • Zustand
    • React v18
      • Automatic batching
      • Suspense
      • Transition
    • SEO
      • Search Engine Optimization
      • Open Graph Element
      • Metadata
    • FE Develop
      • Scrubbing
      • Clipboard
    • Refactoring
      • ๋ฆฌํŒฉํ† ๋ง ๊นŠ๊ฒŒ ๋“ค์—ฌ๋‹ค๋ณด๊ธฐ
      • ๊ธด ์ฝ”๋“œ ์กฐ๊ฐ๋‚ด๊ธฐ
      • ํƒ€์ž… ์ฝ”๋“œ ์ฒ˜๋ฆฌํ•˜๊ธฐ
      • ์œ ์‚ฌํ•œ ์ฝ”๋“œ ์œตํ•ฉํ•˜๊ธฐ
      • ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ
      • ์ฝ”๋“œ ์ถ”๊ฐ€ ๋ฐ ์ œ๊ฑฐ
    • OAuth 2.0
    • Analytics
      • Mixpanel
    • ETC
      • VSCode
    • React Hook In Action
      • useContext & Provider
      • ์ปค์Šคํ…€ ํ›…
      • ์ฝ”๋“œ ๋ถ„ํ• ํ•˜๊ธฐ with Suspense, lazy
      • Suspense์™€ ์ด๋ฏธ์ง€ ์ ์žฌํ•˜๊ธฐ
      • useTransition, uesDeferredValue
      • SuspenseList
Powered by GitBook
On this page
  • Virtual Machin (Amazon EC2)
  • AMI (Amazon Machin Image)
  • ๊ฐ€์ƒ๋จธ์‹  ์ƒ๋ช…์ฃผ๊ธฐ
  • ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ
  • Instance Customize
  • Customized Image
  • User Data
  • ๊ฐ€์ƒ๋จธ์‹  ์ ‘์†
  1. DEV_NOTE
  2. AWS
  3. ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…
  4. ์ปดํ“จํŒ… ์˜ต์…˜

EC2 - Virtual Machin

Previous์ปดํ“จํŒ… ์˜ต์…˜NextECS, EKS - Container

Last updated 5 months ago

Virtual Machin (Amazon EC2)

๊ฐ€์ƒ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค

  • ๋ฐ์ดํ„ฐ์„ผํ„ฐ ๋ฌผ๋ฆฌ ์„œ๋ฒ„ ์•ˆ์— ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ์˜ฌ๋ฆฌ๊ณ  Guest OS๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฐ€์ƒ๋จธ์‹ ์„ ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ VM Service๋ฅผ AWS๋Š” EC2(Elastic Cloud Compute)๋ผ ๋ถ€๋ฆ„

  • ํด๋ผ์šฐ๋“œ๋Š” ๋ฒ„์ธ„์–ผ๋จธ์‹ ์„ ์ธ์Šคํ„ด์Šค๋กœ ๋ถ€๋ฅธ๋‹ค.

    • ์„œ๋ฒ„์—์„œ ํ•„์š”ํ•  ๋•Œ ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ๋‹ค์“ฐ๊ณ  ๋ฒ„๋ฆฌ๊ณ  ์‰ฝ๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š”๊ฒƒ์„ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•ด ์ธ์Šคํ„ด์Šค๋ผ ํ‘œํ˜„

AMI (Amazon Machin Image)

  • AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์ƒ๋จธ์‹  ํ…œํ”Œ๋ฆฟ

  • OS, App, ์„ค์ •, ๋ฐ์ดํ„ฐ ๋“ฑ์ด ํฌํ•จ๋˜์–ด์žˆ์Œ

  • AMI๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

๊ฐ€์ƒ๋จธ์‹  ์ƒ๋ช…์ฃผ๊ธฐ

์‹คํ–‰ ์ค‘ (Running)

์ •์ง€๋จ (Stopped)

์ตœ๋Œ€ ์ ˆ์ „ ๋ชจ๋“œ (Stopped - Hibernate)

  • ํŠน์ •ํ•œ OS ๊ธฐ๋ฐ˜ ์ธ์Šคํ„ด์Šค ํƒ€์ž…๋“ค์€ ์ตœ๋Œ€ ์ ˆ์ „๋ชจ๋“œ๋ฅผ ์ง€์›ํ•จ

  • ๋…ธํŠธ๋ถ์„ ๋‹ซ์•„๋†“๋Š”๊ฒƒ์ฒ˜๋Ÿผ..?

  • ์‹คํ–‰์ค‘์— ๋น„ํ•ด ์ปดํ“จํŒ…,๋ฉ”๋ชจ๋ฆฌ ๋น„์šฉ์„ ๋‚ด์ง€ ์•Š์•„๋„ ๋˜๊ณ , ์‚ฌ์šฉํ•  ๋–„ ๋น ๋ฅด๊ฒŒ ๋ถ€ํŒ…์—…ํ•˜๊ธฐ ์œ„ํ•จ

์ข…๋ฃŒ๋จ (Terminate)

  • ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ข…๋ฃŒ๊ฐ€ ๋˜๋Š”๊ฑธ ์ •์ง€๋˜๋Š”๊ฑฐ๋กœ ์ฐฉ๊ฐํ•˜๊ณ  Terminate๋ฅผ ์‹œ์ผฐ์Œ

  • ์ธ์Šคํ„ด์Šค๋ฅผ ์ข…๋ฃŒ์‹œํ‚ค๋ฉด ๋ณต๊ตฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ (๋Œ์ดํ‚ฌ์ˆ˜ ์—†์–ด ์ฃผ์˜ํ•ด์•ผํ•จ)

์ธ์Šคํ„ด์Šค ํƒ€์ž…

ex: c7gn.xlarge

  • c: Computed Optimize (Instance family)

  • 7: instance generation

  • g: AWS Graviation processor (Processor family)

  • n: Network and EBS optimized (Adiitional Capability)

  • xlarge: Instance Size

ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์˜ต์…˜

  • ํ…Œ์ŠคํŠธ ์šฉ๋„์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด -> T ์‹œ๋ฆฌ์ฆˆ

  • ๊ฐ€์žฅ ๋ฒ”์šฉ์ ์ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด -> M ์‹œ๋ฆฌ์ฆˆ / C ์‹œ๋ฆฌ์ฆˆ (arm ํ”„๋กœ์„ธ์„œ๊ฐ€ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด M7g, C7g)

  • HPC(๊ณ ์„ฑ๋Šฅ ์ปดํ“จํŒ…) ์šฉ๋„์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด -> HPC ์‹œ๋ฆฌ์ฆˆ

  • ML์„ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด -> G ์‹œ๋ฆฌ์ฆˆ / P ์‹œ๋ฆฌ์ฆˆ (FPGA๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด F ์‹œ๋ฆฌ์ฆˆ)

FPGA(Field-Programmable Gate Array) - ํ•˜๋“œ์›จ์–ด์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์†Œํ”„ํŠธ์›จ์–ด์ฒ˜๋Ÿผ ์„ค๊ณ„ ๊ฐ€๋Šฅํ•œ ์นฉ

๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ

์ˆ˜์‹ ๋œ ํŠธ๋ž˜ํ”ฝ ์š”์ฒญ์„ EC2 Instance ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ, ํŠน์ • IP์ฃผ์†Œ๋กœ ๋ผ์šฐํŒ…ํ•˜๊ฒŒ ๋˜๋Š” ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜

  • OSI 7 Layer ์ „์†ก ๊ณ„์ธต์—์„œ ๋™์ž‘ํ•˜๊ฒŒ๋˜๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

  • ELB (Elastic Load Balanacer)

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ํ•˜๋‚˜์˜ End-point๋ฅผ ๊ฐ–๊ณ ์žˆ์ง€๋งŒ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ€์šฉ์˜์—ญ์œผ๋กœ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚ด๋ถ€์ ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด์žˆ์Œ

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์˜ต์…˜

  • ALB: L7(Application ๋ ˆ๋ฒจ) ๋ ˆ์ด์–ด์—์„œ ๋™์ž‘ํ•˜๋Š” ์Šค๋งˆํŠธ ๋ผ์šฐํ„ฐ

    • Host Header, URI ๋“ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Listener rule ์ง€์ • ๊ฐ€๋Šฅ

    • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ๋จ

  • NLB: L4(๋„คํŠธ์›Œํฌ) ๋ ˆ์ด์–ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

    • ์ดˆ๋‹น ์ˆ˜์ฒœ๋งŒ๊ฑด์˜ ํŠธ๋ž˜ํ”ฝ์„ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋„๋ก ์ตœ์ ํ™”๋œ ์„ฑ๋Šฅ

    • ์›Œํฌ๋กœ๋“œ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ALB ๋˜๋Š” NLB๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•จ

  • CLB: ์ด์ „ ์„ธ๋Œ€์˜ ํด๋ž˜์‹ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

    • ์‚ฌ์‹ค์ƒ deplicate๋ฅผ ์•ž๋‘๊ณ  ์žˆ์Œ

  • GWLB: 3rd party ๋ฐฉํ™”๋ฒฝ ๋“ฑ์˜ ๋„คํŠธ์›Œํฌ applicance์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ์ „์šฉ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ

    • Gateway Load balancer

    • ์ผ๋ฐ˜์ ์ธ ๋ชฉ์ ์˜ ๋ถ€ํ•˜๋ถ„์‚ฐ ์šฉ๋„๋Š” ์•„๋‹˜

    • ํŠน์ˆ˜ํ•œ ๋ชฉ์  ์šฉ๋„

Instance Customize

์ผ๋ฐ˜์ ์œผ๋กœ staticํ•œ ์„ค์ • (์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ์„ค์ •)๋“ค์€ AMI์— ๋ง์•„๋„ฃ๊ณ , ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค ์–ด๋””์„œ ๊ฐ€์ ธ์™€์„œ ์„ค์ •ํ•ด์•ผํ•˜๋Š” ๊ตฌ์„ฑ์€ user data๋ฅผ ๊ฐ™์ด ํ™œ์šฉํ•˜์—ฌ ๋ถ€ํŒ…

AMI์™€ User Data ์‚ฌ์ด์— Sweet Spot์„ ์ฐพ๋Š”๊ฒŒ ํ•ต์‹ฌ (ํšจ์œจ, ์†๋„, ์ตœ์ ํ™”)

Customized Image

์ธ์Šคํ„ด์Šค ์ปค์Šคํ„ฐ๋งˆ์ด์ง• - AMI

์ฒ˜์Œ ๋ถ€ํŒ…๋œ ๊นกํ†ต(OS๋งŒ ๋‹ด๊ธด) ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ๋””ํŽœ๋˜์‹œ, ํˆด์„ ๋ชจ๋‘ ์„ค์น˜ํ•ด์„œ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ๋œ EC2๋ฅผ ๋จผ์ € ๋งŒ๋“ฌ, ๊ทธ ํ›„ ์Šค๋ƒ…์ƒท์„ ์ฐ์–ด์„œ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ๋œ ์ด๋ฏธ์ง€๋ฅผ ๋งŒ๋“ฌ

  • base image (AMI) -> OS๋งŒ ๋‹ด๊ธด ๋นˆ ๊นกํ†ต

  • + customizing

  • + snapshot

  • = customized Image (AMI)

    • ์›Œํฌ๋กœ๋“œ๋ฅผ ์‹ค์ œ๋กœ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” AMI ์™„์„ฑ!

User Data

์ธ์Šคํ„ด์Šค๊ฐ€ ์ตœ์ดˆ ๋ถ€ํŒ…ํ•  ๋•Œ ๋Œ์•„๊ฐ€๋Š” ์Šคํฌ๋ฆฝํŠธ

  • ์ธ์Šคํ„ด์Šค๊ฐ€ ์ตœ์ดˆ ๋ถ€ํŒ…์‹œ UserData๊ฐ€ ์ •์˜๋˜์–ด์žˆ์œผ๋ฉด cloud-init ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋Œ๋ฉด์„œ user-data์— ์ •์˜ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ๋ถ€ํŠธ์Šคํฌ๋ž˜ํ•‘

    • ๋ถ€ํŠธ์Šคํฌ๋ž˜ํ•‘ -> ์Šค์Šค๋กœ๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ฑฐ๋‚˜ ์‹œ์ž‘ํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธ

    • ์ž‘์€ ์‹œ์ž‘์ ์—์„œ ์ถœ๋ฐœํ•ด ์ ์  ๋” ํฐ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค์–ด๊ฐ€๋Š” ๊ณผ์ •

  • ๋นˆ ๊นกํ†ต์—์„œ ์ •์˜ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰*(์„ค์น˜, ๋ฐ ์„ค์ •)ํ•˜์—ฌ ์›Œํฌ๋กœ๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” EC2๋กœ ์ค€๋น„๋จ

  • staticํ•œ ์„ค์ •๋“ค์ด ๋„ˆ๋ฌด ๋งŽ์€ ๊ฒฝ์šฐ ๋ชจ๋‘ userData์— ๋„ฃ๊ฒŒ๋˜๋ฉด ๋ถ€ํŒ…ํ•˜๋Š”๋ฐ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋ฏ€๋กœ ์˜คํ† ์Šค์ผ€์ผ๋ง์— ๋Œ€์‘ํ•˜๊ธฐ๊ฐ€ ๋น„ํšจ์œจ์ ์œผ๋กœ ๋ณ€ํ™”๋จ

์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์œผ๋กœ ์›Œํฌ๋กœ๋“œ๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, ์ด ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— ๋Œ๋ฆฌ๋Š”๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑํ•œ๋‹ค๋ฉด ๊ธฐ๋ฐ˜ AMI๊ฐ€ ์ค‘์š”ํ•˜์ง€ ์•Š๋‹ค.

์–ด์ฐจํ”ผ ํ˜ธ์ŠคํŠธ๋ ˆ๋ฒจ์€ ๊นกํ†ต์œผ๋กœ ์“ฐ๊ณ , ๊ทธ ์œ„์— ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆํ•œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ง€๊ณ  ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์˜ฌ๋ ค์„œ ์‚ฌ์šฉํ•˜๋Š”๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ์ธ์Šคํ„ด์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ˜ธ์ŠคํŠธ ์—ญํ• ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

๊ทธ๋Ÿฐ๊ฒƒ๋“ค์€ ์ด๋ฏธ AWS์—์„œ ๊ธฐ๋ณธ AMI๋กœ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ AMI์™€ userData๋ฅผ ์ •์˜ํ• ์ผ์€ ๋ณ„๋กœ ์—†๊ธดํ•จ, (But EC2 ์œ„์ฃผ์˜ ์›Œํฌ๋กœ๋“œ๋ผ๋ฉด ์ž์ฃผ ์‚ฌ์šฉํ•จ)

๊ฐ€์ƒ๋จธ์‹  ์ ‘์†

Mac OS์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ„ฐ๋ฏธ๋„์„ ์ œ๊ณตํ•˜์—ฌ ์‚ฌ์šฉ

Winodw๋Š” ์˜๋ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด์„œ SSH ์ ‘์†ํ•˜๊ฑฐ๋‚˜, Remote Desktop์„ ์ด์šฉํ•ด์„œ window RDP ์ ‘์† ๋“ฑ

  • ํด๋ผ์šฐ๋“œ๊ฐ€ ๋ฐœ์ „ํ•˜๋ฉด์„œ ์œ„ ์ ‘์†ํ•˜๋Š” ๋ฐฉ์‹์„ ์žฌ๋ฏธ์žˆ๊ฒŒ ๋ณ€๊ฒฝ์‹œํ‚ด

SSH/RDP Client

  • ์—ฌ์ „ํžˆ SSH/RDP ํด๋ผ์ด์–ธํŠธ๋กœ ์ ‘์†ํ•˜๋Š”๊ฑด ์œ ํšจํ•œ ๋ฐฉ๋ฒ•์ด์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„  22(SSH) PORT, 3380(RDP)๋ฅผ EC2 Security Group์—์„œ ์—ด์–ด์ค˜์•ผํ•˜๋Š” ๋ถ€๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•จ

Browser Session

  • ์š”์ฆ˜์€ ํด๋ผ์šฐ๋“œ์—์„œ ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜์„ ์ œ๊ณต์„ํ•จ

  • ๋ธŒ๋ผ์šฐ์ € ๋ฐฉ์‹์œผ๋กœ ํด๋ผ์šฐ๋“œ WEB UI์—์„œ ์ŠคํŠธ๋ฆฌ๋ฐ ๋˜๋Š” ์„ธ์…˜์„ ์—ด์–ด์คŒ

  • ๋„คํŠธ์›Œํฌ๋ฐฉ์‹์œผ๋กœ ์ ‘์†ํ•˜๋Š”๊ฒƒ์ด ์•„๋‹Œ API ๋ฐฉ์‹์œผ๋กœ ์ ‘์†ํ•˜๋Š”๊ฒƒ์ด๋ผ ์ทจ์•ฝํ•œ ํฌํŠธ๋ฅผ ์—ด์–ด์ค„ ํ•„์š”์—†์Œ

  • ๋Œ€์‹  ํด๋ผ์šฐ๋“œ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ํ†ต์šฉ๋˜๋Š” ๊ถŒํ•œ์ฒด๊ณ„(AWS IAM) ๊ถŒํ•œ, ์ฆ‰ ๋ธŒ๋ผ์šฐ์ € ์„ธ์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ์œ ์ €๋‚˜ ROLE์ด ๊ฐ–๊ณ ์žˆ์–ด์•ผํ•จ

  • ์„œ๋ฒ„ ์ ‘์†๋งˆ์ €๋„ ํ†ตํ•ฉํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ์šด์˜์ธก๋ฉด์—์„œ ํŽธ๋ฆฌํ•จ

  • ์ทจ์•ฝํ•œ ํฌํŠธ๋ฅผ ์—ด์ง€ ์•Š์•„๋„ ๋˜์„œ ๋ณด์•ˆ์ ์ธ ์ธก๋ฉด์—๋„ ์ข‹๋‹ค.