Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ryosukedtomita/ec2startstoplambda
AWSLambdaからEC2インスタンスを起動してサービスを起動する
https://github.com/ryosukedtomita/ec2startstoplambda
awslambda ec2
Last synced: about 2 months ago
JSON representation
AWSLambdaからEC2インスタンスを起動してサービスを起動する
- Host: GitHub
- URL: https://github.com/ryosukedtomita/ec2startstoplambda
- Owner: RyosukeDTomita
- License: unlicense
- Created: 2023-07-18T14:18:43.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-14T13:16:41.000Z (10 months ago)
- Last Synced: 2024-05-11T05:55:24.830Z (8 months ago)
- Topics: awslambda, ec2
- Language: Python
- Homepage:
- Size: 5.86 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# INDEX
- [ABOUT](#ABOUT)
- [ENVIRONMENT](#ABOUT)
- [PREPARING](#PREPARING)
- [HOW TO USE](#HOW-TO-USE)
- [REFERENCE](#REFERENCE)# ABOUT
インスタンスの起動自動化を行い,コマンドを自動実行する# ENVIRONMENT
- python 3.10
- AWS Lambda# HOW TO USE
## EC2側の設定
1. EC2インスタンスを作成する。**AmazonSSMManagedInstanceCore**を持ったIAMロールをアタッチする。
2. SSM経由で接続できることを確認する。## Lambda側の設定
1. Lambda関数を作成する。**AmazonEC2ReadOnlyAccess**,**AmazonSSMFullAccess**,カスタマーインラインポリシーをつけたIAMロールをアタッチする。
2. 起動したいインスタンスの名前とidをenv.jsonに設定し、[json_to_env.py](./json_to_env.py)を実行して得た結果をクリップボードにコピーする。
3. AWS Lambdaから、環境変数にコピーした値を設定。
4. テストタブに移動し、eventを指定して実行する。```json
// カスタマーインラインポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": [
"ec2:Describe*",
"ec2:Start*",
"ec2:Stop*"
],
"Resource": "*"
}
]
}
``````json
{
"Action": "Start"
}
``````json
{
"Action": "Stop"
}
```# REFERENCE
- [EC2インスタンスをLambdaから起動する](https://qiita.com/YK0214/items/59bc0e5ae89f68af74b3)
- [環境変数をJSONで保存する](https://dev.classmethod.jp/articles/aws-lambda-env-var-json/)
- [lambdaでコマンドを実行する際のsleep](https://qiita.com/yakkuru/items/0b61cfb80bc30c00ac91)
- [IAMの設定](https://qiita.com/high5/items/dbc32ffb07b603bbf709)# PREPARING