diff --git a/README.md b/README.md index de7ed36..c846a33 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -*기준 시간 : 2023.05.30 17:16:10 +*기준 시간 : 2023.05.31 12:30:19 # dsk-iac aws 환경 구축 시 사용하는 파일을 정리한다. @@ -18,30 +18,30 @@ aws 환경 구축 시 사용하는 파일을 정리한다. |---------------------|------------------|---------------------------------------|----------------------------|-----|--------|-----------------|---------------|--------------------|---------|--------------------| | i-04abf3bdccadaf05c | 172.24.13.138/23 | - | k8s-prod-tmp | 8 | 32 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0648e1521b484fde1 | 172.24.11.188/23 | control-plane | - | 2 | 4 | ap-northeast-2b | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-0446ae551deac0b98 | 172.24.8.218/23 | control-plane | - | 2 | 4 | ap-northeast-2a | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-05a497c27d7f65d78 | 172.24.12.22/23 | control-plane | - | 2 | 4 | ap-northeast-2c | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0446ae551deac0b98 | 172.24.8.218/23 | control-plane | - | 2 | 4 | ap-northeast-2a | c5a.large | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0a36b91bce0b86b6f | 172.24.12.142/23 | prod/data-druid | k8s-prod-data-druid-c | 16 | 64 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-07046cde77753a2d4 | 172.24.12.252/23 | prod/data-druid | k8s-prod-data-druid-c | 16 | 64 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-0f2de40153ccd640e | 172.24.13.2/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 32 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-07aebcfff479c0332 | 172.24.12.210/23 | prod/data-druid | k8s-prod-data-druid-small | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0f2de40153ccd640e | 172.24.13.2/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 32 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0c370e3211468e6e5 | 172.24.12.96/23 | prod/data-druid | k8s-prod-data-druid-middle | 8 | 32 | ap-northeast-2c | m5a.2xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0df4bd76188c35590 | 172.24.13.100/23 | prod/data-es | k8s-prod-data-es-c3 | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-06e3ca9b0a909e7bd | 172.24.13.64/23 | prod/data-es | k8s-prod-data-es-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0fd0e6d60f02a7b14 | 172.24.13.29/23 | prod/data-es | k8s-prod-data-es-c2 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-0df4bd76188c35590 | 172.24.13.100/23 | prod/data-es | k8s-prod-data-es-c3 | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0a6a549b5bf51efbc | 172.24.12.207/23 | prod/data-kafka | k8s-prod-data-kafka-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-092354f3890ecf207 | 172.24.13.215/23 | prod/data-kafka | k8s-prod-data-kafka-c2 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0097ed484d8513a71 | 172.24.12.66/23 | prod/data-kafka | k8s-prod-data-kafka-c3 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-07fd9c87549c8ca0c | 172.24.12.112/23 | prod/druid-middlemanager | k8s-prod-data-druid-large | 16 | 64 | ap-northeast-2c | m5a.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0b38484102aa244e8 | 172.24.13.227/23 | prod/druid-middlemanager | k8s-prod-data-druid-large | 16 | 63 | ap-northeast-2c | m5.4xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-0abc091cf1fc5084f | 172.24.12.23/23 | prod/process | k8s-prod-process-c4 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-0d3e74b8884948aa3 | 172.24.13.32/23 | prod/process | k8s-prod-process-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-01da83c436c0fb834 | 172.24.13.47/23 | prod/process | k8s-prod-process-c2 | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-00fdae3a253e720bf | 172.24.12.227/23 | prod/process | k8s-prod-process-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | | i-08cea9eddc5260b4d | 172.24.13.119/23 | prod/process | k8s-prod-process-c2 | 4 | 16 | ap-northeast-2c | m6i.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-0746bcd96a3da0c7a | 172.24.13.226/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5zn.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-056794363777f0364 | 172.24.12.49/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5d.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-001b5a37f8c2e6483 | 172.24.13.207/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5d.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | -| i-0f5d94fbedf1127a7 | 172.24.12.78/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5zn.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-00fdae3a253e720bf | 172.24.12.227/23 | prod/process | k8s-prod-process-c | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-0abc091cf1fc5084f | 172.24.12.23/23 | prod/process | k8s-prod-process-c4 | 4 | 16 | ap-northeast-2c | m5a.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-071905ffb17064bb5 | 172.24.13.234/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5d.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-054ba05dd0668340b | 172.24.12.38/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5d.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-02720b11dc4597742 | 172.24.12.232/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5zn.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | +| i-07d28eeeb2e6964ed | 172.24.12.218/23 | prod/rel-process | k8s-rel-process-c | 4 | 16 | ap-northeast-2c | m5zn.xlarge | Ubuntu 20.04.4 LTS | v1.25.2 | containerd://1.6.8 | ## 리소스 목록 [91] @@ -105,7 +105,7 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | prod-dsk-apm-api | Deployment | 1 | 100m | 256Mi | 250m | 512Mi | | prod-dsk-app-sender | Deployment | 1 | | | | | | prod-dsk-backoffice | Deployment | 0 | | | | | -| prod-dsk-chart-api | Deployment | 1 | 500m | 512Mi | 1 | 1Gi | +| prod-dsk-chart-api | Deployment | 6 | 500m | 512Mi | 1 | 1Gi | | prod-dsk-dashboard-api | Deployment | 1 | | | | | | prod-dsk-database-api | Deployment | 3 | 100m | 256Mi | 250m | 512Mi | | prod-dsk-database-plan-stream | Deployment | 1 | | | | | @@ -143,51 +143,51 @@ aws 환경 구축 시 사용하는 파일을 정리한다. | name | namespace | type | node_port | age | |-----------------------------------------|-------------------|----------|-----------|-------------------------| -| rabbitmq | dsk-middle | NodePort | 30038 | 5 mons 17 days 01:32:40 | -| kafka-broker | dsk-middle | NodePort | 30094 | 3 mons 8 days 23:03:03 | -| kafka-broker-global | dsk-middle | NodePort | 30095 | 3 mons 8 days 23:03:03 | -| keycloak | dsk-middle | NodePort | 30100 | 5 mons 15 days 01:34:48 | -| keycloak | dsk-middle | NodePort | 30101 | 5 mons 15 days 01:34:48 | -| mongo-manifest-mongodb-sharded | dsk-middle | NodePort | 30111 | 1 mon 16:28:02 | -| mongo-dsk-mongodb-sharded | dsk-middle | NodePort | 30112 | 1 mon 15:15:22 | -| redis-master | dsk-middle | NodePort | 30229 | 5 mons 17 days 01:32:27 | -| elasticsearch-master | dsk-middle | NodePort | 30433 | 27 days 03:13:37 | -| rabbitmq | dsk-middle | NodePort | 30523 | 5 mons 17 days 01:32:40 | -| rabbitmq | dsk-middle | NodePort | 30565 | 5 mons 17 days 01:32:40 | -| rabbitmq | dsk-middle | NodePort | 30655 | 5 mons 17 days 01:32:40 | -| rabbitmq | dsk-middle | NodePort | 32021 | 5 mons 17 days 01:32:40 | -| kafka-akhq | dsk-middle | NodePort | 32100 | 3 mons 8 days 23:03:03 | -| kafka-kafka-ui | dsk-middle | NodePort | 32101 | 3 mons 8 days 23:03:03 | -| elasticsearch-master | dsk-middle | NodePort | 32110 | 27 days 03:13:37 | -| prometheus-server | prometheus | NodePort | 32132 | 18 days 00:17:28 | -| prometheus-alertmanager | prometheus | NodePort | 32133 | 18 days 00:17:28 | -| prod-dsk-datagate-dsk-datagate-trace | dsk-datagate-prod | NodePort | 32300 | 4 mons 11 days 22:27:49 | -| prod-dsk-datagate-dsk-datagate-manifest | dsk-datagate-prod | NodePort | 32301 | 4 mons 23 days 23:43:34 | -| prod-dsk-datagate-dsk-datagate-metric | dsk-datagate-prod | NodePort | 32302 | 4 mons 23 days 23:43:34 | -| prod-dsk-datagate-dsk-datagate-plan | dsk-datagate-prod | NodePort | 32303 | 4 mons 23 days 23:43:34 | -| prod-dsk-loggate | dsk-datagate-prod | NodePort | 32304 | 4 mons 17 days 23:57:23 | -| prod-dsk-loggate | dsk-datagate-prod | NodePort | 32305 | 4 mons 17 days 23:57:23 | -| prod-dsk-backoffice | dsk-api-prod | NodePort | 32523 | 1 mon 24 days 05:39:19 | -| rabbitmq | dsk-middle | NodePort | 32987 | 5 mons 17 days 01:32:40 | -| postgresql | dsk-middle | NodePort | 32098 | 5 mons 17 days 01:33:03 | -| kafka-outside-0 | dsk-middle | NodePort | 32400 | 3 mons 8 days 23:03:03 | -| kafka-outside-1 | dsk-middle | NodePort | 32401 | 3 mons 8 days 23:03:03 | -| kafka-outside-2 | dsk-middle | NodePort | 32402 | 3 mons 8 days 23:03:03 | -| kafka-global-0 | dsk-middle | NodePort | 32500 | 3 mons 8 days 23:03:03 | -| kafka-global-1 | dsk-middle | NodePort | 32501 | 3 mons 8 days 23:03:03 | -| kafka-global-2 | dsk-middle | NodePort | 32502 | 3 mons 8 days 23:03:03 | +| rabbitmq | dsk-middle | NodePort | 30038 | 5 mons 17 days 20:46:49 | +| kafka-broker | dsk-middle | NodePort | 30094 | 3 mons 9 days 18:17:12 | +| kafka-broker-global | dsk-middle | NodePort | 30095 | 3 mons 9 days 18:17:12 | +| keycloak | dsk-middle | NodePort | 30100 | 5 mons 15 days 20:48:57 | +| keycloak | dsk-middle | NodePort | 30101 | 5 mons 15 days 20:48:57 | +| mongo-manifest-mongodb-sharded | dsk-middle | NodePort | 30111 | 1 mon 1 day 11:42:11 | +| mongo-dsk-mongodb-sharded | dsk-middle | NodePort | 30112 | 1 mon 1 day 10:29:32 | +| redis-master | dsk-middle | NodePort | 30229 | 5 mons 17 days 20:46:36 | +| elasticsearch-master | dsk-middle | NodePort | 30433 | 27 days 22:27:46 | +| rabbitmq | dsk-middle | NodePort | 30523 | 5 mons 17 days 20:46:49 | +| rabbitmq | dsk-middle | NodePort | 30565 | 5 mons 17 days 20:46:49 | +| rabbitmq | dsk-middle | NodePort | 30655 | 5 mons 17 days 20:46:49 | +| rabbitmq | dsk-middle | NodePort | 32021 | 5 mons 17 days 20:46:49 | +| kafka-akhq | dsk-middle | NodePort | 32100 | 3 mons 9 days 18:17:12 | +| kafka-kafka-ui | dsk-middle | NodePort | 32101 | 3 mons 9 days 18:17:12 | +| elasticsearch-master | dsk-middle | NodePort | 32110 | 27 days 22:27:46 | +| prometheus-server | prometheus | NodePort | 32132 | 18 days 19:32:37 | +| prometheus-alertmanager | prometheus | NodePort | 32133 | 18 days 19:32:37 | +| prod-dsk-datagate-dsk-datagate-trace | dsk-datagate-prod | NodePort | 32300 | 4 mons 12 days 17:41:58 | +| prod-dsk-datagate-dsk-datagate-manifest | dsk-datagate-prod | NodePort | 32301 | 4 mons 24 days 18:57:43 | +| prod-dsk-datagate-dsk-datagate-metric | dsk-datagate-prod | NodePort | 32302 | 4 mons 24 days 18:57:43 | +| prod-dsk-datagate-dsk-datagate-plan | dsk-datagate-prod | NodePort | 32303 | 4 mons 24 days 18:57:43 | +| prod-dsk-loggate | dsk-datagate-prod | NodePort | 32304 | 4 mons 18 days 19:11:32 | +| prod-dsk-loggate | dsk-datagate-prod | NodePort | 32305 | 4 mons 18 days 19:11:32 | +| prod-dsk-backoffice | dsk-api-prod | NodePort | 32523 | 1 mon 25 days 00:53:28 | +| rabbitmq | dsk-middle | NodePort | 32987 | 5 mons 17 days 20:46:49 | +| postgresql | dsk-middle | NodePort | 32098 | 5 mons 17 days 20:47:12 | +| kafka-outside-0 | dsk-middle | NodePort | 32400 | 3 mons 9 days 18:17:12 | +| kafka-outside-1 | dsk-middle | NodePort | 32401 | 3 mons 9 days 18:17:12 | +| kafka-outside-2 | dsk-middle | NodePort | 32402 | 3 mons 9 days 18:17:12 | +| kafka-global-0 | dsk-middle | NodePort | 32500 | 3 mons 9 days 18:17:12 | +| kafka-global-1 | dsk-middle | NodePort | 32501 | 3 mons 9 days 18:17:12 | +| kafka-global-2 | dsk-middle | NodePort | 32502 | 3 mons 9 days 18:17:12 | ## 예약 인스턴스 사용 내역 [11] -| availability_zone | instance_type | ri_count | ec2_count | result | -|-------------------|---------------|----------|-----------|--------| -| ap-northeast-2a | c5a.large | 1 | 1 | 0 | -| ap-northeast-2a | t3.small | 2 | 1 | -1 | -| ap-northeast-2b | c5a.large | 1 | 1 | 0 | -| ap-northeast-2c | c5a.large | 1 | 1 | 0 | -| ap-northeast-2c | m5.4xlarge | 0 | 1 | 1 | -| ap-northeast-2c | m5a.2xlarge | 1 | 3 | 2 | -| ap-northeast-2c | m5a.4xlarge | 1 | 3 | 2 | -| ap-northeast-2c | m5a.xlarge | 7 | 8 | 1 | -| ap-northeast-2c | m6i.xlarge | 4 | 4 | 0 | -| ap-northeast-2c | t3.small | 1 | 1 | 0 | +| availability_zone | instance_type | cpu | memory | ri_count | ec2_count | result | +|-------------------|---------------|-----|--------|----------|-----------|--------| +| ap-northeast-2a | t3.small | 2 | 2 | 2 | 1 | -1 | +| ap-northeast-2a | c5a.large | 2 | 4 | 1 | 1 | 0 | +| ap-northeast-2b | c5a.large | 2 | 4 | 1 | 1 | 0 | +| ap-northeast-2c | m5a.2xlarge | 8 | 32 | 1 | 3 | 2 | +| ap-northeast-2c | m5a.4xlarge | 16 | 64 | 1 | 3 | 2 | +| ap-northeast-2c | m5a.xlarge | 4 | 16 | 7 | 8 | 1 | +| ap-northeast-2c | m6i.xlarge | 4 | 16 | 4 | 4 | 0 | +| ap-northeast-2c | t3.small | 2 | 2 | 1 | 1 | 0 | +| ap-northeast-2c | c5a.large | 2 | 4 | 1 | 1 | 0 | +| ap-northeast-2c | m5.4xlarge | 16 | 64 | 0 | 1 | 1 | diff --git a/scripts/steampipe_iac/steampipe-iac.sh b/scripts/steampipe_iac/steampipe-iac.sh index 5ca7b45..ebcbab2 100755 --- a/scripts/steampipe_iac/steampipe-iac.sh +++ b/scripts/steampipe_iac/steampipe-iac.sh @@ -2,9 +2,9 @@ #------------------------------------------------------------------------------------------------------ __init (){ - pwd - cd ${git_path} - pwd +# pwd +# cd ${git_path} +# pwd git pull @@ -33,6 +33,8 @@ __query_exec (){ __log_sed (){ sed -i 's/+/|/g' ${exec_log} sed -i "s/node-role.kubernetes.io\///g" ${exec_log} + sed -i "s/31/32/g" ${exec_log} + sed -i "s/62/64/g" ${exec_log} sed -i '1d;$d' ${exec_log} } #------------------------------------------------------------------------------------------------------ @@ -112,11 +114,67 @@ where type='NodePort' and name not like '%rel-%' order by Node_Port """ + +aws_ri_query=""" +SELECT + COALESCE(a.availability_zone, b.availability_zone, '-') AS availability_zone, + COALESCE(a.instance_type, b.instance_type, c.instance_type, '-') AS instance_type, + COALESCE(c.cpu, 0) AS cpu, + COALESCE(c.memory, 0) AS memory, + COALESCE(a.ri_count, 0) AS ri_count, + COALESCE(b.ec2_count, 0) AS ec2_count, + COALESCE(b.ec2_count, 0) - COALESCE(a.ri_count, 0) AS result +FROM + (SELECT + availability_zone, + instance_type, + SUM(instance_count) AS ri_count + FROM + aws_ec2_reserved_instance + WHERE + instance_state='active' + GROUP BY + availability_zone, + instance_type + ) a +FULL OUTER JOIN + (SELECT + placement_availability_zone AS availability_zone, + instance_type, + COUNT(*) AS ec2_count + FROM + aws_ec2_instance + WHERE + instance_state='running' AND + instance_lifecycle!='spot' + GROUP BY + availability_zone, + instance_type + ) b +ON + a.availability_zone = b.availability_zone AND + a.instance_type = b.instance_type +INNER JOIN + (SELECT + instance_type, + (CAST(memory_info ->> 'SizeInMiB' AS FLOAT) / 1024) AS memory, + (CAST(v_cpu_info ->> 'DefaultCores' AS FLOAT) * 2) AS cpu + FROM + aws_ec2_instance_type + WHERE + instance_type in (SELECT instance_type FROM aws_ec2_instance WHERE instance_state='running' AND instance_lifecycle!='spot') + GROUP BY + instance_type, memory, cpu + ) c +ON + COALESCE(a.instance_type, b.instance_type, '-') = c.instance_type +ORDER BY availability_zone +""" #------------------------------------------------------------------------------------------------------ -git_path="/home/jhjung/git/dsk-iac" +#git_path="/home/jhjung/git/dsk-iac" origin="$(pwd)/org_README.md" -exec_log="${git_path}/query.log" -file="README.md" +exec_log="query.log" +file="../../README.md" #------------------------------------------------------------------------------------------------------ __init @@ -132,6 +190,10 @@ title="## 서비스 목록 (NodePort)" __query_exec "${service_query}" __append +title="## 예약 인스턴스 사용 내역" +__query_exec "${aws_ri_query}" +__append +#------------------------------------------------------------------------------------------------------ rm ${exec_log} __git_push