Example#

这个脚本是用来对单台服务器进行管理的脚本. 可以方便的执行 server operation 或是 workflow.

debug/manage_server.py
 1# -*- coding: utf-8 -*-
 2
 3"""
 4这个脚本是用来对单台服务器进行管理的脚本. 可以方便的执行
 5`server operation 或是 workflow <https://acore-server.readthedocs.io/en/latest/search.html?q=Operation+and+Workflow&check_keywords=yes&area=default>`_
 6"""
 7
 8from acore_server.api import Manager
 9
10
11# ------------------------------------------------------------------------------
12# PLEASE DOUBLE CHECK TO MAKE SURE YOU ARE WORKING ON THE RIGHT SERVER
13# ------------------------------------------------------------------------------
14env_name = "sbx"
15manager = Manager(aws_profile="bmt_app_dev_us_east_1", env_name=env_name)
16server = manager.blue
17
18# server.show_server_config()
19# server.show_server_status()
20# server.show_aws_link(bsm=manager.bsm)
21
22# server.associate_eip_address(bsm=manager.bsm, allow_reassociation=True)
23# server.update_db_master_password(bsm=manager.bsm)
24
25# server.create_ssh_tunnel(bsm=manager.bsm)
26# server.list_ssh_tunnel(bsm=manager.bsm)
27# server.kill_ssh_tunnel(bsm=manager.bsm)
28# server.test_ssh_tunnel()
29
30# ------------------------------------------------------------------------------
31# Create Cloned Server
32# ------------------------------------------------------------------------------
33# workflow_id = "create_cloned_server-2024-06-19-04-27-00"
34# server.create_cloned_server(
35#     bsm=manager.bsm,
36#     workflow_id=workflow_id,
37#     s3path_workflow=manager.s3dir_env_workflow.joinpath(
38#         server.server_name, f"{workflow_id}.json"
39#     ),
40#     new_server_id="sbx-blue",
41#     stack_exports=manager.stack_exports,
42#     skip_reboot=True,
43#     delete_ami_afterwards=True,
44#     delete_snapshot_afterwards=True,
45# )
46
47
48# ------------------------------------------------------------------------------
49# Create Updated Server
50# ------------------------------------------------------------------------------
51# workflow_id = "create_cloned_server-2024-06-21-07-42-00"
52# server.create_updated_server(
53#     bsm=manager.bsm,
54#     workflow_id=workflow_id,
55#     s3path_workflow=manager.s3dir_env_workflow.joinpath(
56#         server.env_name, f"{workflow_id}.json"
57#     ),
58#     new_server_id="sbx-blue",
59#     ami_id="ami-0452e5248cdce53f2",
60#     stack_exports=manager.stack_exports,
61#     snapshot_id="rds:sbx-green-2024-06-19-04-50",
62#     delete_snapshot_afterwards=False,
63# )
64
65
66# ------------------------------------------------------------------------------
67# Delete Server
68# ------------------------------------------------------------------------------
69# workflow_id = "delete_server-2024-06-20-04-19-00"
70# server.delete_server(
71#     bsm=manager.bsm,
72#     workflow_id=workflow_id,
73#     s3path_workflow=manager.s3dir_env_workflow.joinpath(
74#         server.server_name, f"{workflow_id}.json"
75#     ),
76#     skip_reboot=True,
77#     create_backup_ec2_ami=False,
78#     create_backup_db_snapshot=False,
79# )
80
81
82# ------------------------------------------------------------------------------
83# Stop Server
84# ------------------------------------------------------------------------------
85# server.stop_server(bsm=manager.bsm)
86
87
88# ------------------------------------------------------------------------------
89# Start Server
90# ------------------------------------------------------------------------------
91# server.start_server(bsm=manager.bsm)