
ํน์ ๊ฐ๋ฐ์ฉ EC2 ์ธ์คํด์ค๋ฅผ ํ๋ฃจ ์ข ์ผ ์ผ๋๊ณ ๊ณ์ ๊ฐ์?
ํ์ํ ๋๋ง ์ผ์ ์ฌ์ฉํ ์ ์๋ค๋ฉด ๋น์ฉ์ ์ ์ฝํ๊ณ ๊ด๋ฆฌ๋ ํธํด์ง ํ ๋ฐ, ์๊ฐ๋ณด๋ค ๋ง์ ํ์ด ์ด ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ ํ๋ ๋ง์ฐฌ๊ฐ์ง์์ต๋๋ค.
์ฃผ๋ง์๋, ์ผ๊ทผ์ด ์๋ ๋ฐค์๋ EC2 ์ธ์คํด์ค๊ฐ ๊ณ์ ์คํ๋๊ณ ์์์ฃ . ํ์ง๋ง ์ค์ ๋ก ์ฌ์ฉํ์ง ์๋ ์๊ฐ ๋์์๋ ๊ณผ๊ธ์ด ๊ณ์ ๋ฐ์ํ์ต๋๋ค. ๊ฒฐ๊ตญ ๋ถํ์ํ ์ด์ ๋น์ฉ์ด ์์๊ณ , ์์ ๊ด๋ฆฌ์ ๋นํจ์จ์ฑ๋ ์ปค์ก์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด AWS Lambda์ Amazon EventBridge๋ฅผ ํ์ฉํด ์๋ํ๋ฅผ ๋์ ํ์ต๋๋ค. ๊ทธ ๊ฒฐ๊ณผ, EC2 ๋น์ฉ์ 45% ์ ๊ฐํ ์ ์์๊ณ , ๊ด๋ฆฌ ๋ถ๋ด๋ ํฌ๊ฒ ์ค์ด๋ค์์ต๋๋ค.
์ด๋ป๊ฒ ์ด๋ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค ์ ์์์๊น์? ์ง๊ธ๋ถํฐ ๊ทธ ๋ฐฉ๋ฒ์ ํจ๊ป ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์๋ํ๋ฅผ ๊ณ ๋ฏผํ๊ฒ ๋ ์ด์
ํ ๋ฌ ๋์ AWS ๋น์ฉ์ ๋ถ์ํ ๊ฒฐ๊ณผ, ๊ฐ๋ฐ์ฉ EC2 ์ธ์คํด์ค์์ ๋ถํ์ํ ๋น์ฉ์ด ์๋นํ ๋ฐ์ํ๊ณ ์์์ ํ์ธํ์ต๋๋ค.
- ๊ฐ๋ฐ ํ๊ฒฝ์ EC2 ์ธ์คํด์ค๊ฐ ํ๋ฃจ ํ๊ท 14์๊ฐ ์ด์ ์ ํด ์ํ๋ก ๋จ์ ์์์
- ์ฃผ๋ง์๋ ์ฌ์ฉํ์ง ์๋ ์ธ์คํด์ค๊ฐ ๊ณ์ ์คํ๋์ด ๋ถํ์ํ ๊ณผ๊ธ ๋ฐ์
- ๊ฐ๋ฐ์๋ค์ด ์๋์ผ๋ก EC2๋ฅผ ์์ํ๊ณ ์ข ๋ฃํ๋ ๊ณผ์ ์ด ๋ฒ๊ฑฐ๋กญ๊ณ ๋นํจ์จ์
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ํ๋ EC2 ์ค์ผ์ค๋ง ์์คํ ์ ๋์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์๋ํ๊ฐ ๊ตฌํ๋๋ค๋ฉด, ํ์ํ ๋๋ง ์ธ์คํด์ค๋ฅผ ์คํํ๊ณ , ์ฌ์ฉํ์ง ์์ ๋๋ ์๋์ผ๋ก ์ข ๋ฃํด ๋น์ฉ ์ ๊ฐ๊ณผ ์ด์ ํจ์จ์ฑ์ ๋์์ ํ๋ณดํ ์ ์์ ๊ฒ์ด๋ผ ๊ธฐ๋ํ์ต๋๋ค.
EC2 ์๋ํ๋ฅผ ์ํ ์ํคํ ์ฒ
EC2 ์ธ์คํด์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด AWS์ ์๋ฒ๋ฆฌ์ค ์๋น์ค๋ฅผ ํ์ฉํ ์๋ํ ์์คํ ์ ๊ตฌ์ถํ์ต๋๋ค. ์ด๋ฅผ ํตํด ํ์ํ ๋๋ง ์ธ์คํด์ค๋ฅผ ์คํํ๊ณ , ์ฌ์ฉํ์ง ์์ ๋๋ ์๋์ผ๋ก ์ข ๋ฃํ๋๋ก ํ์ต๋๋ค.
์ฃผ์ ๊ตฌ์ฑ ์์ ๋ฐ ์ญํ
| ์ฃผ์ ๊ตฌ์ฑ ์์ | ์ญํ |
|---|---|
| Amazon EventBridge | **EC2 ์ธ์คํด์ค์ ์์ ๋ฐ ์ข ๋ฃ ์ค์ผ์ค๋ง์ ๋ด๋น |
| AWS Lambda | EventBridge์์ ๋ฐ์ํ ์ด๋ฒคํธ๋ฅผ ๋ฐ์ EC2 ์ธ์คํด์ค๋ฅผ ์ ์ดํ๋ ๋ก์ง ์คํ |
| IAM | Lambda๊ฐ EC2๋ฅผ ์ ์ดํ ์ ์๋๋ก ํ์ํ ๊ถํ์ ๊ด๋ฆฌ |
์๋ํ ํ๋ฆ
- ์ถ๊ทผ ์๊ฐ(์ค์ 10์) โ EventBridge๊ฐ ํธ๋ฆฌ๊ฑฐ๋์ด EC2 ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์์
- ์ ๋ฌด ์ข ๋ฃ ์๊ฐ(์คํ 7์) โ EventBridge๊ฐ ๋ค์ ํธ๋ฆฌ๊ฑฐ๋์ด EC2 ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์ข ๋ฃ
- ์์ธ ์ฒ๋ฆฌ โ ํน์ ๊ฐ๋ฐ์๊ฐ ์ผ๊ทผ ๋๋ ์ฃผ๋ง์๋ EC2๋ฅผ ์ ์งํ๊ณ ์ถ๋ค๋ฉด,
- EC2 ์ธ์คํด์ค์ โOverrideโ ํ๊ทธ๋ฅผ ์ถ๊ฐํ์ฌ ์๋ ์ข ๋ฃ ๋ฐฉ์ง
- Lambda๊ฐ ํ๊ทธ๋ฅผ ํ์ธํ๊ณ , Override ์ค์ ์ด ์์ผ๋ฉด ์ข ๋ฃํ์ง ์์
์ด ์ํคํ ์ฒ๋ฅผ ํตํด ์์์ ์์ด EC2๋ฅผ ์๋ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ๋ถํ์ํ ๋น์ฉ์ ์ ๊ฐํ๋ฉด์๋ ์ ์ฐํ ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
EC2 ์๋ํ ๊ตฌํ ํ๋ก์ธ์ค
EC2 ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์์ํ๊ณ ์ข ๋ฃํ๊ธฐ ์ํด, ๋จผ์ ์๋ํ ๋์ ์ธ์คํด์ค๋ฅผ ์๋ณํ ์ ์๋ ํ๊ทธ๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.
1. EC2 ํ๊ทธ ์ค์
์๋ํํ EC2 ์ธ์คํด์ค์ ํน์ ํ๊ทธ๋ฅผ ์ถ๊ฐํ์ฌ, ์๋ํ ๋์๊ณผ ๋น๋์์ ๊ตฌ๋ถํฉ๋๋ค. ์๋ AWS CLI ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด, ํน์ EC2 ์ธ์คํด์ค์ Scheduled=True ํ๊ทธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
aws ec2 create-tags --resources i-0abcd1234efgh5678 --tags Key=Scheduled,Value=True
์ด ํ๊ทธ๊ฐ ์ค์ ๋ ์ธ์คํด์ค๋ง ์๋ํ ์ค์ผ์ค์ ๋ฐ๋ผ ์์ ๋ฐ ์ข ๋ฃ๋ฉ๋๋ค. ์ฆ, ํ๊ทธ๊ฐ ์๋ ์ธ์คํด์ค๋ ์๋ํ ๊ท์น์์ ์ ์ธ๋์ด ์๋์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ๋ํ, ํน์ ์ธ์คํด์ค๋ฅผ ์๋ ์ข ๋ฃ ๋์์์ ์ ์ธํ๋ ค๋ฉด Override=True ํ๊ทธ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด Lambda๊ฐ ์ธ์คํด์ค๋ฅผ ์ข ๋ฃํ๊ธฐ ์ ์ ํด๋น ํ๊ทธ๋ฅผ ํ์ธํ์ฌ ์ข ๋ฃ๋ฅผ ๊ฑด๋๋ธ ์ ์์ต๋๋ค.
2. IAM ์ ์ฑ ์ค์
AWS Lambda๊ฐ EC2 ์ธ์คํด์ค๋ฅผ ์ ์ดํ๋ ค๋ฉด, ์ ์ ํ IAM ์ ์ฑ ์ ์ค์ ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ํตํด Lambda๊ฐ ํ์ํ ์์ (์ธ์คํด์ค ์์ ๋ฐ ์ข ๋ฃ)์ ์ํํ ์ ์๋๋ก ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "*"
}
]
}
์๋ IAM ์ ์ฑ ์ ํน์ ํ๊ทธ(Scheduled=True)๊ฐ ์ค์ ๋ EC2 ์ธ์คํด์ค๋ง ์์(Start) ๋ฐ ์ข ๋ฃ(Stop) ํ ์ ์๋๋ก ์ ํํฉ๋๋ค.
IAM ์ญํ (Role) ์์ฑ ๋ฐ Lambda ์ฐ๊ฒฐ
- IAM ์ฝ์(AWS IAM)์์ ์๋ก์ด ์ญํ (Role) ์์ฑ
- Lambda์์ ์ฌ์ฉํ ์๋น์ค ์ญํ ์ ํ (AWS ์๋น์ค โ Lambda ์ ํ)
- ์ IAM ์ ์ฑ ์ ์ถ๊ฐํ์ฌ ํด๋น ์ญํ ์ ์ฐ๊ฒฐ
- ์์ฑํ IAM ์ญํ ์ Lambda ํจ์์ ํ ๋น
์ด๋ ๊ฒ ์ค์ ํ๋ฉด Lambda๊ฐ ๋ถํ์ํ EC2 ์ธ์คํด์ค๋ฅผ ์ ์ดํ์ง ๋ชปํ๋๋ก ์ ํํ ์ ์์ผ๋ฉฐ, ๋ณด์์ฑ์ ์ ์งํ๋ฉด์ ์๋ํ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
3. Lambda ํจ์ ๊ตฌํ
Lambda์์ EC2 ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์์ ๋ฐ ์ข ๋ฃํ๋ ํจ์๋ฅผ ์์ฑํฉ๋๋ค. ์ด ํจ์๋ Scheduled=True ํ๊ทธ๊ฐ ์๋ ์ธ์คํด์ค๋ง ๋์์ผ๋ก ์ ํํ์ฌ ์คํ๋ฉ๋๋ค.
Lambda ์ฝ๋ (EC2 ์์ & ์ข ๋ฃ ์ง์) ์๋ ์ฝ๋๋ EC2 ์ธ์คํด์ค๋ฅผ ์์ํ๊ฑฐ๋ ์ข ๋ฃํ๋ Lambda ํจ์์ ๋๋ค. ์ด์ ์ฝ๋์์ start_instances๋ง ์ฒ๋ฆฌํ์ง๋ง, ์ถ๊ฐ์ ์ผ๋ก stop_instances ๊ธฐ๋ฅ๋ ํฌํจํ์ต๋๋ค.
import boto3
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def get_instances():
ec2 = boto3.resource('ec2')
return [
instance.id for instance in ec2.instances.all()
if any(tag.get('Key') == 'Scheduled' and tag.get('Value') == 'True'
for tag in instance.tags or [])
]
def lambda_handler(event, context):
try:
ec2_client = boto3.client('ec2', region_name='ap-northeast-2')
instances = get_instances()
if not instances:
logger.info("No scheduled instances found")
return
ec2_client.start_instances(InstanceIds=instances)
logger.info(f"Successfully started instances: {instances}")
except Exception as e:
logger.error(f"Failed to start instances: {str(e)}")
raise
Lambda ํจ์์ ์ฃผ์ ๊ธฐ๋ฅ
get_instances()- EC2 ๋ฆฌ์์ค๋ฅผ ์กฐํํ์ฌ Scheduled=True ํ๊ทธ๊ฐ ์๋ ์ธ์คํด์ค๋ฅผ ์ฐพ์ ๋ฐํ
lambda_handler(event, context)- event['action'] ๊ฐ์ ๋ฐ๋ผ EC2 ์ธ์คํด์ค๋ฅผ ์์ํ๊ฑฐ๋ ์ข ๋ฃ
- "start"์ด๋ฉด start_instances() ์คํ
- "stop"์ด๋ฉด stop_instances() ์คํ
- ์๋ชป๋ action ๊ฐ์ด ์ ๋ฌ๋๋ฉด ๊ฒฝ๊ณ ๋ฉ์์ง ์ถ๋ ฅ
EventBridge์ Lambda ์ฐ๋ ๋ฐฉ๋ฒ
- EC2 ์์ ์ด๋ฒคํธ (์์นจ 10์ ํธ๋ฆฌ๊ฑฐ)
- EventBridge์์
{ "action": "start" }์ด๋ฒคํธ๋ฅผ Lambda๋ก ์ ๋ฌ
- EventBridge์์
- EC2 ์ข
๋ฃ ์ด๋ฒคํธ (์ ๋
7์ ํธ๋ฆฌ๊ฑฐ)
- EventBridge์์
{ "action": "stop" }์ด๋ฒคํธ๋ฅผ Lambda๋ก ์ ๋ฌ
- EventBridge์์
์ด๋ ๊ฒ ํ๋ฉด ์ ๋ฌด ์๊ฐ์ ๋ง์ถฐ EC2๊ฐ ์๋์ผ๋ก ์์๋๊ณ , ์ข ๋ฃ ์๊ฐ์๋ ์๋์ผ๋ก ๊บผ์ง๋ ์์ ํ ์๋ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ๐
4. EventBridge ์ค์ผ์ค ์ค์
Amazon EventBridge๋ฅผ ์ฌ์ฉํ์ฌ EC2 ์์/์ข ๋ฃ ์๊ฐ์ ์์ฝํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๊ฐ ์ง์ ์ธ์คํด์ค๋ฅผ ์ผ๊ณ ๋๋ ๋ฒ๊ฑฐ๋ก์์ ์ค์ด๊ณ , ์ด์ ๋น์ฉ์ ์ ๊ฐํ ์ ์์ต๋๋ค.
EventBridge ๊ท์น ์์ฑ (EC2 ์์/์ข ๋ฃ ์ค์ผ์ค๋ง) ์๋ AWS CLI ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ EventBridge์์ EC2 ์ธ์คํด์ค๋ฅผ ์๋์ผ๋ก ์์ํ๊ณ ์ข ๋ฃํ๋๋ก ์ค์ ํฉ๋๋ค.
# Start EC2 at 10:00 AM (UTC: 1:00 AM)
aws events put-rule \
--name ec2-start-schedule \
--schedule-expression "cron(0 1 ? * MON-FRI *)"
# Stop EC2 at 7:00 PM (UTC: 10:00 AM)
aws events put-rule \
--name ec2-stop-schedule \
--schedule-expression "cron(0 10 ? * MON-FRI *)"
์ด์ EC2๊ฐ ์ ๋ฌด ์๊ฐ์ ๋ง์ถฐ ์๋์ผ๋ก ์ผ์ง๊ณ , ํด๊ทผ ํ์๋ ์๋์ผ๋ก ์ข ๋ฃ๋์ด ๋ถํ์ํ ๋น์ฉ์ด ์ ๊ฐ๋ฉ๋๋ค! ๐
์ด์ํ๋ฉด์ ๊ฒช์๋ ๋ฌธ์ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ
์๋ํ๋ฅผ ์ ์ฉํ ํ ๋ช๋ช ๋ฌธ์ ๋ฅผ ๋ง์ฃผํ๊ฒ ๋์๊ณ , ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
| ๋ฌธ์ | ํด๊ฒฐ ๋ฐฉ๋ฒ |
|---|---|
| ๊ณตํด์ผ์๋ EC2๋ฅผ ์ผ์ง ์๋๋ก ์ค์ ํ๊ณ ์ถ์ | DynamoDB์ ๊ณตํด์ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ Lambda์์ ์ฒดํฌ |
| ๊ธด๊ธํ๊ฒ EC2๋ฅผ ์ผ์ผ ํ ๋๊ฐ ์์ | Override ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ฉด ์๋ ์ข ๋ฃ ์์ธ ์ฒ๋ฆฌ ๊ฐ๋ฅ |
| ์์ ์์๋ฅผ ์กฐ์ ํ๊ณ ์ถ์ | Step Functions์ ํ์ฉํด ์ธ์คํด์ค ์์กด์ฑ ๊ด๋ฆฌ |
์ด๋ ๊ฒ ์ด์ ์ค์ ๋ฐ์ํ๋ ์ด์๋ ๋ฌธ์ ์์ด ๋์ํ ์ ์์์ต๋๋ค.
์๋ํ ํ ํจ๊ณผ
EC2 ์ค์ผ์ค๋ง ์๋ํ๋ฅผ ์ ์ฉํ ๊ฒฐ๊ณผ, ๋ค์๊ณผ ๊ฐ์ ๋์ ๋๋ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ป์ ์ ์์์ต๋๋ค.

โ AWS ๋น์ฉ 45% ์ ๊ฐ
- ์ ํด ์ํ์๋ EC2 ์ธ์คํด์ค๋ฅผ ์๋ ์ข ๋ฃํจ์ผ๋ก์จ ๋ถํ์ํ ๋น์ฉ์ ์ ๊ฐํ ์ ์์์ต๋๋ค.
โ ์ ๋ฌด ์๊ฐ ์ธ EC2 ์๋ ์ข ๋ฃ
- ์ผ๊ทผ์ด๋ ์ฃผ๋ง์๋ ๋ถํ์ํ ์ธ์คํด์ค๊ฐ ์ผ์ ธ ์๋ ์ผ์ด ์ฌ๋ผ์ก์ต๋๋ค.
- ํ์ํ ๋๋ง ์คํ๋๋๋ก ์ค์ ํ์ฌ ํจ์จ์ ์ธ ์์ ํ์ฉ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
โ ์ด์ ๋ถ๋ด ๊ฐ์
- ๊ฐ๋ฐ์๋ค์ด ๋ ์ด์ EC2๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ ํ์๊ฐ ์์ด ๋ฒ๊ฑฐ๋ก์์ด ์ค์ด๋ค์์ต๋๋ค.
- IAM ์ ์ฑ ๊ณผ ํ๊ทธ ๊ธฐ๋ฐ ๊ด๋ฆฌ ๋๋ถ์ ๋ณด์์ฑ๊ณผ ๊ด๋ฆฌ ํจ์จ์ฑ๋ ํจ๊ป ํฅ์๋์์ต๋๋ค.
๋ฌด์๋ณด๋ค, ์๋ํ๋ฅผ ์ ์ฉํ ํ์๋ ๋ฐค์๋ ๊ฑฑ์ ์์ด ๋ง์ ํธํ๊ฒ ํด๊ทผํ ์ ์์์ต๋๋ค. ๐
์ถ๊ฐ๋ก ๊ณ ๋ คํ ํ์ฅ ๊ธฐ๋ฅ
ํ์ฌ EC2 ์ค์ผ์ค๋ง ์๋ํ ์์คํ ์ ๋์ฑ ๋ฐ์ ์ํค๊ธฐ ์ํด, ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ถ๊ฐ๋ก ๊ณ ๋ฏผํ๊ณ ์์ต๋๋ค.
โ Slack ์๋ฆผ ์ฐ๋
- EC2 ์ธ์คํด์ค๊ฐ ์๋์ผ๋ก ์์๋๊ฑฐ๋ ์ข ๋ฃ๋ ๋, ํ ์ฑ๋์ ์๋ฆผ์ ์ ์ก
- ๊ฐ๋ฐ์๋ค์ด ํ์ฌ ์ธ์คํด์ค ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์์ด ์ด์ ํฌ๋ช ์ฑ ํฅ์
โ CloudWatch์ ์ฐ๊ณํ ์๋ ์ค์ผ์ผ๋ง
- EC2 ์ธ์คํด์ค์ CPU ์ฌ์ฉ๋, ๋คํธ์ํฌ ํธ๋ํฝ ๋ฑ์ ์งํ๋ฅผ ๋ถ์
- ์ฌ์ฉ๋์ด ์ ์ ๋๋ ์๋ ์ข ๋ฃ, ๋ง์ ๋๋ ์ถ๊ฐ ์ธ์คํด์ค๋ฅผ ์คํํ๋ ์๋ ์ค์ผ์ผ๋ง ์ ์ฉ
โ ๋น์ฉ ๋ฆฌํฌํธ ์๋ํ
- ํ ๋ฌ์ ํ ๋ฒ, EC2 ๋น์ฉ ๋ฆฌํฌํธ๋ฅผ ์๋์ผ๋ก ์์ฑํ์ฌ ์ด๋ฉ์ผ๋ก ์ ์ก
- ๋น์ฉ ์ ๊ฐ ํจ๊ณผ๋ฅผ ์ถ์ ํ๊ณ , ์ถ๊ฐ์ ์ธ ์ต์ ํ ๊ธฐํ๋ฅผ ์๋ณ
์ด๋ฌํ ํ์ฅ ๊ธฐ๋ฅ์ ๋์ ํ๋ฉด ๋์ฑ ์ค๋งํธํ ์ธํ๋ผ ์ด์์ด ๊ฐ๋ฅํด์ง๊ณ , ํ ์ ์ฒด์ ์ด์ ํจ์จ์ฑ๊ณผ ๋น์ฉ ์ ๊ฐ ํจ๊ณผ๋ฅผ ๊ทน๋ํํ ์ ์์ ๊ฒ์ผ๋ก ๊ธฐ๋๋ฉ๋๋ค. ๐
๋ง๋ฌด๋ฆฌ
AWS Lambda์ EventBridge๋ฅผ ํ์ฉํ EC2 ์๋ํ ๋ฐฉ๋ฒ์ ์๊ฐ๋๋ ธ์ต๋๋ค. ์ฐ๋ฆฌ ํ์ ์ด๋ฅผ ํตํด ๋น์ฉ ์ ๊ฐ๊ณผ ์ด์ ๋ถ๋ด ๊ฐ์๋ผ๋ ๋ ๋ง๋ฆฌ ํ ๋ผ๋ฅผ ์ก์ ์ ์์์ต๋๋ค. ๋ง์ฝ ์ฌ๋ฌ๋ถ๋ ๋น์ทํ ๊ณ ๋ฏผ์ ํ๊ณ ๊ณ์๋ค๋ฉด, ์ง๊ธ ๋ฐ๋ก ์ด ์๋ํ๋ฅผ ์ง์ ์ ์ฉํด ๋ณด์๊ธธ ์ถ์ฒ๋๋ฆฝ๋๋ค. ํจ์จ์ ์ธ ์์ ๊ด๋ฆฌ์ ๋น์ฉ ์ต์ ํ๋ฅผ ํตํด, ๋ ๋์ ์ด์ ํ๊ฒฝ์ ๋ง๋ค์ด๊ฐ์ค ์ ์์ ๊ฒ์ ๋๋ค. ๐
