AWS 작업을 위한 전제 조건

hyeokjin·2022년 8월 21일
0
post-thumbnail

AWS CLI

AWS 서비스를 관리하는 통합도구 AWS CLI (명령줄 인터페이스) 설치
( https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html 참고)

// 다운로드 패키지 파일 이름 저장
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

// 압축풀기
unzip awscliv2.zip

// 설치 디렉토리의 기본 프로그램 경로 지정, 모든 파일을 복사할 디렉토리 지정, 현재 설치 업데이트
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update

// 디렉토리 위치확인
which aws

// 심볼릭 링크 확인
ls -l /usr/local/bin/aws

// 설치 확인
aws --version

Kubectl

쿠버네티스 클러스터와 통신하고 상호 작용할 수 있는 도구 kubectl 설치
( https://kubernetes.io/docs/tasks/tools/#install-kubectl 참고)

// 최신 릴리스 다운로드
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

// (선택사항) 바이너리 유효성 검사
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
// 체크섬 파일에 대해 kubectl 바이너리의 유효성을 검사
echo "$(cat kubectl.sha256)  kubectl" | sha256sum --check

// kubectl 설치
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

// 루트 액세스 권한이 없는 경우 권한부여 후 디렉토리 이동
chmod +x kubectl
mkdir -p ~/.local/bin
mv ./kubectl ~/.local/bin/kubectl

// 최신 버전인지 테스트
kubectl version --client

IAM Authenticator

쿠버네티스 클러스터에 대한 인증을 제공하는 도구 IAM Authenticator 설치
( https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html 참고)

// aws-iam-authenticator 하드웨어 플랫폼용 Amazon S3에서 Amazon EKS 판매 바이너리를 다운로드
curl -o aws-iam-authenticator https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/aws-iam-authenticator

// (선택사항) 하드웨어 플랫폼에 대해 동일한 버킷 접두사에 제공된 SHA-256 합계로 다운로드한 바이너리를 확인
// 시스템에 대한 SHA-256 합계를 다운로드
curl -o aws-iam-authenticator.sha256 https://s3.us-west-2.amazonaws.com/amazon-eks/1.21.2/2021-07-05/bin/linux/amd64/aws-iam-authenticator.sha256
// 다운로드한 바이너리의 SHA-256 합계를 확인
openssl sha1 -sha256 aws-iam-authenticator

// 바이너리에 실행 권한을 적용
chmod +x ./aws-iam-authenticator

// PATH 경로에 바이너리 폴더를 복사한다. PATH 경로에 첫번째로 $HOME/bin 경로가 오도록하고, $HOME/bin/aws-iam-authenticator 경로에 생성한다.
mkdir -p $HOME/bin && cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=$PATH:$HOME/bin

// PATH 환경변수에 $HOME/bin 추가
echo 'export PATH=$PATH:$HOME/bin' >> ~/.bashrc

// aws-iam-authenticator바이너리가 작동하는지 테스트
aws-iam-authenticator help

Eksctl

AWS 계정 내 AWS EKS 클러스터를 관리하고 생성하는 간단한 명령줄 유틸리티
( https://docs.aws.amazon.com/eks/latest/userguide/getting-stated-eksctl.html 참고)

// eksctl verstion 확인
eksctl version

// eksct lLinux에서 설치 또는 업데이트
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp

// 추출된 바이너리를 /usr/local/bin 이동
sudo mv /tmp/eksctl /usr/local/bin

// 설치확인
eksctl version

AWS configure

AWS CLI configure 구성
( https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html 참고)

// configure 구성실행
aws configure

// AWS에서 credentials 생성 후 아래 셋팅
AWS Access Key ID [None]: AKIA2YWMxxxxxx
AWS Secret Access Key [None]: ikUkSv2HGAxxxxxxxxxxxxxxxxxxxxxxxx
Default region name [None]: ap-northeast-2
Default output format [None]: json

// 프로필만들어서 사용가능
aws configure --profile 프로필명

// 해당 이름으로 저장된 자격증명 및 설정을 지정하고 사용가능
aws s3 ls --profile 프로필명

// 세팅이 완료된 경우에는 Default쪽에 설정되어 있는지 확인
cat ~/.aws/credentials 

// 현재 설정된 사용자가 누구인지 확인하려면 아래의 명령어를 통해 확인
aws sts get-caller-identity

AWS CLI를 사용한 Kubernetes 클래스터 구성이나. Minikube 이용한 클러스터 구성시에 필요한 셋팅들을 간단히 정리 해봤다.

아래는 클러스터 구성 후 각종 확인 명령어다

// 클러스터가 올바르게 구성되었는지 확인 (kubectl 구성은 ~/.kube/config 에 있다.)
kubectl cluster-info

// 클러스터에 등록된 모든 서비스 리스트
kubectl get svc --all-namespaces

// 클러스터에 등록된 컨네이너 그룹인 파드 확인
kubectl get pod

// 클러스터 서비스 삭제
kubectl delete svc kafka

//  클러스터 삭제
eksctl delete cluster --name ostock-dev-cluster

활성 -> 삭제 중 -> 클러스터 없음이 표시된다.

profile
노옵스를향해

0개의 댓글