前回 Heroku 上でスクレイピングができるように環境を作ったが、再起動と RDB のレコード上限が少なかったので、移行先を考えた。
PaaS とか、クラウドサービスで知ってるものでは、
があったけれど、今回は必要とする環境(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 ユーザーのサインインリンクからログインすることができる。
お疲れさまでした。
次は、コマンドライン上からログインして、環境を作っていきましょう。