access Key 발급(보안을 위함)
루트 계정 접속 → security → create Access Key → Description 설정 후
CSV 다운(필수!! 한 번 나가면 (= Done) 하면 안 뜸)
CLI 설치
1. AWS CLI 설치
● Powershell을 관리자 권한으로 실행 후 코드 넣기
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
● powershell 재접속 후 버전 확인 * 깔고 바로 하면 오류가 나와서 재부팅함
aws --version
[공식 링크]
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html
2. AWS CLI 설정하기
● 아래의 사이트에서 명령 구성을 Long-term으로 선택
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-quickstart.html
● 아까 다운로드한 CSV파일(Access Key)
- AWS Access Key ID : CSV 파일의 ID
- AWS Secret Access key : CSV 파일의 Access Key
- Default region name : ap-northeast-2 (서울)
- Default output format : 형태
3. VSCode 연동(extension 설치)
● extension 설치 후 → 밑에 웃음모양 확인 → Explorer → Edit Credentials
● Access Key와 Key Id 확인 → explorer에 Asia Pacific(Seoul)인지 확인
4. AWS 웹에서 확인
● S3 검색 후 즐겨찾기 후 접속
● 옆 툴바에서 Buckets를 클릭
● AWS 기본적인 서비스 3가지 : IAM, S3, EC2
- IAM : 권한&계정 관리 서비스(인식, 접속 등)
* 권한(Roles), 계정(Users), 정책(Policies)
- S3 : 하드디스크보다 안정화된 객체 스토리지 서비스(내구성이 좋음)
- EC2 : 인스턴스 서비스
● 이름과 태그만 적고 bucket 생성하기
- 이름은 유일한 이름이어야 함
● 만든 Buckets를 클릭하여 접속 및 수정
● Create folder를 통해 폴더 생성하는 법
* 주로 실무에서 일을 할 때 데이터 수집을 일 단위, 시간 단위로 하는 편.
* 그냥 year/month/day 로 폴더들을 만들지 말고 정확히 명세해주기
* year=2024 또는 service=Web 등 기능이나 연도를 키, value 형태로 폴더명 정해주기
* service=etl : 데이터 수집
5. PowerShell로 확인/만들기(use CLI command)
● 확인 : ls
● 생성 : aws s3 mb s3://버킷명
*mb : make bucket, 이전에 1개 였던 bucket이 2개로 늘어남 * VS코드에서도 확인 가능
● C:/사용자/user/.aws에서 수정 가능(그렇기에 개인 컴퓨터가 아닌 경우 사용하고 반드시 지워야함)
aws s3 ls
aws s3 mb s3://버킷명
AWS 프리티어
○ 항상 무료 : 언제나 월별 일정 사용량은 무료
● AWS Lambda : 월 100만 요청 무료
● Amazon CloudFront : 월 1TB 트래픽 무료, HTTP/HTTPS 천만건, CloudFornt 함수 200만건 무료
● Amazon DynamoDB(NoSQL DB 서비스) : 월 25GB 저장공간, 월별 2억개 처리 용량 무료
○ 12개월 무료 : AWS 계정 생성 후 12개월동안만 적용되는 혜택
● Amazon EC2 t3/t2.micro : 월 750시간 무료
● Amazon RDS t2/t3/t4g.micro : 월 750시간 무료
○ 무료평가 : 사용을 시작한 후 일정 기간 혹은 일정 사용량 사용 이후부터 요금을 청구하는 방식
● Amazon QuickSight(AWS BI 시각화 툴): 처음 30일 무료
● Amazon Lightsail(AWS의 컴퓨팅 파워를 쉽고 빠르게 프로비전): 처음 3개월, 월 750시간 무료
● Amazon Chime(AWS의 커뮤니케이션 툴): 30일 동안 PRO 티어 무료
○ 자주 사용하는 서비스들
● Amazon SQS : Queue, Stack 같은 자료 구조 사용할 때 쓰는 서비스(LIFO, FIFO 등)
● Amazon CloudFront : static 파일을 클라우드에게 제공하는 서비스
● AWS CloudFormation : 서비스를 구축하는 서비스
● Amazon CloudWatch : 서비스의 문제 발생 여부, 문제 발생 시 알림을 전달하는 모니터링 서비스
● Amazon Route 53 : 도메인, 앱 등 오토 스케일 제공 서비스
● Amazon SNS : 큐를 통해서 오류메세지가 들어오면 SNS로 이메일, 문자 등으로 전달하는 서비스
● AWS Systems Manager : 각 서비스마다 ID,PW 등 관리해야하는 데이터를 관리해주는 서비스
● AWS CloudTrail : 배포할 때 사용
[다른 서비스들]
○ 컨테이너 서비스들
● Amazon EKS
● Amazon ECS/ECR
● AWS Fargate
○ Serverless 서비스
● AWS Lambda
● Amazon DynamoDB
● Amazon API Gateway
● Amazon SQS
● AWS Step Functions
● Amazon EventBridge
● AWS AppSync
● Amazon CloudFront
○ DevOps/인프라 관리 서비스들
● AWS IAM
● AWS CloudFormation
● AWS CloudTrail
● AWS Organizations
● AWS CodePipeline
● AWS Config
● AWS Health Dashboard
● AWS CDK
○ 보안 서비스들
● AWS IAM
● AWS CloudTrail
● AWS Firewall Manager
● Amazon Detective
● AWS Shield
● AWS Security Hub
● AWS WAF
● AWS Network Firewall
○ 네트워크 서비스들
● Amazon VPC
● AWS PrivateLink
● AWS Transit Gateway
● Amazon Route 53
● AWS Site-to-Site VPN
● Amazon CloudFront
● AWS Global Accelerator
● AWS Direct Connect
○ 프리티어 현재 사용량 확인
EC2
● 컴퓨터 하나하나를 인스턴스라고 함. 빌린 컴퓨터라 생각하면 편함
● EC2 검색 후 접속 & Instances로 가기
● Launch instance하여 Instance 생성
- 이름(사용하는 서비스로 적어두면 좋음) : e.g. Django WebService 등
- OS 설정해주기(OS Images) : Quick Start | Browser 더 찾기 해서 원하는 서비스 고르기
* Ubuntu Server 24.04 LTS(Long Term Support) 선택함
- 컴퓨터 스펙 정해주기(Instance type) : Compare instance types를 클릭해서 원하는 스펙 선택
- ID/PW 설정하기(Key Pair)
: RSA 타입, .pem 형식으로 이름을 입력 후 create → 파일이 저장됨
- 어떤 네트워크에 접속해야 하는 지 설정(Network Settings)
: edit 클릭 → Security group 이름 및 Description 설정 →
* 기본 포트 번호 : ssh port : 22 http port: 80 https port : 443
- Storage 설정 및 Launch instances 클릭 → Instances로 가서 리프레쉬 후 확인
* running을 해야 사용가능
○ 접속하기
● 방법 1. Connect 버튼 클릭 → 아무것도 손 대지말고 Connect → 해당 컴퓨터 접속됨
- Private IP 주소와 콘솔창에 ubuntu@ip- 뒤에 주소가 같으면 정상 출력된것
● 방법 2. Git Bash
- Security Groups 클릭 → 확인 → Key pairs에서 이전에 입력한 Key pairs 존재 확인
- Git Bash 실행 → 홈 디렉터리인지 확인(~인지) If 아니면 cd 입력 *홈 디렉토리에서 진행해야함!
- 홈디렉토리에 identity라는 폴더를 생성 & 확인(파일이 현재 없는 게 정상)
mkdir -p ~/identity
ls
- KeyPair 파일 옮기기(이전에 했던 파일) 명령어
: Downloads 폴더에 pem 형식의 파일 전체 보기(다른 폴더에 있으면 있는 폴더 위치로 적어줘야함)
Downloads 폴더에 해당 pem을 ~/identity로 hello-ec2-keypair.pem 파일 옮기기
- Os에 설치(ssh-keygen) : 엔터 후 3번 엔터 후 확인
ls Downloads/*.pem
mv Downloads/hello-ec2-keypair.pem ~/identity/hello-ec2-keypair.pem
ls ~/identity
ssh-keygen -t rsa
ls ~/.ssh
- 에디터 모드 들어가기 → insert 모드로 접속(i 입력) →
* 조금이라도 틀리면 오류가 발생함 So, 붙여넣기 하기!!!
- Host 원하는 이름→ enter → HostName 하고 띄어쓰기 → Public IPv4 주소 붙여넣고 엔터
- User 하고 띄어쓰고 ubuntu → IdentityFile ~/Identity/아까 저장한.pem 파일
vim ~/.ssh/config
# i 입력하여 insert 모드로 접속
Host hello-ec2
HostName public IPv4address
User ubuntu
IdentityFile ~/identity/hello-ec2-keypair.pem
# esc를 눌러서 모드 변환 후
# 저장
: wq
# 확인
cat ~/.ssh/config
# 권한 주기
chmod 440 ~/.ssh/config
● 접속하기 (ssh 아까 호스트명) : 아까 Private 주소랑 같으면 정상 접속 된 것
ssh hello-ec2
# yes 누르기
# ubuntu 접속 후 확인
whoami
ls
pwd
# 나가기
exit
○ 삭제하기
● 웹에서 Network & Security → Security Groups → hello-sg → Inbound rules → Delete and Save rules
이 후 shell에서 ssh hello-ec2접속하면 에러가 나옴
● 다시 추가해주기
- Edit inbound rules를 통해 Type : SSH, Source 옆에 주소(연습을 위해 0.0.0.0/0 으로), Info 입력
shell에서 재접속해주기 : ssh hello-ec2(정상적으로 됨)
● 완전히 삭제하기 연습(순서 잘 지켜주기 : Instance → Security Groups → Key Pairs)
1. Instance 삭제 → Terminated 확인
2. Security Groups 삭제
3. Key-Pairs 삭제(Networks 쪽)
'Networks > aws' 카테고리의 다른 글
SK networks AI Camp - AWS & Docker 연결 (0) | 2024.08.14 |
---|---|
SK networks AI Camp - AWS + MySQL (0) | 2024.08.13 |
SK networks AI Camp - VS Code 연동 및 Elastic IP 설정 (0) | 2024.08.13 |
SK networks AI Camp - aws (0) | 2024.08.12 |