Devops/AWS

[AWS] EC2기초, EC2λž€?

yuri lee 2023. 5. 21. 16:20
λ°˜μ‘ν˜•

30. AWS μ˜ˆμ‚° μ„€μ •

κ²°μ œλŒ€κΈˆ 관리λ₯Ό μœ„ν•΄μ„œλŠ” λ£¨νŠΈκ³„μ •μœΌλ‘œ 둜그인 ν•΄μ•Ό ν•©λ‹ˆλ‹€. 

https://us-east-1.console.aws.amazon.com/billing/home#/account

ν™œμ„±ν™”λ₯Ό λˆ„λ₯΄λ©΄ IAM User도 결제 λŒ€μ‹œ λ³΄λ“œλ₯Ό λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 

결제 λŒ€μ‹œλ³΄λ“œμ—μ„œ μ§€λΆˆν•œ μ„œλΉ„μŠ€μ— λŒ€ν•œ 디버깅을 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

Free tier에 ν•΄λ‹Ήν•˜λŠ” μ„œλΉ„μŠ€λ“€λ„ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 제 경우 이미 기간이 μ§€λ‚˜μ„œ λ³Ό 수 μ—†μŠ΅λ‹ˆλ‹€. 

 

λΉ„μš©μ— λŒ€ν•œ μ•ŒλžŒμ„ λ°›μœΌλ €λ©΄ κ°€μž₯ 쒋은 방법은 AWS μ˜ˆμ‚°μ„ λ§Œλ“œλŠ” κ²ƒμž…λ‹ˆλ‹€.

#1 제둜 μ§€μΆœ μ˜ˆμ‚°

 

#2 월별 λΉ„μš© 계산

ν΄λΌμš°λ“œμ— μ„€μ •ν•˜λ €λŠ” μ˜ˆμ‚° κΈˆμ•‘μž…λ‹ˆλ‹€. μ²­κ΅¬μ„œλ₯Ό νƒμƒ‰ν•˜λŠ” 방법을 λ°°μ› μŠ΅λ‹ˆλ‹€. (Free tier, μ˜ˆμ‚° μ„€μ • 방법)

 

31. EC2 Section

ν΄λΌμš°λ“œλŠ” ν•„μš”ν•  λ•Œλ§ˆλ‹€ μ–Έμ œλ“ μ§€ μ»΄ν“¨νŒ…μ„ λŒ€μ—¬ν•  수 있고 EC2κ°€ λ°”λ‘œ κ·Έ μ˜ˆμ‹œμž…λ‹ˆλ‹€. 

 

EC2 instance types

상황에 λ§žλŠ” μΈμŠ€ν„΄μŠ€λ₯Ό μ„ νƒν•˜μ—¬ μ£Όλ¬Έν˜• ν΄λΌμš°λ“œλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

t2.micro is part of the AWS free tire(up to 750 hours per month)

 

31. μ›Ή μ‚¬μ΄νŠΈ μ‹€μŠ΅μ„ μœ„ν•΄ EC2 μ‚¬μš©μž λ°μ΄ν„°λ‘œ EC2 μΈμŠ€ν„΄μŠ€ μƒμ„±

 

# μ• ν”Œλ¦¬μΌ€μ΄μ…˜ 및 OS 이미지(Amazon Machine Image)

μΈμŠ€ν„΄μŠ€μ˜ 운영 μ²΄κ³„μž…λ‹ˆλ‹€. μ•„λ§ˆμ‘΄μ—μ„œ μ œκ³΅ν•˜λŠ” Linuxκ°€ μžˆμŠ΅λ‹ˆλ‹€. μžμ‹ λ§Œμ˜ 운영체제λ₯Ό μ„€μ •ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€. 

 

# μΈμŠ€ν„΄μŠ€ μœ ν˜•

μΈμŠ€ν„΄μŠ€ νƒ€μž…μ€ CPUκ°œμˆ˜λ‚˜ λ©”λͺ¨λ¦¬ μš©λŸ‰, λΉ„μš©μ— 따라 λ‹¬λΌμ§ˆ κ²ƒμž…λ‹ˆλ‹€. 

 

μΈμŠ€ν„΄μŠ€ νƒ€μž…μ„ ν•œλˆˆμ— λ³Ό 수 μžˆλŠ” νŽ˜μ΄μ§€λ„ μžˆμŠ΅λ‹ˆλ‹€. 

 

# ν‚€ νŽ˜μ–΄(둜그인)

μΈμŠ€ν„΄μŠ€μ— 둜그인 ν•˜κΈ° μœ„ν•œ ν‚€ νŽ˜μ–΄μž…λ‹ˆλ‹€. μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•˜κΈ° μœ„ν•΄ SSH μœ ν‹Έλ¦¬ν‹°λ₯Ό μ‚¬μš©ν•  κ²½μš°μ— ν•„μš”ν•©λ‹ˆλ‹€.

Mac λ˜λŠ” Linux λ˜λŠ” Windows10이라면 .pem ν˜•μ‹μ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

#λ„€νŠΈμ›Œν¬ μ„€μ •

μ—¬κΈ°μ„œλŠ” 아무 μ„ΈνŒ…λ„ ν•˜μ§€ μ•Šμ„ κ²ƒμž…λ‹ˆλ‹€. μ œ μΈμŠ€ν„΄μŠ€λŠ” 곡용 IP 받을 μ˜ˆμ •, λ‹€μŒμœΌλ‘œλŠ” μΈμŠ€ν„΄μŠ€μ— 접속해야 ν•©λ‹ˆλ‹€. 이λ₯Ό μœ„ν•΄ μΈμŠ€ν„΄μŠ€μ—λŠ” λ³΄μ•ˆ 그룹이 μ²¨λΆ€λ˜μ–΄ μžˆμ„ 것이고, 우리 μΈμŠ€ν„΄μŠ€λ₯Ό μ˜€κ°€λŠ” νŠΈλž˜ν”½μ„ 관리할 μ˜ˆμ •μž…λ‹ˆλ‹€. 그럼 κ·œμΉ™μ„ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μƒμ„±λ˜λŠ” 첫번째 λ³΄μ•ˆκ·Έλ£Ή 이름은 launch-wizard-1 이고, μ½˜μ†”μ— μ˜ν•΄ 직접 μƒμ„±λ©λ‹ˆλ‹€. μ—¬κΈ°μ„œ λ§Žμ€ κ·œμΉ™μ„ μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

첫번째 κ·œμΉ™μ€ λͺ¨λ“  κ³³μ—μ„œ μ˜€λŠ” SSH νŠΈλž˜ν”½μ„ ν—ˆμš©ν•˜λŠ” 것, 우리의 λ³΄μ•ˆ 그룹에 νŠΈλž˜ν”½μ„ ν—ˆμš©ν•˜λŠ” κ·œμΉ™μ΄ 생성될 κ²ƒμž…λ‹ˆλ‹€. 

 

μΈν„°λ„·μ—μ„œ HTTP νŠΈλž˜ν”½ ν—ˆμš©λ„ μΆ”κ°€ν•΄μ€λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€μ—μ„œ μ›Ή μ„œλ²„λ₯Ό 생성할 κ²ƒμ΄λ―€λ‘œ  ν•„μš”ν•©λ‹ˆλ‹€. 

 

# μŠ€ν† λ¦¬μ§€ ꡬ성

8κΈ°κ°€ λ°”μ΄νŠΈ gp3 루트 λ³Όλ₯¨μ„ κ°–κ³  있고, 기본으둜 λ‘κ² μŠ΅λ‹ˆλ‹€.

 

# κ³ κΈ‰ μ„ΈλΆ€ 정보

μ‚¬μš©μž λ°μ΄ν„°λŠ” 슀크립트, 즉 μ•½κ°„μ˜ λͺ…령을 EC2 μΈμŠ€ν„΄μŠ€μ— μ œκ³΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€λ₯Ό 처음 생성할 λ•Œλ§Œ μ‹€ν–‰λ©λ‹ˆλ‹€. 

yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html

μΈμŠ€ν„΄μŠ€μ˜ 전체 수λͺ…μ£ΌκΈ° 쀑 단 ν•œ 번만 싀행될 κ²ƒμ΄λΌλŠ” κ±Έ μ˜λ―Έν•©λ‹ˆλ‹€. λͺ‡ 가지 μ—…λ°μ΄νŠΈ ν•˜κ³  HTTP μ›Ή μ„œλ²„λ₯Ό 머신에 μ„€μΉ˜ν•˜κ³  html νŒŒμΌμ„ λ§Œλ“­λ‹ˆλ‹€. κ·Έ 파일이 μ›Ή μ„œλ²„κ°€ 될 것.

 

ν΄λΌμš°λ“œ 덕뢄에 μΈμŠ€ν„΄μŠ€ ν•˜λ‚˜ λ˜λŠ” 100개λ₯Ό 10초 μ•ˆμ— λΉ λ₯΄κ²Œ λ§Œλ“€ 수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 

 

# μΈμŠ€ν„΄μŠ€ μš”μ•½ 

- μΈμŠ€ν„΄μŠ€ ID : 고유 ID

- 퍼블릭 IPv4 μ£Όμ†Œ : EC2 μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ  μ£Όμ†Œ

- Private IPv4 μ£Όμ†Œ : AWS λ„€νŠΈμ›Œν¬μ—μ„œ λ‚΄λΆ€μ μœΌλ‘œ μΈμŠ€ν„΄μŠ€μ— μ ‘κ·Όν•˜λŠ” 방법 

 

# μΈμŠ€ν„΄μŠ€ μ„ΈλΆ€ 정보

- ν”Œλž«νΌ, AMI ID, Key pair assigned at launch λ“±λ“± 확인 κ°€λŠ₯ν•©λ‹ˆλ‹€. 

 

# Security 

- 더 λ§Žμ€ 정보가 확인 κ°€λŠ₯ν•©λ‹ˆλ‹€. (μƒμ„±λœ λ³΄μ•ˆ 그룹에 λŒ€ν•œ 정보)

- μΈλ°”μš΄λ“œ κ·œμΉ™

예λ₯Όλ“€μ–΄ 포트 22, 0.0.0./0으둜 λ˜μ–΄ 있으면 포트 22λ²ˆμ€ μ–΄λ””μ„œλ‚˜ μ ‘κ·Όν•  수 μžˆλŠ” μ˜λ―Ένž™λ‹ˆλ‹€. 

- μ•„μ›ƒλ°”μš΄λ“œ κ·œμΉ™

λͺ¨λ“  μ•„μ›ƒλ°”μš΄λ“œ 톡신을 ν—ˆμš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ μΈμŠ€ν„΄μŠ€κ°€ 인터넷에 μ ‘κ·Όν•  수 있게 λ©λ‹ˆλ‹€. 

 

# μŠ€ν† λ¦¬μ§€

λ³Όλ₯¨μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

μ›Ήμ„œλ²„ ν™•μΈν•˜κΈ°

곡용 IPμ£Όμ†Œλ‘œ κ°€μ„œ λ³΅μ‚¬ν•˜κ±°λ‚˜ μ£Όμ†Œ μ—΄κΈ°λ₯Ό ν΄λ¦­ν•©λ‹ˆλ‹€. 

 

33. EC2 μΈμŠ€ν„΄μŠ€ μœ ν˜• κΈ°λ³Έ 사항

https://aws.amazon.com/ko/ec2/instance-types/

 

- General Purpose

- Compute Optimized 

- Memory Optimized 

- Storage Optimized 

 

μ—¬κ°œμ„œλŠ” t2.microλ₯Ό μ‚¬μš©ν•  μ˜ˆμ • (ν•œλ‹¬ μ΅œλŒ€ 750μ‹œκ°„κΉŒμ§€ μ‚¬μš©ν•  수 있음)

 

34. λ³΄μ•ˆ κ·Έλ£Ή λ° ν΄λž˜μ‹ ν¬νŠΈ κ°œμš”

λ³΄μ•ˆ 그룹은 ν—ˆμš© κ·œμΉ™λ§Œ ν¬ν•¨ν•©λ‹ˆλ‹€. μΆœμž…μ΄ ν—ˆμš©λœ 것이 무엇인지 확인할 수 있고, IPμ£Όμ†Œλ₯Ό μ°Έμ‘°ν•΄ κ·œμΉ™μ„ λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€. λ³΄μ•ˆκ·Έλ£ΉλΌλ¦¬ μ„œλ‘œ 참쑰도 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

35. λ³΄μ•ˆ κ·Έλ£Ή μ‹€μŠ΅

μΈλ°”μš΄λ“œ κ·œμΉ™μ€ μ™ΈλΆ€μ—μ„œ EC2 μΈμŠ€ν„΄μŠ€λ‘œ μ—°κ²°ν•  수 있게 ν•΄μ£ΌλŠ” κ·œμΉ™μž…λ‹ˆλ‹€. 

EC2 μΈμŠ€ν„΄μŠ€μ— λŒ€ν•΄ μ–΄λ–€ 접속을 μ‹œλ„ν•  λ•Œ νƒ€μž„μ•„μ›ƒμ„ 보게 되면 (ex SSHλ₯Ό μ‹œλ„ν•˜μ§€λ§Œ νƒ€μž„ 아웃이 λ˜κ±°λ‚˜ HTTP 쿼리λ₯Ό μ‹œλ„ν•˜λŠ” 데 νƒ€μž„μ•„μ›ƒμ΄ 되면 100% EC2 λ³΄μ•ˆκ·Έλ£Ή λ•Œλ¬Έ)

 

μ•„μ›ƒλ°”μš΄λ“œ κ·œμΉ™μž…λ‹ˆλ‹€. λͺ¨λ“  곳으둜 κ°€λŠ” IPv4의 λͺ¨λ“  νŠΈλž˜ν”½μ„ ν—ˆμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€κ°€ λͺ¨λ“  곳에 λŒ€ν•œ μ™„μ „ν•œ 인터넷 연결성을 κ°–κ²Œ λ©λ‹ˆλ‹€. 

 

EC2 μΈμŠ€ν„΄μŠ€μ—λŠ” λ§Žμ€ λ³΄μ•ˆ 그룹이 첨뢀될 수 μžˆμŠ΅λ‹ˆλ‹€. κ·Έλž˜μ„œ μ›ν•œλ‹€λ©΄ 2κ°œλ‚˜ 3개 ν˜Ήμ€ 5개의 λ³΄μ•ˆ 그룹을 μ²¨λΆ€ν•˜κ³  각각에 κ·œμΉ™μ„ μΆ”κ°€ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

36. SSH κ°œμš” 

ν΄λΌμš°λ“œμ—μ„œ μ‹€ν–‰ μ‹œ κΉŒλ‹€λ‘œμš΄ λΆ€λΆ„ 쀑 ν•˜λ‚˜λŠ” μœ μ§€ λ³΄μˆ˜λ‚˜ 쑰치λ₯Ό μ·¨ν•˜κΈ° μœ„ν•΄ μ„œλ²„ 내뢀와 μ—°κ²°ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. λ¦¬λˆ…μŠ€μ—μ„œλŠ” μ‹œνμ–΄ 셀인 SSHλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. SSHλŠ” λͺ…령쀄 μΈν„°νŽ˜μ΄μŠ€ λ„κ΅¬μž…λ‹ˆλ‹€. 

 

37. Linux λ˜λŠ” Mac을 μ‚¬μš©ν•˜μ—¬ SSH μ‹€ν–‰ 방법

Detail Tab > Public IPv4 address

Security Tab > Inbound rules 확인 

 

ssh ec2-user 라고 ν•˜λŠ” μ΄μœ λŠ” Amazon Linux 2 AMIμ—λŠ” 이미 μ‚¬μš©μž ν•˜λ‚˜κ°€ μ„€μ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 

ssh ec2-user@Public IPv4 address

ssh -i  : EC2Tutorial.pem νŒŒμΌμ„ μ§€μ •ν•©λ‹ˆλ‹€.

 

ssh -i EC2Tutorial.pem ec2-user@3.250.26.200

 

κΆŒν•œ λ¬Έμ œκ°€ λ°œμƒν•  수 μžˆμœΌλ―€λ‘œ μ—λŸ¬κ°€ λ‚  경우 μ•„λž˜μ˜ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. 

chmod 0400 EC2Tutorial.pem

 

μΈμŠ€ν„΄μŠ€λ₯Ό μ€‘μ§€ν•˜κ³  μ‹œμž‘ν•˜λ©΄ 곡용 IPκ°€ 변경될 수 μžˆμœΌλ‹ˆ κ·Έ 점에 μ£Όμ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. 

 

41. EC2 μΈμŠ€ν„΄μŠ€ μ—°κ²°

EC2 Instance Connect λ₯Ό μ‚¬μš©ν•˜λ©΄ λΈŒλΌμš°μ € 기반으둜 EC2 μΈμŠ€ν„΄μŠ€μ— λŒ€ν•œ SSH μ„Έμ…˜μ„ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

λ³΄μ•ˆκ·Έλ£Ήμ˜ μΈλ°”μš΄λ“œ κ·œμΉ™ 22번 포트 μ‚­μ œ μ‹œ 접속이 λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 

 

42. EC2 μΈμŠ€ν„΄μŠ€ μ—­ν•  λ°λͺ¨

νŽΈν•˜κ²Œ EC2 Instance Connect λ₯Ό μ‚¬μš©ν•˜μ—¬ μ ‘μ†ν•˜λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 

[ec2-user@ip-172-31-17-250 ~]$ ping google.com

 

IAM API ν‚€λ₯Ό μ ˆλŒ€ 수기둜 μž…λ ₯ν•˜λ©΄ μ•ˆλ©λ‹ˆλ‹€. κ·Έ λŒ€μ‹  μ‚¬μš©ν•  수 μžˆλŠ” 것이 IAM μ—­ν• μž…λ‹ˆλ‹€. 

IAM 역할을 EC2 μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•΄μ„œ 자격 증λͺ…을 μ œκ³΅ν•˜κ²Œλ” ν•˜κ² μŠ΅λ‹ˆλ‹€.

μΈμŠ€ν„΄μŠ€ > Security νƒ­ > IAM Role이 μ—†μŠ΅λ‹ˆλ‹€. 

 

μΈμŠ€ν„΄μŠ€ > Actions > Security > Modify IAM Role μ—μ„œ IAM 역할을 μ„ νƒν•©λ‹ˆλ‹€. (DemoRoleForEC2) 선택 ν›„ λ‹€μ‹œ 탭을 확인해보면 IAM Role이 μƒκΉλ‹ˆλ‹€. 

 

aws iam list-users

aws configure λͺ…령을 μ‹€ν–‰ν•˜μ§€ μ•Šμ•„λ„ IAM 역할을 μ—°κ²° 후에 μœ„ λͺ…령을 μ‹€ν–‰ν•˜λ©΄ μž‘λ™ν•©λ‹ˆλ‹€. EC2 μΈμŠ€ν„΄μŠ€μ™€ IAM 역할이 μ—°κ²°λ˜μ–΄ μžˆμŒμ„ μ•Œ 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

43. EC2 μΈμŠ€ν„΄μŠ€ μ‹œμž‘

 

44. 슀팟 μΈμŠ€ν„΄μŠ€ 및 μŠ€νŒŸμ§‘ν•© 

 

45. EC2 μΈμŠ€ν„΄μŠ€ launch type μ‹€μŠ΅

 

Quiz

λ°μ΄ν„°λ² μ΄μŠ€ κΈ°μˆ μ„ EC2 μΈμŠ€ν„΄μŠ€μ— λ°°ν¬ν•˜λ € ν•©λ‹ˆλ‹€. 곡급 업체 λΌμ΄μ„ μŠ€λŠ” 물리적 μ½”μ–΄ 및 기반 λ„€ν¬μ›Œν¬ μ†ŒμΌ“ κ°€μ‹œμ„±λ₯Ό 기반으둜 λΉ„μš©μ„ μ±…μ •ν•©λ‹ˆλ‹€. 이 경우, μ–΄λ–€ EC2 ꡬ맀 μ˜΅μ…˜μ„ μ‚¬μš©ν•΄μ•Ό κ°€μ‹œμ„±μ„ 확보할 수 μžˆμ„κΉŒμš”? -> μ „μš© 호슀트

 


Reference: https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/

λ°˜μ‘ν˜•