AWS学習ステップを使用した構築のお勉強①

# はじめに
そういえば基本的なサーバの仕組みとか構築って知識だけあってやったことないなあと思いました。。（上の方に言うと驚かれますがマジでオンプレ触ったことないです）

そこで見つけたル〇コンさん。（Twitter[こちら]("https://twitter.com/RubiconLink" "ルビコンさんのTwitterプロフィール")）
直接お会いしたことないので名前はお伏せしますが、おそらく素晴らしいお方。
しかもなんと、AWS学習ステップ大全 AWS構成図集というのを無料で配布しているではありませんか！！
これは活用するしかない！！ということでAWS構成図集をお借りしてお勉強していきます！！

# AWS学習ステップ大全 AWS構成図集とは
こんな方にオススメだそうです。今の僕にピッタリ。
* AWSを勉強したいので、オススメの学習ステップを教えて欲しい
* AWSはEC2/RDS/ELBなど多すぎて、どれを組み合わせたらいいか分からない
* 簡単な構成から難しい構成まで、難易度別に構成図を知りたい
* HTTPSや独自ドメインなどは実装しつつ、なるべくお金がかからない構成が知りたい
* 転職応募時に「未経験なのにレベル高い」と刺さるレベルの構成を知りたい
* ポートフォリオと一緒に提出する構成図の参考例が知りたい
* 学んだスキルが現場で通用するのか＝実際の現場ではどういう構成が多いのか知りたい

# 今回は①をやるよ
構成図はAWS構成図①を参照です！！
鬼の最小構成ですね笑笑
どうせなのでApache入れてそれっぽいものを作っていきたいと思います！！
（Apacheも名前しか知らなかったので不安ですが、）

# VPCの構築
Publicサブネットだけでいいので短いですね笑笑
サブネットのCIDER設定するの忘れてましたが勝手に「10.0.0.0/20」になってました
（次サブネット作る時、第3を16→32ってしていかないといけなくなりました。ぴえん）
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/33b03429-d40c-dd8e-fdd4-fa1683050637.png)

でけた。
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/f6ab98d0-44d5-b091-f800-a3a7083c73a0.png)

# EC2の構築
僕は無料枠を使っていきますが、別にご自由で問題ないと思います。
![3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/ee26b62d-d640-eeda-05ec-d0cca40d85bd.png)

VPCは最初デフォルトが設定されているのでちゃんと選ばないと、あれ？？ってなるので注意ですね。
![4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/8b407f28-bc4f-59c7-34dd-9c10218c21f6.png)


セキュリティグループを設定しておきます。
インバウンドのソースを自分のIPにしておくことで不正アクセスを抑制できます。
（自分のIP選ぶだけで設定されるのエライ）
![5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/0efab4f5-d327-82a9-1d37-a683451f0058.png)


完成！！

# EC2に接続してみる！！
## Tera Term
れっつらごー
![7.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/cb55bd3d-4329-f462-f7ff-3ca5969509f6.png)
うそん。
![10.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/c5c5d279-b588-2b7a-580c-1a10af260b19.png)

色々調査してみたのだけど、何を試しても解決できず、、、
教えてエライヒト、、
## コマンドプロンプト
気を取り直しましょう。
```
$ssh -i {アクセスキー} ec2-user@{EC2のパブリックIpv4 DNS}
```
入れたああ
```
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
[ec2-user@ip-10-0-6-40 ~]
```

## Apacheを入れるよ
1. rootユーザに切り替え
1. Apacheのインストール
1. サービスのスタート
1. 動いているか確認
って流れですね。

```
$sudo -i
#yum -y install httpd
#service httpd start
#systemctl status httpd
```
## Apacheで動かすページの作成
メインじゃないからこれで許して笑笑
```
<html>
    <h1>bakuchiku da yo -</h1>
</html>
```
### EC2に乗せる
一旦EC2のhome/ec2-user配下に乗せてからvar/www/html配下に移動させるイメージ。
みんなそうしてた。笑笑

ここ重要。
最初に表示するファイル名はindex.htmlにすること！
僕は後で変更しなければならなくなります。
```
$scp -i {アクセスキー} -r {htmlまでの絶対パス} ec2-user@{EC2のパブリックIpv4 DNS}:/home/ec2-user/
bakuchiku.html                                                           100%   47     0.3KB/s   00:00
```

# ウェブ経由でEC2を見に行く
cpとかmvとか駆使してvar/www/html配下に移動してindex.htmlに名前を変えたら、IPアドレスを打ち込んでウェブから見に行きます。
![11.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/4a583144-1a03-f782-2fef-807bdccfd29a.png)

# ちょっとしたセキュリティ強化
サブネットのACLをいじって自分のPCからしか入れないようにしときましょう。
検証なんで、笑笑
![12.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3138153/122e4af0-03bc-0b22-fc49-600ef1da5c1d.png)

# おわり
すごい簡単なアーキテクチャやったけど、Tera Termで入れなかったり、Apacheのトップページがindex.htmlじゃないと動かなかったり、実際に構築してみないと分からないことが多かったですね。
とりあえずAWS学習ステップ大全に乗ってあるアーキテクチャは試してみようかと思うので、僕と同じような初学者の参考になればいいなあと。