[AWS] IAM(Identity and Access Management) IAM AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 웹 서비스 고객이 AWS에서 사용자와 사용자 권한을 관리할 때 사용할 수 있는 서비스다. IAM을 사용한 리소스 액세스 관리 ** 리소스는 사용자가 작업을 수행할 수 있는 AWS 계정의 엔터티 ex) EC2, S3 리소스에 액세스 할 수 있는 사용자를 관리 할 수 있다. 액세스 할 수 있는 리소스와 사용자가 리소스에 수행할 수 있는 작업을 관리할 수 있다. 리소스에 액세스할 수 있는 방법을 관리할 수 있다. IAM 필수 구성 요소 IAM 사용자 (User) : AWS 계정으로 인증할 수 있는 사람 또는 애플리케이션 IAM 사용자를 생성할 때, 사용자가 사용할 수 있는 ..
[AWS] Network ACL, Security Group AWS의 보안 설정 기능인 ACL과 SG의 차이점을 알아보기 전 간단하게 방화벽 규칙에 대해서 알아보자 인바운드 (inbound) 서버 내부로 들어오는 것 클라이언트 --> 서버 (외부에서 EC2 인스턴스로 들어오는 트래픽) ex) 클라이언트가 업로드할 때 아웃바운드 (outbound) 서버 바깥으로 나가는 것 서버 --> 클라이언트 (EC2 인스턴스에서 외부로 나가는 트래픽) ex) 클라이언트가 다운로드 할 때 ACL (Access Control List) 서브넷 수준에서 작동하는 방화벽 별개의 인바운드 및 아웃바운드 규칙이 있으며 각 규칙은 트래픽을 허용하거나 거부 할 수 있다. 기본 네트워크 ACL은 인바운드 및 아웃바운드 트래픽을 모두 ..
[GCP] 사용자 인증 정보 받기 AWS Access Key처럼 GCP에도 Credetials이 있다. 1. GCP 콘솔에서 Credentials 검색 2. 서비스 계정 생성 권한이 필요한 리소스에 대한 액세스 권한을 부여한다. 나같은 경우엔 Artifact Registry에 대한 권한이 필요해서 권한을 부여했다. 3. JSON KEY 생성 생성한 서비스 계정에 키 카테고리를 들어가면 Key를 생성할 수 있다. Key는 JSON 형식과 P12 형식 두 가지로 다운 받을 수 있으며, 나는 JSON Key를 선택 키를 추가하면 아래와 같이 활성화된다. 참조 https://medium.com/google-cloud/how-to-push-docker-image-to-google-container-registry..
[GKE] Some backend services are in UNHEALTHY state Ingress를 구성하는 중, 자꾸 백엔드에서 UNHEALTHY state가 발생하며 서버에 접근이 안됐다. NLB, Nodeport 다 접근이 되는데 Ingress만 UNHEALTHY라고 하니까 아주 미칠 노릇 🙄🙄 서버의 오류 메시지도 404,504 같은게 상태 코드를 보여주는게 아니라 그냥 30초있다가 재시도해보라는 이상한 솔루션만 제시 🤬 원인은 백엔드 서비스 즉 nodeport의 상태가 비정상이라서 그렇다고하는데 아무리봐도 노드포트의 상태가 비정상이면 노드포트로 접속이 안될것같은데 노드포트로는 잘 접속이 되니 .... 대체 뭐가 문제지하면서 머리를 싸맸다😂 아무래도 국내에는 gcp에 대한 자료가 얼마 없다..
[GCP] Artifact Registry 도커 이미지를 GCP의 이미지 저장소에 Push 하려고 알아보니, 기존 구글의 Container Registry는 지원이 중단 되었고, 2024년 5월 15일 이후에는 Artifact Registry만 지원한다고 한다. 내가 못찾은 건지는 모르겠는데 Container Registry는 신규 저장소 생성이 안되는 것 같음 Artifact Registry Docker 컨테이너 이미지를 저장하고 관리하기 위한 저장소 Cloud Build를 이용해 Google Cloud Cl/CD 서비스 또는 기존 CI/CD 도구와 통합할 수 있음 또한 컨테이너 분석을 사용하여 컨테이너 메타 데이터를 관리하고 컨테이너 취약점을 스캔 저장소 생성 나는 Google Cloud의 CI/CD..
[AWS] AWS CLI를 사용해 SQS 대기열 관리하기 AWS CLI를 통해서 SQS 대기열을 제어하고 관리할 수 있다. 다음은 많이 사용 할 수 있는 CLI 명령어들이다. 현재 리전에서 사용 가능한 모든 대기열 나열 aws sqs list-queues 접두사가 일치하는 대기열 나열 aws sqs list-queues --queue-name-prefix "prefix" SQS 대기열 생성 + 태그 추가 aws sqs create-queue --queue-name my-sqs-using-cli-with-tag --tags "env"="test" 속성 지정도 가능 aws sqs create-queue --queue-name my-sqs-using-cli-with-attribute \ --tags "env"..
[AWS] SQS 모니터링 SQS 메시지 대기열을 모니터링 하는 방법은 다음과 같다. 아래는 공식 Document https://docs.aws.amazon.com/ko_kr/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-logging-monitoring.html Amazon SQS 로깅 및 모니터링 - Amazon Simple Queue Service 이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오. docs.aws.amazon.com SQS및 CloudWatch는 통합되므로, SQS 대기열에 대한 지표를 보고 CloudWatch를 분석하는 데 사..
[GCP] GKE로 웹 애플리케이션 배포 (2) 1. 웹 애플리케이션 생성 2. Docker Image 생성 3. 생성 한 Docker Image로 Deployment 생성 4. NodePort 열어줌 5. Ingress Controller를 사용하여 경로 지정 지난 포스팅에서 1번과 2번 과정까진 완료했다. https://heywantodo.tistory.com/118 [GCP] GKE로 웹 애플리케이션 배포 (1) [GCP] GKE로 웹 애플리케이션 배포 (1) GKE로 웹 애플리케이션을 배포하는 과정은 다음과 같다. 1. 웹 애플리케이션 생성 2. Docker Image 생성 3. 생성 한 Docker Image로 Deployment 생성 4. NodePort 열어줌 5. Ingres heywant..
[GCP] GKE로 웹 애플리케이션 배포 (1) GKE로 웹 애플리케이션을 배포하는 과정은 다음과 같다. 1. 웹 애플리케이션 생성 2. Docker Image 생성 3. 생성 한 Docker Image로 Deployment 생성 4. NodePort 열어줌 5. Ingress Controller를 사용하여 경로 지정 1. 웹 애플리케이션 생성 Python의 Flask 모듈을 사용하여 간단한 웹 애플리케이션을 생성해준다. app.py from flask import Flask app = Flask(__name__) @app.route('/') def root(): return 'hello, gke' @app.route('/test') def test(): return 'This is a test page..
[GCP] GKE 사용해보기 GKE 클러스터 생성은 아래 포스팅에서 확인 https://heywantodo.tistory.com/116 이제 생성한 클러스터에 연결해보자, 연결 또한 매우 간단하다. 콘솔에서 연결을 클릭 연결을 클릭 후 CLOUD SHELL에서 실행을 선택 그럼 CLOUD SHELL에 자동으로 명령어가 입력되고 명령어를 실행시켜주면 됨 Kubectl get nodes 명령어를 통해 Node 확인 Pod 생성 테스트 kubectl run test --image=nginx kubectl get pods kubectl expose pod/test --type="NodePort" --port 80 --target-port=80 --protocol="TCP" kubectl get svc kubec..
[GCP] GKE 클러스터 생성해보기 ⚠ 무료 평가판 Credit 계정을 사용하고 있기 때문에, 환경이 제한적이다 GKE 시작하기 GKE는 AWS나, Azure와 같은 다른 클라우드 관리형 서비스에 비해 굉장히 생성이 간단하고 쉬운편이다. 먼저 프로젝트를 생성해준 후, Kubernetes Engine API를 사용하도록 설정한다. 프로젝트는 아래 링크를 통해 생성 또는 선택 가능 https://console.cloud.google.com/projectselector2/home/dashboard Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 콘솔 시작화면에서 컨테이너화된 앱 만들기를 클릭한 후, Kubernetes Engine API 사용을 클..
[GCP] GKE (Google Kubernetes Engine) GKE(Google Kubernetes Engine)? Google 인프라를 사용하여 컨테이너화된 애플리케이션을 대규모로 배포 및 운영하는데 사용할 수 있는 관리형 Kubernetes 서비스이다. GKE 작동 방식 GKE 환경은 그룹화되어 클러스터를 형성하는 VM인 노드로 구성됨 앱을 컨테이너로 패키지화 한 후 컨테이너 모음을 노드에 Pod로 배포함 쿠버네티스 클러스터에서는 Kubernetes API 서버와 같은 시스템 구성 요소를 실행하는 제어 영역이라는 관리 노드 집합이 있음 쿠버네티스에 대한 자세한 설명은 아래 포스팅을 참고 https://heywantodo.tistory.com/22 [K8s] 쿠버네티스(Kubernetes)의 이해..