인스턴스 만들기
aws08-exercise-instance
내 AMI
aws08-exercise-image
키페어
aws08-key
보안그룹
SSH,WEB
AWS Secrets Manager : AWS에서 제공하는 비밀 값 관리 서비스
먼저 보안자격증명에 권한추가를 해야함
권한추가 - 기존 정책 직접 연결
SecretsManagerReadWrite , AWSKeyManagementServicePowerUser 권한 추가
Secrets Manager - 새 보안암호저장
다른 유형의 보안 암호
admin_password // p@$%^
aws08-production/aws-exercise
자동교체비활성화
=======================
■ 비밀 사용하기
SSH로 인스턴스 접속
cd /var/www
rm -rf aws-exercise-a/
git clone https://github.com/deopard/aws-exercise-a.git
cd aws-exercise-a/
git checkout secrets-manager
vi app.js
액세스키,시크릿 액세스키 입력해주고
npm install
sudo service nginx restart
인스턴스 공개키를 도메인주소에 입력하면
결과값이 나옴
======================
■ AWS CloudWatch
AWS CloudWatch는 AWS에서 제공하는 AWS 내 자원과 애플리케이션에 대한
모니터링 및 관리 서비스다.
모든 로그와 지표 정보들을 수집해서 난운에 볼 수 있도록 시각화하는 모니터링 서비스의 역할을 한다
※ ASG : AutoScaling Group의 약자
■ CloudWatch 지표
먼저 보안자격증명에 권한추가를 해야함
CloudWatchEventsFullAccess 권한 추가
SSH로 인스턴스 접속
aws configure
AWS Access Key ID [None]: AKIATX2F25H7WE3ZT4EZ
AWS Secret Access Key [None]: ~~~
Default region name [None]: ap-northeast-2
Default output format [None]: json
aws sts get-caller-identity
{
"Account": "257307634175",
"UserId": "AIDATX2F25H72GORUXTOY",
"Arn": "arn:aws:iam::257307634175:user/aws08"
}
vi test_data.json
https://git.io/JeMFH 에서 코딩값복사해서 붙혀넣기
날짜는 수정해서 저장
aws cloudwatch put-metric-data --namespace "AWS08 Exercise People" --metric-data file://test_data.json
지표확인해보기
실습 환경 정리
cd /var/www
rm -rf cloudwatch-custom/
================================
■ CloudWatch Agent로 메모리, 디스크 사용량 지표, 로그 기록
인스턴스에 IAM 역할 추가
역할추가 AWS 서비스, EC2 - 다음
CloudWatchAgentServerPolicy 정책추가 - 다음
aws08-exercise-cloudwatch-agent-service-role
역할 생성
인스턴스로가서 보안 - IAM 역할 연결/바꾸기
SSH로 인스턴스 접속
cd /var/www
sudo yum install amazon-cloudwatch-agent -y
sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard
1 - 1 - 2 - 2 - 1 - 2 - 1 - 2 - 4 - 1 - 2 - 2 - 2
sudo amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
sudo amazon-cloudwatch-agent-ctl -m ec2 -a status
CloudWatch - 지표 - CWAgent - Imageld, Instanceld, InstanceType 지표확인
==========================
■ CloudWatch Log에 로그 적재
로그그룹생성 - aws08-exercise-nginx-access-logs
sudo vi /opt/aws/amazon-cloudwatch-agent/bin/config.json
agent 아래에 추가하기
"logs": {
"logs_collected": {
"files": {
"collect_list":[
{
"file_path": "/opt/nginx/logs/access.log",
"log_group_namd": "aws08-exercise-nginx-access-logs",
"log_stream_name": "{instance_id}"
}
]
}
}
},
sudo amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s
sudo service nginx restart
===============================
■ Vagrant 설치
vagrant : 개발 환경 공유와 가상 머신 관리를 위한 커맨드라인 도구
Windows I686 다운로드
설치할때 next로 그냥 설치
재부팅
=============================
Terraform(테라폼) - AWS작업
Ansible(앤서블) - VirtualBox VM
Vagrant(베이그란트) - 가상머신 관리
■ Ansible 작업 환경 구축 연습해보기
Ansible은 리눅스에서만 작업가능
vagrant로 윈도우에서 가상머신 만든후에 Ansible로 작업
Windows PowerShell에 들어가서
cd c:\HashiCorp\
Visual Studio Code켜서 파일 - 작업영역에 폴더추가 - C 드라이버에 HashiCorp 추가
vagrant init // vagrant 사용하겠다고 선언
확장팩에 Ansible , YAML 설치
https://github.com/s4616/aws02/blob/main/02-ansible/first/Vagrantfile 들어가서
복사해서 Visual Studio Code에 Vagrantfile에 붙혀넣기
Windows PowerShell에 vagrant up 치면 Ansible 다운로드 됨
vagrant destroy 로 구축환경제거
============================
■ SSH를 사용해서 Git hub 원격접속해보기
c드라이브 사용자 .ssh폴더에
config를 메모장에 옮겨서
Host github.com
User git
IdentityFiile ~/.ssh/git_client
저장하고
.ssh폴더에 우클릭 Git bash here켜서
ssh-keygen -t ed25519 -C "cjstkehddn11@naver.com"
git_client
엔터
깃허브가서 setting
SSh and GPG keys
new ssh key
이름 : git_client
.ssh 폴더에 git_client.pub를 메모장에옮겨서 나온 공개키를 복사해서 키값에 넣기
Git bash here가서
ssh -T github.com
cd c:/HashiCorp/
git init // 로컬저장소로 지정
※ 연습
HashiCorp 폴더에 .gitignore Git Ignore형식의 파일 만들기
파일안에 HashiCorp폴더에있는 .git폴더를 제외한 폴더를 삽입후 저장
Git bash here켜서
git config --global user.name "Ryu-dongwoo"
git config --global user.email "cjstkehddn11@naver.com"
git config --global --add safe.directory C:/HashiCorp
git remote add origin git@github.com:Ryu-dongwoo/ansible.git
└ origin 뒤에값은 깃허브에 ansible들어가서 ssh주소 복사해서 넣기
git add Vagrantfile
echo "# ansible" >> README.md
git add README.md
git commit -m "first commit"
git branch -M main
git push -u origin main