{"id":20676548,"url":"https://github.com/ryosukedtomita/ec2startstoplambda","last_synced_at":"2025-12-16T04:50:00.508Z","repository":{"id":182223744,"uuid":"667885899","full_name":"RyosukeDTomita/ec2StartStopLambda","owner":"RyosukeDTomita","description":"AWSLambdaからEC2インスタンスを起動してサービスを起動する","archived":false,"fork":false,"pushed_at":"2024-03-14T13:16:41.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T14:55:49.175Z","etag":null,"topics":["awslambda","ec2"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RyosukeDTomita.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-18T14:18:43.000Z","updated_at":"2023-08-23T02:50:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"13196a28-1834-47da-96d9-3e1bb921a7ab","html_url":"https://github.com/RyosukeDTomita/ec2StartStopLambda","commit_stats":null,"previous_names":["ryosukedtomita/ec2startstoplambda"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyosukeDTomita%2Fec2StartStopLambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyosukeDTomita%2Fec2StartStopLambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyosukeDTomita%2Fec2StartStopLambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyosukeDTomita%2Fec2StartStopLambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RyosukeDTomita","download_url":"https://codeload.github.com/RyosukeDTomita/ec2StartStopLambda/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242906350,"owners_count":20204821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awslambda","ec2"],"created_at":"2024-11-16T21:12:58.205Z","updated_at":"2025-12-16T04:49:55.484Z","avatar_url":"https://github.com/RyosukeDTomita.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# INDEX\n\n- [ABOUT](#ABOUT)\n- [ENVIRONMENT](#ABOUT)\n- [PREPARING](#PREPARING)\n- [HOW TO USE](#HOW-TO-USE)\n- [REFERENCE](#REFERENCE)\n\n# ABOUT\nインスタンスの起動自動化を行い，コマンドを自動実行する\n\n# ENVIRONMENT\n- python 3.10\n- AWS Lambda\n\n# HOW TO USE\n## EC2側の設定\n1. EC2インスタンスを作成する。**AmazonSSMManagedInstanceCore**を持ったIAMロールをアタッチする。\n2. SSM経由で接続できることを確認する。\n\n## Lambda側の設定\n1. Lambda関数を作成する。**AmazonEC2ReadOnlyAccess**，**AmazonSSMFullAccess**，カスタマーインラインポリシーをつけたIAMロールをアタッチする。\n2. 起動したいインスタンスの名前とidをenv.jsonに設定し、[json_to_env.py](./json_to_env.py)を実行して得た結果をクリップボードにコピーする。\n3. AWS Lambdaから、環境変数にコピーした値を設定。\n4. テストタブに移動し、eventを指定して実行する。\n\n```json\n// カスタマーインラインポリシー\n{\n    \"Version\": \"2012-10-17\",\n    \"Statement\": [\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"logs:CreateLogGroup\",\n                \"logs:CreateLogStream\",\n                \"logs:PutLogEvents\"\n            ],\n            \"Resource\": \"arn:aws:logs:*:*:*\"\n        },\n        {\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"ec2:Describe*\",\n                \"ec2:Start*\",\n                \"ec2:Stop*\"\n            ],\n            \"Resource\": \"*\"\n        }\n    ]\n}\n```\n\n```json\n{\n  \"Action\": \"Start\"\n}\n```\n\n```json\n{\n  \"Action\": \"Stop\"\n}\n```\n\n# REFERENCE\n- [EC2インスタンスをLambdaから起動する](https://qiita.com/YK0214/items/59bc0e5ae89f68af74b3)\n- [環境変数をJSONで保存する](https://dev.classmethod.jp/articles/aws-lambda-env-var-json/)\n- [lambdaでコマンドを実行する際のsleep](https://qiita.com/yakkuru/items/0b61cfb80bc30c00ac91)\n- [IAMの設定](https://qiita.com/high5/items/dbc32ffb07b603bbf709)\n\n# PREPARING\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryosukedtomita%2Fec2startstoplambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryosukedtomita%2Fec2startstoplambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryosukedtomita%2Fec2startstoplambda/lists"}