File tree Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Expand file tree Collapse file tree 3 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -138,6 +138,10 @@ peco_aws_list_db_clusters() {
138138 peco_aws_input ' aws rds describe-db-clusters --query "*[].DBClusterIdentifier"' ' true'
139139}
140140
141+ peco_aws_list_db_endpoint () {
142+ peco_aws_input ' aws rds describe-db-clusters --query "*[].[Endpoint, ReaderEndpoint]"' ' true'
143+ }
144+
141145peco_aws_list_db_instances () {
142146 peco_aws_input ' aws rds describe-db-instances --query "*[].DBInstanceIdentifier"' ' true'
143147}
Original file line number Diff line number Diff line change @@ -6,6 +6,12 @@ local_aws_ec2_instance_id_peco_menu() {
66 echo ${aws_ec2_instance_id}
77}
88
9+ local_aws_rds_endpoint_peco_menu () {
10+ local aws_rds_endpoint=$( peco_create_menu ' peco_aws_list_db_endpoint' )
11+ aws_rds_endpoint=$( echo " ${aws_rds_endpoint} " | awk -F " _" ' {print $1}' )
12+ echo ${aws_rds_endpoint}
13+ }
14+
915# AWS ec2
1016# List all ec2 instance(don't care stopped or running instances)
1117aws_ec2_list_all () {
@@ -122,6 +128,14 @@ aws_ec2_connect_with_hint() {
122128 aws_ssm_connection_ec2 $( local_aws_ec2_instance_id_peco_menu)
123129}
124130
131+ aws_ec2_connect_forwarding_for_rds_with_hint () {
132+ local ec2_instance_id=$( local_aws_ec2_instance_id_peco_menu)
133+ local rds_endpoint=$( local_aws_rds_endpoint_peco_menu)
134+ echo " Enter your local port forwarding to the instance"
135+ read local_port
136+ aws_ssm_port_forwarding_ec2 $ec2_instance_id $rds_endpoint $local_port
137+ }
138+
125139aws_ec2_list_eips () {
126140 aws_run_commandline ' aws ec2 describe-addresses'
127141}
Original file line number Diff line number Diff line change @@ -27,3 +27,21 @@ aws_ssm_connection_ec2() {
2727 fi
2828
2929}
30+
31+ aws_ssm_port_forwarding_ec2_for_rds () {
32+ aws_ec2_instance_id=$1
33+ aws_rds_endpoint=$2
34+ local_port=$3
35+ aws_commandline_logging " \
36+ aws ssm start-session --target ${aws_ec2_instance_id:? ' aws_ec2_instance_id is unset or empty' }
37+ --document-name AWS-StartPortForwardingSessionToRemoteHost \
38+ --parameters host=" ${aws_rds_endpoint:? ' aws_rds_endpoint is unset or empty' } " ,portNumber=" 3306" ,localPortNumber=" ${local_port:? ' local_port is unset or empty' } "
39+ "
40+
41+ if [[ -n " ${aws_ec2_instance_id} " || -n " ${aws_rds_endpoint} " || -n " ${local_port} " ]]; then
42+ aws ssm start-session --target $aws_ec2_instance_id \
43+ --document-name AWS-StartPortForwardingSessionToRemoteHost \
44+ --parameters host=" $aws_rds_endpoint " ,portNumber=" 3306" ,localPortNumber=" $local_port "
45+ fi
46+
47+ }
You can’t perform that action at this time.
0 commit comments