エンジニア採用担当がプログラミング頑張る話【46日目/2ヶ月間】
こんにちは、@hiroki_maekawaです。
今日は業務自動化のコードをEC2に送って、毎日自動で動いてくれるように設定をしていきたいと思います!
まずは作ったプログラムを送る準備からしていきます。
1. EC2にSSH接続
昨晩またWiFiの調子が悪く、ルーターを再起動してしまったため、SSHのグローバルIDアドレス(マイID)を更新してからSSH接続を行いました。
EC2→セキュリティグループ→sg-0314217db2cde6ad0 - launch-wizard-1→インバウンドルールを編集
上記サイトにアクセスしてIPアドレスをコピー→SSHのソースに貼り付け→ルールを保存→SSH接続
__| __|_ )
_| ( / Amazon Linux 2 AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-2/
4 package(s) needed for security, out of 26 available
Run "sudo yum update" to apply all updates.
無事接続できました。
2. EC2にPython3をインストール
//Python3をインストール
$ sudo yum update
$ sudo yum install python3 -y
//venvを使って仮想環境のPython3をインストール
$ python3 -m venv myenv
//Python3の仮想環境を有効化
$ source myenv/bin/activate
(Python3の仮想環境を無効化は、$ deactivate)
(Python3を入れれば、pipも一緒に入ってくるみたいです。)
3. EC2にGoogle Chromeをインストール
下記コマンドで、Google Chromeをインストールします。
//インストールのコマンド
$ curl https://intoli.com/install-google-chrome.sh | bash
完了しました!
Successfully installed Google Chrome!
//バージョン確認のコマンド
$ google-chrome --version && which google-chrome
Google Chrome 84.0.4147.89
/usr/bin/google-chrome
4. EC2にChromeDriverをインストール
ChromeDriverは、Chromeのバージョンに合ったものをインストールする必要があります。
下記のサイトより、Google Chromeのバージョンに対応するChromeDriverのバージョンを確認できます。
「If you are using Chrome version 84, please download ChromeDriver 84.0.4147.30」と書かれていたので、wgetを使ってインストールします。
$ wget https://chromedriver.storage.googleapis.com/84.0.4147.30/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip
//解凍したファイルを /user/bin配下に移動
$ sudo mv chromedriver /usr/bin/chromedriver
5. EC2にSeleniumをインストール
$ pip3 install selenium --user
6. 試しに動作確認
6-1. Pythonのテストコードを作成
$ vi test.py
6-2. 下記コードを貼り付け
Googleにアクセスして→スクショを取って→test.pngファイルで保存するというテストプログラムを、test.pyに貼り付けます。(一文字削除はx)
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument('--window-size=1280,1024')
driver = webdriver.Chrome(options=options)
driver.get('https://www.google.co.jp/')
driver.save_screenshot('test.png')
6-3. Pythonのテストコードを実行
$ python test.py
6-4. テストコードの実行結果を確認
新しくtest.pngファイルが作られていました!
今回、主に下記のページを参考にしました。
今日できるようになったこと
・EC2の環境構築
・EC2で自動化ファイルの実行
さいごに
明日はいよいよ自分で作成したPythonファイルをEC2で動かせるように設定していきたいと思います。
それではまた!