AWSにてwebアプリケーションを構築する前の準備をします。
AWS自体のサービスにはほぼ触れないです。
【webアプリケーション構築-準備編】
ローカル環境にEclipseを導入し、EclipseからAWSにアクセスできるようにする。
webアプリケーションのアーキテクチャ
一般的なアーキテクチャ
webアプリケーションのアーキテクチャというと一般的かつ教科書的なのは3層構造でしょう。
この構造はサーバの負荷軽減、クライアント側の更新が不要である点などの特徴があります。
呼び方は多少ぶれがあると思いますがここでは以下の通りとします。
★webサーバ
サーバからHTTPリクエストを受け付け、HTTPレスポンスを返す。
静的コンテンツのみであればwebサーバのみで対応することができる。「その⑤」までに構築したwebサーバがまさにそれですね。
Apache HTTP Serverが有名
★アプリケーションサーバ
業務処理を担当するサーバ。webアプリの本体ともいえる。
処理結果をwebサーバへと返す。
Apache Tomcatが有名。
★DBサーバ
永続データの管理を行う。
一般にはAPサーバからSQLでリクエストを受け取り登録更新や検索を行い結果を返す。
MySQLやOracle Databaseなどがある。
AWSでのアーキテクチャ
AWSをwebアプリを構築するアーキテクチャはいくつも考えられるそうです。
少しだけご紹介。
①EC2でAPサーバとDBサーバを構築する
EC2インスタンスにAPサーバとDBサーバをインストールする。
EC2にOSをインストールする手間が発生するが、OSレベルでのチューニングをすることができる。
オンプレと同じようなに構築や運用を行うため、AWSの恩恵を受けづらいそうです。
②EC2とRDSを利用する
EC2インスタンスにAPサーバをインストールし、DBサーバにRDSを利用する。
RDSを利用すると、DBサーバの冗長化やバックアップ構成などをRDSが行うため、運用タスクが楽になる。
但しOSにログインできないため、チューニングができない。
少しだけイメージできた。
③Elastic Beanstalkを利用する
Elastic BeanstalkはPaasに当たり、EC2、S3、ELBなどの環境を自動生成し利用する。
⇒開発のスピードをより向上させることができる。
webアプリ開発環境の構築
Eclipseのインストール
今回はAWSを利用することを目的しているため、凝りすぎると本題からそれるのでコーディングをどこまでやるかは未定だが、統合開発環境(IDE)を導入しておく。
IDEとしてはEclipseをインストールする。
①Pleiades All in One ダウンロード
Eclipseは単体でも機能するが、多くの場合はプラグインの追加を行って使用することが多いだろう。
「Pleiades All in One」はプラグイン等が既に入った状態でインストールすることができる。
以下は「Pleiades All in One」のダウンロードサイトから引用
Pleiades All in One は Windows、Mac 向けに Eclipse 本体と日本語化を行うための Pleiades プラグインおよびプログラミング言語別に便利なプラグインをまとめたパッケージです。また、Full Edition の場合は JDK のインストールや環境変数の設定が不要で Eclipse の各種設定も自動で行われるため、ダウンロードして起動すれば、すぐに日本語化された Eclipse を利用できます。既にインストール済みの Eclipse に適用したい場合や、Linux で使用する場合は、All in One ではなく Pleiades プラグイン本体のみをダウンロードしてください。
リンクは以下。
Eclipse 日本語化 | MergeDoc Project
特に理由がなければ最新版をダウンロードすればよいと思います。
なお現時点での最新版で32bit対応は終わっているみたいなので、32bitの場合は少し古いバージョンをダウンロードする必要があり以下の操作やインターフェースが少し変わるかもしれない。
私の場合は2019-06のWindows 64bitバージョンをダウンロードしました。
②Pleiades All in One インストール
C:直下に展開しようとしたところ
以下のようなエラーが表示された。
[Window Title]
圧縮 (zip 形式) フォルダー エラー[Content]
フォルダーを開くことができません。圧縮 (zip 形式) フォルダー 'C:\pleiades-2019-06-java-win-64bit-jre_20190630.zip' は無効です。
[Window Title]
圧縮 (zip 形式) フォルダー エラー[Content]
展開を完了できません。圧縮 (zip 形式) フォルダー 'C:\pleiades-2019-06-java-win-64bit-jre_20190630.zip' は無効です。
非推奨の解凍ソフトを使用していたわけではなかったが、とりあえず7-Zipで再度解凍をおこなったら成功した。
圧縮・解凍ソフト 7-Zip
③Eclipseのショートカット作成
Eclipseのexeファイルは「pleiades\clipse」直下にあります。
実際につかう際にはショートカットをつくっておいた方が便利なのでデスクトップに作成しておきます。
④workspaceの指定
初回起動時には少し時間がかかります。
ここでワークスペースを指定しますが、特に理由がなければデフォルトの設定でよいでしょう。
起動ができました。もう何をやっても自由です。
準備ができてきました!(まだ終わってない
AWS Toolkitプラグインのインストール
「AWS Toolkit」はEclipseからAWSを操作するためのプラグインのようです。
デフォルトでは入っていないのでここで入れておきます。
ヘルプ>新規ソフトウェアのインストール
インストール画面で、「https://aws.amazon.com/eclipse」を入力すると一覧がでてくるので全て選択して次へ。
AWS SDK for Androidだけインストールできないようですが、とりあえず次へ。
詳細を確認して次へ
条件に同意して完了。
インストール後、指示通りに再起動するとアイコンが追加されています。
Eclipseですぐにできるのはここまで。
AWS側での設定に移ります。
AWS Toolkitの設定
IAMアクセスユーザの作成
Eclipseにツールを導入しましたが、現状ではEclipseからAWSに接続することができないので、Eclipseで使用する用のユーザを作成します。
作成はIAMから行うので過去記事のIAMユーザ作成が参考になる???
www.wantanblog.com
ユーザ作成
とにもかくにもまずはサービスからIAMを開きます。
ユーザメニューからユーザの追加を行います。
任意のユーザ名を入力、「プログラムによるアクセス」を選択する。
コンソールは使用しないはずなのでこれでいいはず。
グループの設定
以前に作成した管理グループでもいけそうですが、一応使用サービスを制限するために新しいグループを作成します。
任意のグループ名を設定して、EC2とRDSのFullアクセス権限を付与した。
足りなそうなら後で追加すればいいし、知識が足りなくてこれ以上は絞れない。。。
【2019/08/13 追記】
訂正:×AmazonRDSDataFullAccess ⇒ 〇AmazonRDSFullAccess
このときIAMグループに付与した権限ですが、「AmazonRDSDataFullAccess」になっていました。
Eclipse用のユーザの権限には「AmazonRDSFullAccess 」を付与するようにしてください。
そうしないと今後、EclipseからRDSを参照しようと思ったときに「unable to connect」となって接続できなくなってしまうはずです。
【追記ここまで】
元の画面に戻って、今作成したグループが設定されていることを確認して次へ。
タグの設定
毎度のごとく任意のNameタグを設定。
ユーザ作成の完了
登録の内容の確認をして次へ。
ユーザが作成できたので、アクセスキーなどのcsvダウンロードだけ忘れずに完了!!
Eclipse AWS Toolkitのユーザ設定
先ほど作成したユーザをEclipseに設定しておきます。
Eclipseを開いて、ウィンドウの設定を開きます。
AWS Toolkitを選択して、アクセスキーを秘密アクセスキーに先ほどダウンロードしてきた値を入力します。
これでできるようになったはず。実際にいろいろためしてみるのは次回以降にします。
やっぱり、サービスに触れれないと少し退屈ですね。