開発合宿成果発表

####【目次】
#####<font color="Blue">1 : 今回のAWSで構築する構成イメージ図</font>
#####<font color="Blue">2 : EC2(Elastic Compute Cloud)構築</font>
#####<font color="Blue">3 : ES(Elasticsearch Service)構築</font>
#####<font color="Blue">4 : EC2単体でのES環境構築</font>
#####<font color="Blue">5 : EC2とESのリンク</font>
#####<font color="Blue">6 : AWS課金</font>
#####<font color="Blue">7 : 今回の開発合宿での気付き</font>

###1 : 今回のAWSで構築する構成イメージ図
・今回はInternetGatewayは使用せず、EC2からESにVPCのURLをダイレクトに渡しています。
![構成図.png](https://qiita-image-store.s3.amazonaws.com/0/322066/6f82f518-d969-d596-65e1-eba7af067c28.png)




###1 : EC2構築（AWSの構築基本：サーバ部分的の構築手順）
__・現状のインスタンスの確認__
![EC2.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/aa4e357f-0b39-5243-31b1-eaadc17c5f41.jpeg)


__・OSの選択（もちろん無料を選択）__
![OS選択.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/02b4b6b1-0a2b-fd5c-c0ac-76c365fc92fe.jpeg)


__・サーバのリソースの選択（無料枠は１個のみ(Ｔ＿Ｔ））__
![インスタンス.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/8bc18ffa-cb46-e3af-431a-888641211de4.jpeg)


__・インスタンスの詳細を設定（ネットワークの選択のみ）__
![インスタンス詳細.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/b28e570b-7351-2f41-d1fc-f16488d7de96.jpeg)


__・ストレージの選択（無料枠の汎用SSDを選択）__
![ストレージの追加.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/5adfb314-877e-2ecf-79eb-ae0bc9aa51b3.jpeg)


__・タグの追加（でもここでは選択無し）__
![タグの追加.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/58515a4a-d20c-21a1-ec34-ef03b1e3a1ad.jpeg)


__・セキュリティグループの設定（今回は以前作成したものを選択）__
![セキュリティグループの設定2.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/69981f8c-6d10-9df6-874a-431ee34696bc.jpeg)

__・インスタンスの確認（ここまでの設定内容の確認）__
![インスタンスの確認.png](https://qiita-image-store.s3.amazonaws.com/0/322066/efb70f50-529c-fcd7-5b78-bff6ea21c11f.png)


__・ペアキーの確認（SSHのための公開鍵の設定）__
![ペアキーの確認.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/dbcb6fe4-a3dc-1d77-af29-9b2808aca899.jpeg)


__---ここまででインスタンス作成が完了---__
![作成ステータス.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/89c658ef-582e-5b4a-a77e-cbfe6b6966c9.jpeg)


__・インスタンス作成中__
![インスタンス作成中.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/e6dfba81-2b76-2381-3fa7-fce132910669.jpeg)


__・インスタンス作成完了___
![インスタンス作成完了.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/220a04a9-6d31-1715-b93f-97af8bd1ff28.jpeg)


__・作成したインスタンスの詳細設定内容__
![インスタンス完了詳細.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/54d3916f-5885-b4a7-9be9-999ae76dc26e.jpeg)


__・作成したインスタンス（サーバ）への接続方法（今回はOSをLinuxにしている為、コマンドで接続を想定）__
![インスタンスへの接続.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/3ac6ff43-3786-6069-a61b-7cfa0af673e1.jpeg)


__・インスタンスへの接続実施結果__
![SSH接続.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/0f51ff17-b3ee-9fbd-b2f6-d5c2f151c10d.jpeg)



#<font color="GREEN">これでEC2は「完成」(^_^)ﾆｺﾆｺ</font>








###2 : Elasticsearch Service構築

__・ドメインにて「Elasticsearch Service」を構築する__
![ES始め.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/f44a005c-1fa8-9801-7a20-3e5feaf8497d.jpeg)


__・ドメインの定義（名前を設定）__
__Elasticsearch ServiceはV6.3を選択__
![1-ドメインの定義.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/503a7592-0e02-a280-1c2d-886568fdfb8e.jpeg)


__・クラスタの設定（今回はクラスタ構成としないのでインスタンスは1つ）__
__　ストレージは最小構成で「EBS」を選択__
![2-1クラスターの設定.png](https://qiita-image-store.s3.amazonaws.com/0/322066/1298566f-fa61-81cb-c037-962b510c6c6e.png)


__・スナップショット（バックアップ）は<font color="RED">有料</font>のため設定時間を考えて設定が必要__
__　!!!スナップショットは1回/日に実行される!!!__

![2-5クラスタの設(UTC).jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/5b30dbf7-7079-02f4-6def-390dc588de46.jpeg)


__・「Elasticsearch Service」の規模を設定__
<font color="RED">__　注意：デフォルトでは課金対象のlargeが選択される__</font>
![2-3クラスターの設定.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/4f77ed08-4a9f-5958-346a-66b7e704d1b8.jpeg)


__・「Elasticsearch Service」を<font color="RED">無償</font>のsmallに変更__
![2-4クラスタの設定.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/b6492130-89da-9c18-e39d-6addc4edb1ba.jpeg)
![2-6クラスタの設定-small.png](https://qiita-image-store.s3.amazonaws.com/0/322066/7fc70b36-5edd-4ab6-f0e0-5c687a8b7e77.png)

__・参考：「Elasticsearch Service」のタイプ別料金表（以外に高価！！！）__
![2-7クラスタの設定（料金）.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/80c3d51c-9ced-3fa5-d283-4ea4bc53a28c.jpeg)


__・ドメインへのアクセス制御を設定（セキュリティ的に<font color="RED">とても重要</font>）__
![3-1アクセス設定.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/6d1be7e9-d57a-a18f-26f8-612834945b95.jpeg)


__・「Elasticsearch Service」設定完了__
![4-1作成中.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/f4dbf118-fee2-d12e-e30a-2fba5b842119.jpeg)


__・「Elasticsearch Service」作成中__
![4-2クラスタ作成中.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/f8633f0b-7ab7-7296-957e-35ad7662ef72.jpeg)

__・「Elasticsearch Service」作成完了__
![4-3クラスタ作成完了.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/332cbace-e058-448f-677a-8ffda8b97963.jpeg)


#<font color="GREEN">これでES環境も「完成」(^_^)ﾆｺﾆｺ</font>



###3 : EC2単体でのElasticsearch環境構築

・AWSのElasticsearchへの接続方法が分からなかった為、まずはEC2の中にElasticsearchをインストールしてして動作を検証。


__・Java、gcc、Python、Elasticsearchをインストール__
![Python-ES.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/73902139-bdbb-3425-abe7-2c72cf9865da.jpeg)


__参考：一部足りないファイル等に関してはAWSのS3を使用してファイルをEC2にアップロード__
__　意外なところで「S3」を使用しました__
![AWS-S3.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/3eb4c289-7a7d-a970-54f0-022e6e8d72e4.jpeg)


__ファイルが無事アップロード完了__
![S3-file.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/d8dae354-ba4b-13f2-b76e-9eccca472d69.jpeg)



###4 : EC2とElasticsearch Serviceのリンク

・EC2単体での検証が終わった後、AWSのES環境へのリンクを実施する必要がある。
・ここでESのVPCのURLをリンク先にしてすることが理解(^^)ﾆｺ

__・ESのVPC表示__
![ES-VPC.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/19ced2f3-b9b6-2528-105a-2531d5483f6c.jpeg)

__・EC2上のElasticsearchの設定ファイルのhttps部分をAWSのESのVPCのURLに変更__

self.es=Elasticsearch("https://vpc-maydomain-yleo38-kwmoycqkwv4qicaj6trigxwoya.ap-northeast-1.es.amazonaws.com:443")



__・変更が完了したらEC2にアクセスするとサンプルの「書籍管理システム」画面が表示__
![書籍管理システム画面.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/39bcd959-ea6e-5ab9-2674-a81f92ebc573.jpeg)

#<font color="GREEN">ミッション完了｡o@(^-^)@o｡ﾆｺｯ♪</font>



###5.使用料金（課金）

__・今回の合宿では「Elasticsearch Service」を使用したため課金が発生しました。__
__　私の方は途中までESをlargeで選択していましたが、途中でsmallで再構築をした為、この料金で済みました。__


![5料金.jpg](https://qiita-image-store.s3.amazonaws.com/0/322066/af37c169-39e7-c9b6-0aba-17de57b93a33.jpeg)


###7 : 今回の開発合宿での気付き

・今回の開発合宿ではAWS環境構築をし、後は開発メンバーに環境をアップロードをする事によって目的が達成と考えていましたが、当初考えていた構成では立ち行かなくなりインフラチーム内にて試行錯誤を繰り返して目的の達成に至りました。インフラ勉強会では知識を概念的に取り入れる部分に主観が置かれていた為、今回の開発合宿での教訓を糧に設計・構築を主体とする内容にシフトする事を考える良い機会となりました。
また、LE社内でのチームで作業を行うことによる一体感があり、今後もこのような場を活用させて頂ければ嬉しく思います。