AWSでスクレイピング環境をつくる① インスタンス作成・ユーザー作成

前回Heroku上でスクレイピングができるように環境を作ったが、再起動とRDBのレコード上限が少なかったので、移行先を考えた。

PaaSとか、クラウドサービスで知ってるものでは、

AWS(アマゾンウェブサービス)

GCP(Google Cloud Platform)

Microsoft Azure

CloudGarage

があったけれど、今回は必要とする環境(Linux + RDB(MySQL))が12か月間無料枠に入っているAWSを選択した。

全体の流れ

①アカウント登録

②サーバーのインスタンスを建てて

③開発者用のユーザーを作って ← 今回はここまで

④環境構築

アカウント登録

ここから登録する

住所とか、クレジットカードの番号とか要求されるけど、適宜入れてください。

サーバーのインスタンスを建てる

今回はpythonの動作環境を用意したい。ついてにMySQLに値を入れてほしい。

となると利用するサービスはEC2+RDB。どちらも無料枠が750時間/月あるから最大31日×24=744時間だから、1台ずつの稼働なら大丈夫だな!

AWSはもちろんDockerに対応しているサービス(Amazon Elastic Container Service)があるから、コンテナを用意して導入するか、Linux上にコマンドを打ち込んで地道につくるかなんだけど、無料プランに明示されていないような印象をうけて、地道に作った。

今調べると無料対象のEC2(Elastic Compute Cloud)プランを適応って書いてあるから、Dockerで環境作った方がサックリいけたけど、まぁ次からはね?

けど省略できるところは環境構築のところくらいだから、参考になれば・・・。

特に希望がなければ、リージョンを東京に変更します。リージョンを変更するとエンドポイントの位置が変わるので、国内アクセスが中心なら国内のリージョンを設定しておくことでデータの遅延が減るとか。

初期設定はオレゴンになっており、途中で移行させるのは手間とお金が発生する場合があるので、東京リージョンで使用できるサービスを選択する場合は、最初に設定しておくことをおすすめします。

Linuxサーバーを立てるのには、AWSコンソールからEC2をクリックして

ダッシュボード内のインスタンスの作成をクリックして、

イメージを選択して、

容量を選択して

インスタンスの詳細はお好みで

ストレージについてもお好みで

タグは追加しておきましょう。設定を付与する際に必要になります。

セキュリティーグループに関しては、IPアドレスの制御を行う場合(推奨)は、アドレスを設定します。インスタンスのポートも選択できます。

警告に関しては、全てのアドレスからSSH接続ができるようになっているので、警告が出ています。設定しておきましょう。

インスタンス生成の確認画面です。

今回は、全てのアドレスからSSH接続ができるようになっているので、警告が出ています

よければ作成を押します。

キーペアの生成について聞かれます。

新しく作成しましょう。

キーペアは、公開鍵認証ののことで、ローカル内に秘密鍵を置き、インスタンスにアクセスする際には秘密鍵を使用しログインすることができます。これにより、鍵を持っていない接続元からはアクセスできないため、セキュリティが向上します。

次、RDBの設定です。

AWSコンソールの全てのサービス内にデータベースがあるのでRDBを選択。

RDBのダッシュボード内のデータベース作成を選択。

今回はMySQLを選択。

ユースケースは無料のやつを選択。

詳細設定は、無料枠にチェックを入れると、枠内の設定でやってくれる。

その他識別子やユーザー設定をして、次へ

データベースの設定もして作成!

成功すると、こんな画面が出るのでインスタンス画面へいく。

あとは、セキュリティグループを設定する。

EC2ダッシュボード内にセキュリティグループがあるので、

セキュリティグループを作成を押して

必要なところに値を入れて。

今回はインバウンドにMySQLのポートを書いてあげる。

ソースは、接続元、今回はEC2インスタンスのインスタンスidを記入する。あとは外部からのアクセスを許可したい場合は、カスタムもしくは

開発者用のアカウントの作成

登録アカウントはAWS内で最高権限を持っている。ただ、抜かれたときのリスクがでかいので、権限を振り分けたアカウントを作る。

個別アカウントはIAMから作れる。ダッシュボード内の個々のIAMユーザーの追加をクリック。

アクセス種類については、プログラムによるアクセスとAWSマネジメントコンソールのアクセスにチェックを入れる。

ユーザーのアクセス権限については、権限を持つグループにユーザーを所属させる方法とユーザーに直接付与する方法があるが、管理の面を考えるとグループを作って所属させる方が後々を考えると楽。

という訳で、グループを作成する。

グループの名前とポリシーを決定する。今回はAdministratorAccessにする。

権限はグループによって分ける方が推奨。

確認画面へ

これで成功が出れば完了。

ログイン情報等はcsvファイルでダウンロードできるけど、そこはお任せします。

ログイン方法は、AIMダッシュボード内のIAMユーザーのサインインリンクからログインすることができる。

お疲れさまでした。

次は、コマンドライン上からログインして、環境を作っていきましょう。