반응형
Jen'_'
Jen's Space
Email
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • Ansible (4)
      • 우아한앤서블 (4)
    • Cloud (19)
      • AWS (17)
      • GCP (2)
    • DevOps (40)
      • Docker (6)
      • Kubernetes (26)
      • CICD (6)
      • Terraform (2)
    • Language (13)
      • Python (12)
      • Node.js (1)
    • Linux (10)
    • etc. (7)
    • 개인기록 (1)
    • AEWS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 피드백 환영합니다 :)

인기 글

태그

  • Docker
  • gitops
  • INGRESS
  • Kubernetes
  • jenkins
  • k8s
  • vagrant
  • ubuntu
  • argocd
  • 쿠버네티스
  • EKS
  • AWS
  • autoscaling
  • ansible
  • 자격증
  • 우아하게앤서블
  • terraform
  • ALB
  • karpenter
  • CICD

최근 댓글

Jen'_'

Jen's Space

[ubuntu] AWS CLI 설치 및 EC2 생성 ssh접속
Cloud/AWS

[ubuntu] AWS CLI 설치 및 EC2 생성 ssh접속

2021. 5. 5. 00:19
반응형

 

sources.list 변경

우분투를 설치할때 지역을 한국으로 설정하고 언어를 한국어로 설정하면  /etc/apt/sources.list에 빨간색으로 http://kr.archive.ubuntu.com/ubuntu/로 나온다. 

이러면 간혹 설치할 수 없다고 오류가 뜨거나 저장소에서 해당패키지에 대한 정보를 가지고 있지 않아 오류가 뜬다http://kr.archive.ubuntu.com/ubuntu/ -> http://ftp.daumkakao.com/ubuntu/로 변경 해줘야 한다

 

$ sudo /etc/apt/sources.list
:%s/kr.archive.ubuntu.com/ftp.daumkakao.com

명령어로 문자열을 치환해주자!

 

$ sudo apt-get update

업데이트가 정상적으로 된다 

 

python 설치 

ubuntu minimal에 python이 설치가 안되어 있으므로 먼저 설치해 줍시다 

그리고 pip로 aws-cli 설치

 

$ sudo apt install python-pip
$ pip install --upgrade --user awscli
$ sudo apt install unzip
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ sudo ./aws/install

 

ssh 활성화

ssh가 이미 설치되어 있지만 활성화 상태는 아니다.

keygen으로 키를 생성해야 활성화 시킬 수 있다.

$ sudo ssh-keygen -A
$ sudo service ssh start
$ sudo vi /etc/ssh/sshd_config
PasswordAuthentication yes
no -> yes 로 수정하고 저장하고 나온다

$ sudo service ssh restart

 

AWS IAM

aws 리소스를 사용할 수 있는 사용자를 만들어야 한다

기존 정책 직접 연결 > AdministratorAccess 정책 추가 하면 모든 권한이 들어간다

그렇게 생성한 생성자의 .csv 파일을 다운받아 id와 secret key를 저장해 놓자 

 


aws cli 설정 

설정

$ aws configure

저장한 id와 secret key를 입력, 그 다음 리전 선택, 서울리전은 ap-northeast-2 이다.

output format은 엔터로 넘어가도됨.

AWS Access Key ID [None]:
AWS Secret Access Key [None]:
Default region name [None]:
Default output format [None]:

 

VPC 확인 명령어 

지금은 기본 vpc밖에 없는데 vpc-id 를 적어 놓자

$ aws ec2 describe-vpcs

 

보안그룹

보안그룹 생성 명령어

$ aws ec2 create-security-group  --group-name <보안그룹이름>  --description "<설명>"  --vpc-id <기본 vpc-id>

ex) aws ec2 create-security-group  --group-name HelloWorld  --description "Hello World Demo"  --vpc-id vpc-d29711b9

 

인바운드 규칙 넣기

$ aws ec2 authorize-security-group-ingress --group-name <보안그룹이름>  --protocol <프로토콜종류> --port <포트번호> --cidr <허락ip>

ex) aws ec2 authorize-security-group-ingress --group-name HelloWorld  --protocol tcp --port 22 --cidr 0.0.0.0/0

 

생성한 보안그룹 확인

$ aws ec2 describe-security-groups --group-name <보안그룹이름> --output text

ex) aws ec2 describe-security-groups --group-name HelloWorld --output text

 

 

키페어 생성

.ssh/ 하위에 키를 만들어야 한다

$ mkdir .ssh/

 

키 생성하고 .ssh/ 하위에도 저장

$ aws ec2 create-key-pair --key-name <키이름> --query 'KeyMaterial' --output text > ~/.ssh/<키이름>

ex) aws ec2 create-key-pair --key-name jenkey --query 'KeyMaterial' --output text > ~/.ssh/jenkey.pem

 

EC2 인스턴스 생성

$ aws ec2 run-instances --instance-type <인스턴스타입> --key-name <키이름> --security-group-ids <생성한보안그룹의id> --image-id <이미지id>

ex) aws ec2 run-instances --instance-type t2.micro --key-name jenkey --security-group-ids sg-0feef5e8cdd81921b --image-id ami-0f2c95e9fe3f8f80e

 

ssh 접속

권한이 너무 많으면 ssh 접속이 안됨

$ chmod 400 .ssh/<키이름>

ex) chmod 400 .ssh/jenkey.pem

 

인스턴스의 퍼블릭 DNS 주소 확인 

$ aws ec2 describe-instances --instance-ids <인스턴스id>  --query "Reservations[*].Instances[*].PublicDnsName"

ex) aws ec2 describe-instances --instance-ids i-0cb4863fcb351b89f  --query "Reservations[*].Instances[*].PublicDnsName"

 

키페어 이용해서 ssh 접속

$ ssh -i ~/.ssh/<키이름> ec2-user@퍼블릭dns주소 or 퍼블릭ip

ex) ssh -i ~/.ssh/jenkey.pem ec2-user@ec2-13-209-21-109.ap-northeast-2.compute.amazonaws.com

 

 

접속완료!

[ec2-user@ip-172-31-33-49 ~]$

 

 

 

반응형
저작자표시 (새창열림)

'Cloud > AWS' 카테고리의 다른 글

[AWS] Route53 프라이빗 호스팅 영역 실습  (0) 2021.05.05
[AWS] 실습 AWS와 온프레미스간 VPN 통신  (0) 2021.05.05
[AWS] 외부 무료 도메인 Route53 등록 방법, 장애 조치 라우팅 설정 방법  (2) 2021.05.03
[AWS] 사용자지정 VPC 만들어서 Public, Private 서브넷 만들기  (0) 2021.04.30
[AWS] EC2 사용해서 아파치 웹서버 만들기  (0) 2021.04.30
    'Cloud/AWS' 카테고리의 다른 글
    • [AWS] Route53 프라이빗 호스팅 영역 실습
    • [AWS] 실습 AWS와 온프레미스간 VPN 통신
    • [AWS] 외부 무료 도메인 Route53 등록 방법, 장애 조치 라우팅 설정 방법
    • [AWS] 사용자지정 VPC 만들어서 Public, Private 서브넷 만들기
    Jen'_'
    Jen'_'
    DevOps 엔지니어 Jen의 기술 블로그 / 이메일: jenakim47@gmail.com

    티스토리툴바