https://github.com/ryosukedtomita/github-actions-ssm
GitHub ActionsによりAWS CLIを使ってAWS SSM経由でコマンドをEC2インスタンス上でコマンドを叩けるかテスト
https://github.com/ryosukedtomita/github-actions-ssm
aws-ssm ec2 githubactions
Last synced: 3 months ago
JSON representation
GitHub ActionsによりAWS CLIを使ってAWS SSM経由でコマンドをEC2インスタンス上でコマンドを叩けるかテスト
- Host: GitHub
- URL: https://github.com/ryosukedtomita/github-actions-ssm
- Owner: RyosukeDTomita
- License: unlicense
- Created: 2023-12-21T08:59:19.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-14T13:14:45.000Z (over 2 years ago)
- Last Synced: 2025-01-17T14:55:59.253Z (over 1 year ago)
- Topics: aws-ssm, ec2, githubactions
- 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](#ENVIRONMENT)
- [PREPARING](#PREPARING)
- [HOW TO USE](#HOW-TO-USE)
- [MEMO](#MEMO)
******
# ABOUT
GitHub ActionsによりAWS CLIを使ってAWS SSM経由でコマンドをEC2インスタンスに対して送信するテストです。
******
# ENVIRONMENT
- GitHub Actions
- AWS CLI
- AWS EC2
******
# PREPARING
## EC2にSSM経路でアクセスできるようにする
- IAMロールAmazonSSMManagedInstanceCoreをつける。
- EC2インスタンスのAMIはAmazonLinux2推奨?2023はデフォルトでSSM Agentが入ってないのかも。
- すぐには使えるようにならないのでIAMロールアタッチ後に10~20分待つ。
> [SSMを利用してEC2へ接続する](https://baresupport.jp/blog/2022/03/14/82/)
> [SSM Agentのインストール](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-manual-agent-install.html)
### SSMで接続できない時は
- ssh接続してサービスが起動しているか確かめる。
```
# sshのconfig例
Host house
HostName 52.69.186.76
User ec2-user
Port 22
IdentityFile ~/.ssh/house.pem
ProxyCommand "C:\Program Files\Git\mingw64\bin\connect.exe" -H tomita@172.23.95.65:81 %h %p
ForwardAgent yes
```
```shell
sudo systemctl status amazon-ssm-agent # ssh経由でログインできないなら
```
- ちょい待つといける!!
******
## GitHub Actionsでの設定
- ~/.aws/credentialsにあるアクセスキーとシークレットを`AWS_ACCESS_KEY_ID`,`AWS_SECRET_ACCESS_KEY`としてActions --> Secretから登録する

- [.github/workflows/run-commnnd-ssm.yml](.github/workflows/run-commnnd-ssm.yml)のEC2インスタンスのIDを書き換えする
- push時にコマンドがEC2上で実行された(/tmp/test.txtが生成されているか)をEC2にログインして確認する(一応,コマンドのoutputはGitHubのリポジトリのページからも見れるが)。
******
## HOW TO USE
just merge `master` branch or push `master` branch.
masterブランチにmergeしたり,masterにpushしたらGitHub Actionsが起動します。