일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- server
- SQS
- Kinesis
- ASG
- 3AZ
- CodePipeline
- CodeCommit
- 쿠버네티스
- CloudWatch
- stateful
- CodeBuild
- Lambda
- 유나인버거조인트
- access_log
- istio
- S3
- write back
- APIGateway
- 정보처리기능사
- Kubernetes
- CloudFormation
- EKS
- DaemonSet
- write Through
- 해킹송
- AWS
- Round Robin
- DNS
- cbt
- cloudwatch-agent
- Today
- Total
cloud bee
AWS cloudwatch-agent로 로깅하기 본문
오늘은 ec2 instance에서 발생하는 access log를 cloudwatch-agent로 로그를 수집할 것이다.
해당 다이어그램은 다음과 같다.
블로그 과정에서 필요로 하는 서비스 목록
✅ Amazon ec2( Amazon Elastic Compute Cloud )
✅ IAM ( Identity and Access Management )
✅ Amazon CloudWatch
블로그 실습 조건
✅ amazon console account
✅ region: ap-northeast-2( 서울 리전 )
Amazon Web Service Steps
Step1. Create vpc for 10.0.0.0/16 band
Step2. Create a public subnet with availability zone a
Step3. Basic networking settings
Step4. Create a Role in Identity and Access Management
Step5. Create and set up an ec2 instance
Step6. Cloud Watch Logging Results Viewed
Step1. Create vpc for 10.0.0.0/16 band
VPC console Link!: https://console.aws.amazon.com/vpc
이름 태그는 demo-vpc로 지정한다.
IPv4 CIDR은 다음과 같이 지정한다. 10.0.0.0/16
그 이외 값은 기본값으로 세팅해 준다.
Step2. Create a public subnet with availability zone a
이제 subnet mask를 생성해 준다. 이 서브넷 마스크도 vpc 콘솔에서 생성하도록 한다.
서브넷의 이름은 다음과 같이 지정해 준다. demo-a
availability zone은 다음과 같이 지정한다. ap-northeast-2a
IPv4 CIDR 블록은 다음과 같이 지정한다. 10.0.0.0/24
(선택사항)
Step3. Basic networking settings
인터넷 게이트웨이를 생성하고 vpc에 연결해 준다.
라우팅 테이블을 생성해 준다. Name: pub
subnet에 demo-a를 연결하고, 라우팅에 인터넷 게이트웨이를 추가해 준다.
Step4. Create a Role in Identity and Access Management
Identity and Access Management에서 역할을 생성하기 위해 아래 콘솔에 접속해 준다.
IAM console Link!: https://console.aws.amazom.com/iam
역할 > 역할 만들기를 선택해 준다.
신뢰할 수 있는 엔터티 유형에서 AWS 서비스를 선택해 준다. 사용사례는 EC2로 선택한다.
CloudWatchAgentAdminbPolicy라는 권한을 선택한 후 역할 이름을 cloudwatch-access로 지정해 준다.
Step5. Create and set up an ec2 instance
아래 ec2 콘솔창을 열어 ec2 instance 생성단계를 진행해 준다.
ec2 console Link!: https://console.aws.amazon.com/ec2
( 선택 사항 ) demo-host에 필요한 보안그룹을 생성한다. 인바운드 규칙 22
인스턴스 > 인스턴스 시작 단계를 진행하여 ec2 instance를 생성한다.
이름은 demo-instance로 지정하고, AMI를 Amazon Linux로 설정해 준다.
이후 t2.micro를 선택하고, 키페어를 선택해 준다( 선택 사항 ).
* 사용자 데이터는 다음과 같이 지정해 준다.
#!/bin/bash
yum install httpd -y
yum install amazon-cloudwatch-agent -y
cat << EOF > /opt/aws/amazon-cloudwatch-agent/bin/config.json
{
"agent": {
"metrics_collection_interval": 10,
"logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
"run_as_user": "root"
},
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/httpd/access_log",
"log_group_name": "/aws/ec2/access",
"log_stream_name": "log_{instance_id}",
"timezone": "Local"
}
]
}
}
}
}
EOF
/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
systemctl restart httpd
file_path | Log가 위치한 파일 경로이다. |
log_group_name | cloudwatch 로그그룹 이름이다. |
log_stream_name | cloudwatch 로그스트림 이름이다. |
Step6. Cloud Watch Logging Results Viewed
cloudwatch에서 로그 그룹과 로그 스트림을 확인해 본다.
cloudwatch console Link!: https://console.aws.amazon.com/cloudwatch
'AWS > data' 카테고리의 다른 글
S3와 EMR을 활용하여 데이터 변환작업 구성 (0) | 2023.01.10 |
---|---|
sqs + cloudwatch로 안전하게 인스턴스 관리하기 (0) | 2023.01.09 |
csv data athena 쿼리 (0) | 2023.01.07 |
kinesis data analyfice flink 실습 (0) | 2022.10.24 |