LoginSignup
1
1

More than 3 years have passed since last update.

初学者によるDocker理解まとめ④ 〜EC2インスタンスを起動してdockerをインストールするまで〜

Last updated at Posted at 2020-10-23

はじめに

ようやくDockerを学び始めたので自分の理解をまとめておく。
とはいえ、今回はほぼdocker関係ないです。

前回 => https://qiita.com/theFirstPenguin/items/b6d3e414e829e68e23ae
次回 => https://qiita.com/theFirstPenguin/items/bdaf0035e7b44cd33822

やったこと

  • VPCにパブリックサブネットを設置
  • 上記VPCにEC2インスタンスを設置
  • EC2インスタンスにdockerとdocker-composeをインストール

これだけです。
図にして(無駄にめんどくさく)表すとこんな感じ。
スクリーンショット 2020-10-23 14.01.16.png

VPCにパブリックサブネットを設置

まずはVPCコンソールにアクセス

自分はus-east-2リージョンをいつも選択しています。特に意味はないです。
スクリーンショット 2020-10-23 14.12.47.png

とりあえずVPCを作成

CIDRブロックは開発シーンではしっかりと考える必要があるが、ここでは適当に10.0.0.0/24を指定。キリがいい/16とか/24がおすすめ。
テナンシーは、リソースを占有するかどうかだが、個人開発で気にする必要はないと思われる。
スクリーンショット 2020-10-23 14.15.20.png

IGWを作成してVPCにアタッチ

作成。
スクリーンショット 2020-10-23 14.25.03.png

そして先ほど作成したVPCにアタッチ。
スクリーンショット 2020-10-23 14.27.29.png

まだこれだけ。
スクリーンショット 2020-10-23 14.38.36.png

サブネットを作成

先ほど作ったVPCの中にサブネットを作成。
CIDRブロックは/28に設定。これでサブネットの中に2^(32-28)−5=11個のIPアドレスを持つことができる。
また、AZはus-east-2aに設定。
スクリーンショット 2020-10-23 14.44.22.png

また、サブネットのパブリックIPv4アドレスの自動割り当てを有効化しておく。
スクリーンショット 2020-10-23 14.47.36.png

ここまで来た。
スクリーンショット 2020-10-23 14.50.44.png

ルートテーブルを作成

先ほど作ったVPCの中にルートテーブルを作成。
スクリーンショット 2020-10-23 14.55.12.png

作成したルートテーブルを先ほど作ったサブネットに関連づける。
スクリーンショット 2020-10-23 14.57.38.png

IGWへのルートを設定してインターネットに接続できるようにする。
スクリーンショット 2020-10-23 14.59.02.png

ちょっと進んだ。
スクリーンショット 2020-10-23 15.04.17.png

上記VPCにEC2インスタンスを設置

EC2コンソールにアクセス

スクリーンショット 2020-10-23 15.16.04.png

インスタンスの設定

AMIは無料枠のAmazon Linux2を選択。
インスタンスタイプも無料枠のt2.microを選択。

インスタンスの詳細設定では、先ほど作ったVPCとサブネットを選択する。
また、自動割り当てパブリックIPを有効化しておく。
その他のオプションは今回設定しない。
スクリーンショット 2020-10-23 15.20.55.png

ストレージはデフォルトのEBS設定でOK。
スクリーンショット 2020-10-23 15.23.28.png

タグは適当に設定
スクリーンショット 2020-10-23 15.24.10.png

セキュリティグループを設定する。
SSHとHTTPのインバウンド通信を全て許可し、アウトバウンドは全ての通信を許可する。
スクリーンショット 2020-10-23 15.32.43.png

キーペアがなければ新しく作る。
スクリーンショット 2020-10-23 15.35.53.png

ようやくここまで来た。
スクリーンショット 2020-10-23 15.37.47.png

EC2インスタンスにdockerとdocker-composeをインストール

ローカルPCからEC2インスタンスに接続

EC2のコンソールで対象インスタンスを選んで「接続」ボタンを押すと下記画面になる。
基本的にはこれに従うだけ。
スクリーンショット 2020-10-23 15.41.47.png

キーペアが~/Downloadsに保存してあるとすると、下記コマンドで接続できる。

cd ~
mv Downloads/ec2-key.pem .ssh/
cd .ssh/
chmod 400 ec2-key.pem
ssh -i "ec2-key.pem" ec2-user@<your-ec2-public-ip>

chmodの意味についてこちらの記事がとても参考になりました。ありがとうございました。

ほぼほぼゴールまで来た。(いや、スタートかも)
スクリーンショット 2020-10-23 15.50.47.png

dockerをEC2にインストール

sudo yum -y update
sudo yum install -y docker
sudo gpasswd -a $USER docker
sudo service docker start

再度ログインしなおすと、dockerが使えるようになっている。
参考

docker-composeをEC2にインストール

docker-composeもインストールする必要があるので、公式ドキュメントにしたがってインストールする。

sudo -i
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
exit

これでインストールできた。一応ゴール。
スクリーンショット 2020-10-23 16.03.47.png

せっかくなので、AMIを保存しておく

dockerをインストール済みの全ての設定を含むイメージをAMIとして保存することができる。
これを使えば、次回にEC2インスタンスを起動するとき、dockerをインストールする必要はない。
インスタンスの設定画面からアクションでAMIを作成できる。
スクリーンショット 2020-10-23 16.02.38.png

最後に

やっぱりdocker関係なかったです。
ほぼEC2の基礎の記事となってしまいました。
ありがとうございました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1