λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

CS/ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…

[Cloud Computing] AWS Advanced Details

728x90

Step 7: Advanced Details

IAM Role

μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ˜λŠ” μ„œλΉ„μŠ€μ™€ 같은 엔터티에 νŠΉμ • κΆŒν•œμ„ λΆ€μ—¬ν•˜κΈ° μœ„ν•œ κΈ°λŠ₯
κΆŒν•œ μ •μ±…(permission policy)을 톡해 ν•΄λ‹Ή μ—”ν„°ν‹°κ°€ AWSμ—μ„œ μˆ˜ν–‰ν•  수 μžˆλŠ” μž‘μ—…μ„ μ •μ˜

 

  • μ—”ν„°ν‹°κ°€ 역할을 "μˆ˜ν–‰"(Assume)ν•  λ•Œ μΌμ‹œμ μΈ λ³΄μ•ˆ 자격 증λͺ…을 λ°›μ•„ κ·Έ μ—­ν• μ˜ κΆŒν•œμœΌλ‘œ 행동할 수 있게 λœλ‹€.
    • AWS λ³΄μ•ˆ 토큰 μ„œλΉ„μŠ€(STS)에 μš”μ²­μ„ 보내 μΌμ‹œμ μΈ λ³΄μ•ˆ 자격 증λͺ…을 λ°›λŠ”λ‹€.
    • 이 자격 증λͺ…을 톡해 ν•΄λ‹Ή μ—”ν„°ν‹°λŠ” AWS λ¦¬μ†ŒμŠ€μ— κΆŒν•œ μžˆλŠ” μš”μ²­μ„ μˆ˜ν–‰ν•  수 μžˆλ‹€.
  • 예λ₯Ό λ“€μ–΄, EC2 μΈμŠ€ν„΄μŠ€κ°€ 역할을 톡해 S3 버킷에 μ•‘μ„ΈμŠ€ν•  수 μžˆλ‹€. 

 

Managing Roles

μΈμŠ€ν„΄μŠ€μ— 역할을 μ—°κ²°ν•˜λ €λ©΄ μΈμŠ€ν„΄μŠ€ ν”„λ‘œνŒŒμΌμ—μ„œ 역할을 μ„ νƒν•˜μ—¬ μΈμŠ€ν„΄μŠ€μ™€ μ—°κ΄€μ‹œν‚¨λ‹€.

 

μΈμŠ€ν„΄μŠ€ ν”„λ‘œνŒŒμΌμ€ IAM 역할을 EC2 μΈμŠ€ν„΄μŠ€μ— μ—°κ²°ν•  수 μžˆλ„λ‘ ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆμ΄λ‹€.

EC2 μΈμŠ€ν„΄μŠ€μ— 역할을 ν• λ‹Ήν•˜λ©΄ AWSλŠ” 이 μΈμŠ€ν„΄μŠ€ ν”„λ‘œνŒŒμΌμ„ μ‚¬μš©ν•˜μ—¬ μΈμŠ€ν„΄μŠ€μ— μž„μ‹œ λ³΄μ•ˆ 자격 증λͺ…을 μ œκ³΅ν•œλ‹€.

이 자격 증λͺ…은 μΈμŠ€ν„΄μŠ€κ°€ AWS μ„œλΉ„μŠ€μ— μš”μ²­μ„ 보낼 λ•Œ μ‚¬μš©λ˜λ©°, 이λ₯Ό 톡해 μΈμŠ€ν„΄μŠ€ λ‚΄μ—μ„œ 자격 증λͺ…을 ν•˜λ“œμ½”λ”©ν•  ν•„μš”κ°€ μ—†λ‹€.

 

μ—­ν•  κ΄€λ¦¬μ˜ μœ μ—°μ„±:

  • AWSλŠ” EC2 μΈμŠ€ν„΄μŠ€μ—μ„œ IAM 역할을 κ΄€λ¦¬ν•˜λŠ” 데 μžˆμ–΄ μ—¬λŸ¬ κ°€μ§€ μœ μ—°ν•œ 방법을 μ œκ³΅ν•œλ‹€:
    • μΈμŠ€ν„΄μŠ€λ₯Ό μ‹œμž‘ν•  λ•Œ μ—­ν•  포함:
      • μΈμŠ€ν„΄μŠ€λ₯Ό μ‹œμž‘ν•  λ•Œ ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€μ— IAM 역할을 μ§€μ •ν•  수 있으며, μΈμŠ€ν„΄μŠ€κ°€ μ‹œμž‘λ˜λ©΄ μ¦‰μ‹œ ν•΄λ‹Ή 역할을 μ‚¬μš©ν•  수 μžˆλ‹€.
    • μΈμŠ€ν„΄μŠ€λ₯Ό μ‹œμž‘ν•œ 후에 μ—­ν•  μΆ”κ°€:
      • μΈμŠ€ν„΄μŠ€λ₯Ό μ‹œμž‘ν•  λ•Œ 역할을 ν• λ‹Ήν•˜μ§€ μ•Šμ•˜λ‹€λ©΄, λ‚˜μ€‘μ— EC2 μ½˜μ†” λ˜λŠ” AWS CLIλ₯Ό μ‚¬μš©ν•΄ 역할을 μΆ”κ°€ν•  수 μžˆλ‹€.
    • μΈμŠ€ν„΄μŠ€μ—μ„œ μ—­ν•  제거:
      • μ–Έμ œλ“ μ§€ μΈμŠ€ν„΄μŠ€μ—μ„œ 역할을 뢄리할 수 있으며, 이 경우 ν•΄λ‹Ή 역할에 μ—°κ΄€λœ κΆŒν•œμ΄ μ¦‰μ‹œ μ·¨μ†Œλœλ‹€.
    • μ—­ν•  μ •μ±… μ—…λ°μ΄νŠΈ:
      • μ—­ν• μ˜ κΆŒν•œ(μ •μ±…)을 μ—…λ°μ΄νŠΈν•˜λ©΄, κ·Έ λ³€κ²½ 사항이 ν•΄λ‹Ή 역할을 μ‚¬μš©ν•˜λŠ” λͺ¨λ“  μΈμŠ€ν„΄μŠ€μ— μ¦‰μ‹œ λ°˜μ˜λ©λ‹ˆλ‹€. 이λ₯Ό 톡해 μΈμŠ€ν„΄μŠ€λ₯Ό μž¬μ‹œμž‘ν•˜κ±°λ‚˜ λ‹€μ‹œ μ‹œμž‘ν•˜μ§€ μ•Šκ³ λ„ λ™μ μœΌλ‘œ κΆŒν•œμ„ 관리할 수 μžˆλ‹€.

User Data

μ‚¬μš©μž 데이터 슀크립트λ₯Ό μ‚¬μš©ν•˜μ—¬ μΈμŠ€ν„΄μŠ€μ˜ λŸ°νƒ€μž„ ν™˜κ²½μ„ 맞좀 μ„€μ •ν•  수 μžˆλ‹€.
  • 기본적으둜 μŠ€ν¬λ¦½νŠΈλŠ” μΈμŠ€ν„΄μŠ€κ°€ 처음 μ‹œμž‘λ  λ•Œ ν•œ 번 μ‹€ν–‰λœλ‹€.
  • μ˜΅μ…˜μ— 따라 μŠ€ν¬λ¦½νŠΈκ°€ μΈμŠ€ν„΄μŠ€κ°€ μ‹œμž‘λ  λ•Œλ§ˆλ‹€ μ‹€ν–‰λ˜λ„λ‘ μ„€μ •ν•  수 μžˆλ‹€.
  • μ‚¬μš©μ˜ˆμ‹œ
    • μΈμŠ€ν„΄μŠ€ AMI 패치 및 μ—…λ°μ΄νŠΈ : μΈμŠ€ν„΄μŠ€κ°€ μ‹œμž‘λ  λ•Œλ§ˆλ‹€ μ΅œμ‹  λ³΄μ•ˆ νŒ¨μΉ˜λ‚˜ 운영체제 μ—…λ°μ΄νŠΈλ₯Ό μ μš©ν•  수 μžˆλ‹€.
    • μ†Œν”„νŠΈμ›¨μ–΄ λΌμ΄μ„ μŠ€ ν‚€ κ°€μ Έμ˜€κΈ° 및 μ„€μΉ˜ : ν•„μš”ν•œ λΌμ΄μ„ μŠ€ ν‚€λ₯Ό μ™ΈλΆ€ μ €μž₯μ†Œλ‚˜ APIμ—μ„œ 가져와 μΈμŠ€ν„΄μŠ€μ— μ μš©ν•  수 μžˆλ‹€.
    • μΆ”κ°€ μ†Œν”„νŠΈμ›¨μ–΄ μ„€μΉ˜ : μΈμŠ€ν„΄μŠ€μ— Apache, NGINX, MySQL λ“± μΆ”κ°€ μ†Œν”„νŠΈμ›¨μ–΄λ₯Ό μžλ™μœΌλ‘œ μ„€μΉ˜ν•  수 μžˆλ‹€.
#!/bin/bash 
yum update –y #μ‹œμŠ€ν…œμ„ μ΅œμ‹  μƒνƒœλ‘œ μ—…λ°μ΄νŠΈ. -y μ˜΅μ…˜μ€ μ‚¬μš©μžμ—κ²Œ 확인을 묻지 μ•Šκ³  μžλ™μœΌλ‘œ '예'라고 λ‹΅ν•˜λ„λ‘ μ„€μ •
yum install httpd –y # Apache HTTP μ„œλ²„(httpd)λ₯Ό μ„€μΉ˜
service httpd start # Apache HTTP μ„œλ²„λ₯Ό μ‹œμž‘
chkconfig httpd on # μ‹œμŠ€ν…œμ΄ λΆ€νŒ…λ  λ•Œ Apache μ„œλ²„κ°€ μžλ™μœΌλ‘œ μ‹œμž‘λ˜λ„λ‘ μ„€μ •

 

 

Additional Advanced Setting Options

 

  • Shutdown behavior : OS μˆ˜μ€€μ—μ„œ μ’…λ£Œ(Shutdown) λͺ…령이 λ°œμƒν–ˆμ„ λ•Œ μΈμŠ€ν„΄μŠ€λ₯Ό μ–΄λ–»κ²Œ μ²˜λ¦¬ν• μ§€λ₯Ό κ²°μ •
    • Terminate (μ’…λ£Œ): μΈμŠ€ν„΄μŠ€κ°€ μ™„μ „νžˆ μ’…λ£Œ
    • Stop (멈좀): μΈμŠ€ν„΄μŠ€κ°€ μ •μ§€ μƒνƒœλ‘œ μ „ν™˜
  • Termination protection : μ½˜μ†”, API, λ˜λŠ” CLIλ₯Ό 톡해 μΈμŠ€ν„΄μŠ€κ°€ μ‹€μˆ˜λ‘œ μ’…λ£Œ(Terminate)λ˜μ§€ μ•Šλ„λ‘ 보호
  • Detailed monitoring : CloudWatch λ₯Ό 톡해 μΈμŠ€ν„΄μŠ€λ₯Ό 더 μ •λ°€ν•˜κ²Œ λͺ¨λ‹ˆν„°λ§
  • Tenancy : μΈμŠ€ν„΄μŠ€κ°€ 싀행될 호슀트 μœ ν˜•μ„ κ²°μ •
    • Shared (곡유): μ—¬λŸ¬ 고객의 μΈμŠ€ν„΄μŠ€κ°€ λ™μΌν•œ 물리적 μ„œλ²„μ—μ„œ μ‹€ν–‰. κΈ°λ³Έ μ„€μ •
    • Dedicated (μ „μš©): 고객 μ „μš©μ˜ 물리적 μ„œλ²„μ—μ„œ μΈμŠ€ν„΄μŠ€κ°€ μ‹€ν–‰. λ‹€λ₯Έ 고객의 μΈμŠ€ν„΄μŠ€μ™€ μ„œλ²„λ₯Ό κ³΅μœ ν•˜μ§€ μ•ŠλŠ”λ‹€.
    • Dedicated Host (μ „μš© 호슀트): μ „μš© ν˜ΈμŠ€νŠΈμ—μ„œ μΈμŠ€ν„΄μŠ€κ°€ μ‹€ν–‰, νŠΉμ • ν•˜λ“œμ›¨μ–΄λ₯Ό μ‚¬μš©μžμ—κ²Œ μ˜ˆμ•½ν•΄ 더 κ°•λ ₯ν•œ μ œμ–΄μ™€ κ·œμ • μ€€μˆ˜λ₯Ό 제곡.

 

Configuration Considerations

λ‹€μŒ 사항듀을 κ³ λ €ν•˜λŠ” 것은 쒋은 결정을 ν•  수 μžˆλ„λ‘ 도와쀀닀.

 

 

 

 

'CS > ν΄λΌμš°λ“œ μ»΄ν“¨νŒ…' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

Serverless Discord Chatbot with AWS Lambda  (1) 2024.12.13