TheKoguryo's 기술 블로그
Version 2024.11.15
Home
OCI Release Notes
Archives
Tag
Feedback
Link
"Jit Provisioning" tag
2024-05-22
다른 Cloud Account의 Identity Domain를 인증서버 IdP로 추가하기
sso
identity domain
jit provisioning
이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.
Last updated on 29 Aug 2024
OCI(Oracle Cloud Infrastructure)
1. OCI 기본개념
1.1 Regions, Availability Domains
1.2 Fault Domains
1.3 Compartment
1.4 Virtual Cloud Network(VCN)
1.5 Bare Metal, Virtual Machine
1.6 클라우드 서비스 제공업체(CSP) 간 제공 서비스 매핑
2. OCI 서비스 시작하기
2.1 Oracle Cloud Free Tier 계정 생성
2.2 OCI Console 접속하기
2.3 OCI Console 사용하기
2.4 최초 Cloud Account(Tenancy) 구조
3. OCI Compute VM 사용하기
3.1 작업 Compartment 만들기
3.2 가상 네트워크 환경을 위한 VCN 만들기
3.3 SSH 접속을 위한 Key Pair 만들기
3.4 Linux 인스턴스 생성하기
3.5 Linux 인스턴스 접속하기
3.5.1 Linux, Mac 에서 접속하기
3.5.2 Windows에서 PuTTY로 접속하기
3.5.3 PEM <-> PPK 포맷 변경하기
3.5.4 Oracle Linux 8 on OCI에 VNC 서버 설정하기
3.6 하드 드라이브 같은 Block Volume
3.6.1 Block Volume 생성하기
3.6.2 Block Volume을 Instance에 장착하기
3.6.3 Block Volume에 연결하기
3.6.4 Block Volume 포맷하기
3.6.5 Block Volume 마운트하기
3.6.6 Block Volume 장착 해제하기
3.6.7 Block Volume 삭제하기
3.7 Block Volume 백업 활용하기
3.7.1 Block Volume 백업하기
3.7.2 백업으로 새 Volume 만들기
3.7.3 백업을 다른 Region으로 복사하기
3.7.4 정책 기반 Block Volume 백업하기
3.8 Boot Volume 백업 활용하기
3.8.1 Boot Volume 백업하기
3.8.2 백업으로 새 Boot Volume 만들기
3.8.3 Boot Volume으로 새 Instance 생성하기
3.9 비용 절감하기
3.9.1 Burstable Instances 사용하기
4. 고정 IP 할당을 위한 Reserved Public IP
4.1 Reserved Public IP 만들기
4.2 Reserved Public IP 할당하기
5. 방화벽 구성을 위해 Security Rules 적용하기
5.1 Linux 인스턴스에 Apache HTTP Server 설치
5.2 Default Security List 업데이트 하기
5.3 Custom Security List 추가하기
5.4 Network Security Group 추가하기
5.5 Apache HTTP Server 접속 테스트
6. 사용자 권한 설정을 위해 IAM 사용하기
6.1 Compartment
6.2 사용자 만들기
6.3 그룹 만들기
6.4 Policy 만들기
6.5 Policy 개념 잡기
7. Object Storage 사용하기
7.1 Bucket 생성하기
7.2 Bucket에 파일 올리기
7.3 Object 권한 관리 - 사전인증
7.4 Object 권한 관리 - Public Bucket
7.5 Public Bucket을 통한 정적 웹사이트 호스팅
7.6 CloudBerry Explorer를 통한 파일 업로드
7.7 수명주기를 통한 Archive 설정하기
8. 네트워크 파일 시스템인 File Storage 사용하기
8.1 File Storage 구성 예시
8.2 FSS를 Linux VM에 마운트하여 사용하기
8.3 접근 제어를 위한 Export Option
8.4 백업을 위한 스냅샷
9. Machine Image
9.1 기본 제공하고 있는 OS Image
9.3 Custom Image Export/Import
10. 고가용성을 위한 Load Balancer 사용하기
10.1 Load Balancer 구성 예시
10.2 VCN 구성
10.3 Backend 웹서버 만들기
10.4 Load Balancer를 위한 Subnet 만들기
10.5 Load Balancer 만들기
10.6 Load Balancer 연결 확인
11. Domain Name System (DNS)
11.1 Domain Name과 매핑하기
11.2 GoDadday의 서브 도메인을 OCI DNS 서비스에 delegation 하기
12. OCI 자원 모니터링을 위한 Monitoring
12.1 Compute 인스턴스 Monitoring 활성화
12.2 Monitoring Alarm 만들기
12.3 OCI Grafana Plugin
12.3.1 Compute VM에 Grafana 설치
12.3.2 Grafana 구성
13. Metric에 기반한 Autoscaling
13.1 Autoscaling을 위한 준비
13.2 Autoscaling 구성
13.3 Autoscaling 테스트
14. Developer Tools 사용하기
14.1 OCI CLI
14.1.1 OCI CLI 설치하기
14.1.1.1 Windows에서 OCI CLI 설치하기
14.1.1.2 리눅스계열에서 OCI CLI 설치하기
14.1.1.3 Token 기반 인증 Config File 설정
14.1.1.4 API Key 기반 인증 Config File 설정
14.1.2 Object Storage를 CLI로 사용하기
14.1.2.1 Object Storage를 위한 IAM Policy 설정
14.1.2.2 CLI를 통한 파일 업로드
14.2 REST API
14.2.1 OCI Request Signature Version 1
14.2.2 Bash 샘플 클라이언트
14.2.4 Postman - OCI REST API 호출하기
14.2.5 Postman - OCI REST APIs 호출하기
14.3 Terraform
14.3.1 Terraform 설치하기
14.3.2 Terraform Configurations 작성하기
14.3.3 Terraform OCI Provider 연결정보 구하기
14.3.4 Terraform Configuration 실행하기
14.3.5 다중 환경을 위한 workspace 사용하기
14.3.6 예시, list, count를 이용한 유저 만들기
14.3.7 OCI Terraform 사용 예제
15. Resource Manager 사용하기
15.1 Resource Manager 사용하기
15.2 Resource Manager을 위한 Stack Template
15.3 Resource Manager을 위한 Private Git 서버 구성
16. 인증서 관리를 위한 OCI Certificate 사용하기
16.1 Load Balancer의 인증서를 OCI Certificate로 관리하기
16.2 OCI Certificate에 외부 인증서 임포트하기
17. Kafka 호환 OCI Streaming 서비스 사용하기
17.1 Kafka Connect, Debezium로 PostgreSQL CDC 구성하기
17.2 Kafka Connect, Debezium로 MySQL CDC 구성하기
17.3 Kafka Connect, Debezium로 OCI MySQL Database Service에 CDC 구성하기
18. OCI 로그 관리하기
18.1 OCI Logging Analytics로 로그 관리시 비용 최적화
18.2 Object Storage Archive 사용하여 로그 관리 비용 줄이기
Oracle Cloud Native
1. OKE Managed Nodes 사용하기
1.1 OKE Managed Nodes 생성 및 연결
1.1.1 OKE, OKE Managed Nodes 소개
1.1.2 OKE 클러스터 만들기 - Quick Create 모드
1.1.3 OKE 클러스터 연결하기
1.1.3.1 Cloud Shell로 클러스터 연결하기
1.1.3.2 로컬 환경에서 클러스터 연결하기
1.2 OKE Managed Nodes 기본 사용법
1.2.1 Load Balancer
1.2.1.1 OCI Load Balancer로 서비스하기
1.2.1.2 OCI Load Balancer 상세 설정하기
1.2.1.3 OCI Network Load Balancer 상세 설정하기
1.2.2 Ingress
1.2.2.1 OCI Native Ingress Controller
1.2.2.1.1 OCI Native Ingress Controller 설치하기
1.2.2.1.2 PATH 기반 라우팅
1.2.2.1.3 HOST 기반 라우팅
1.2.2.2 OSS NGINX Ingress Controller
1.2.2.2.1 NGINX Ingress Controller 설치하기
1.2.2.2.2 PATH 기반 라우팅
1.2.2.2.3 HOST 기반 라우팅
1.2.2.2.4 컨테이너에서 클라이언트 IP 얻기
1.2.2.2.5 TLS termination - OCI LB 레벨
1.2.2.2.6 TLS Termination - Ingress 레벨
1.2.3 Storage
1.2.3.1 Block Volume 사용하기
1.2.3.2 File Storage Service 사용하기
1.2.3.2.1 File Storage 사용하기
1.2.3.2.2 File Storage 사용하기 - Dynamic Provisioning
1.2.3.3 Kubernetes Volume Snapshot 만들기
1.2.3.4 Kubernetes Volume Clone 사용하기
1.2.4 Management
1.2.4.1 Kubernetes 버전 업그레이드
1.2.5 Node Pool
1.2.5.1 Ampere (Arm) Node Pool 추가하기
1.2.5.2 Preemptible Capacity Node Pool 추가하기
1.3 Autoscaling
1.3.1 Metrics Server 설치
1.3.2 Horizontal Pod Autoscaler
1.3.3 Cluster Autoscaler
1.3.4 Cluster Autoscaler (Cluster Add-on)
1.4 Container Registry
1.4.1 OCIR(Oracle Cloud Infrastructure Registry)
1.4.1.1 OCIR 이미지 사용하기
1.4.1.2 컨테이너 이미지 스캔
1.4.1.3 Helm Chart Repository로 사용하기
1.4.2 Image Registry로 Nexus Repository 사용하기
1.5 Observability
1.5.1 Control Plane Logs
1.5.1.1 OCI Logging을 사용한 Control Plane 로그 모니터링
1.5.2 Application Logs & Monitoring
1.5.2.1 OCI Logging을 사용한 애플리케이션 로그 모니터링
1.5.2.2 OCI Logging Analytics로 모니터링하기
1.5.2.2.1 Logging Analytics로 모니터링 하기
1.5.2.2.2 Management Agent를 사용한 모니터링
1.5.2.3 OpenSearch 기반 OCI Search 서비스 사용하기
1.5.2.3.1 OpenSearch 사용 환경 구성하기
1.5.2.3.2 FluentD로 OKE 로그 전송하기
1.5.3.3.3 FluentBit로 OKE 로그 전송하기
1.5.2.4 Open Source기반 Observability 툴 사용하기
1.5.2.4.1 EFK(Elasticsearch, Fluentd, kibana)
1.5.2.4.2 Prometheus&Grafana로 모니터링 하기
1.6 Security
1.6.1 Secret Store로 OCI Vault 사용하기
1.7 CI/CD(Continuous Integration & Delivery)
1.7.1 OCI DevOps 서비스 사용하기
1.7.1.1 Spring Boot 앱 배포 자동화하기
1.7.1.2 Blue/Green 배포 전략으로 배포하기
1.7.1.3 Canary 배포 전략으로 배포하기
1.7.1.4 Helm Chart로 배포 자동화하기
1.7.1.5 빌드시 패키지 취약점 검사하기
1.8 Service Mesh
1.8.1 OSS Istio
1.8.1.1 Service Mesh 없는 마이크로서비스 앱 배포
1.8.1.2 마이크로서비스 앱에 Istio 적용하기
1.9 OKE Enhanced Cluster
1.9.1 OKE Enhanced Cluster 만들기
1.9.2 Workload Identity 사용하기
1.9.3 Node Cycling로 Worker Nodes 업데이트 하기
1.10 커스터마이징
1.10.1 Worker Node 디스크 사이즈 늘리기
1.10.2 cloud-init으로 kubelet 옵션 변경하기
1.10.3 Worker Node 생성시 Custom Image 사용하기
1.10.4 Custom Scheduler 사용하기
1.11 Other Tips
1.11.1 Arm 기반으로 OKE 사용시 유의할 점
2. OKE Virtual Nodes 사용하기
2.1 OKE Virtual Nodes 소개
2.2 OKE 클러스터 만들기 - Virtual Nodes
2.3 Virtual Nodes 앱 배포 및 비용 예시
3. OKE Self-Managed Nodes 사용하기
3.1 OKE Self-Managed Nodes 소개
3.2 OKE 클러스터 만들기 - Self-Managed Nodes
4. Database 서비스 / Database on Kubernetes
4.1 Redis
4.1.1 OCI Cache with Redis
4.1.1.1 OCI Cache with Redis 클러스터 만들기
4.1.1.2 Spring Boot에서 OCI Cache with Redis 사용하기
4.1.1.3 Spring Boot에서 OCI Cache with Redis + MySQL 쓰기
4.2 Oracle Database
4.2.1 Oracle Autonomous Database Free Container Image
4.2.2 Oracle Database Operator for Kubernetes
4.2.3 Oracle Database 23ai Free Container Image
4.3 OKE에서 OCI 자원관리를 위한 Service Operator
5. 추가적인 쿠버네티스 도구들
5.1 게임서비스를 위한 Agones 테스트
6. Container Instances
6.1 Container Instances로 컨테이너 배포하기
6.2 CLI로 Container Instance 만들기
6.3 Private Registry를 위한 image pull secret 사용하기
7. OCI Functions
8. 애플리케이션 개발하기
8.1 GraalVM 사용하기
8.2 GraalVM 사용하여 Spring Boot 3 애플리케이션 개발하기
8.3 로컬 환경에 GraalVM for JDK 설치하기
9. 문제해결
Cloud Shell 문제해결
Load Balancer 문제해결
Bastion Service 문제해결
Console 접근을 위한 방화벽에 등록할 주소 찾기
Compartment 문제해결
Rancher Desktop 설정하기
그외 참고사항
ARM 기반 서버 성능 비교: OCI vs. AWS
Let’s Encrypt로 무료 SSL 인증서 발급받기
무료 SSL 인증서 발급받기
Oracle Linux 8에 Visual Studio Code 설치하기
다른 Cloud Account의 Identity Domain를 인증서버 IdP로 추가하기
Identity Domain에서 MS Active Directory를 인증서버 IdP로 추가하기
OCI Console 로그인을 위한 MFA 설정하기