初学者によるDocker理解まとめ④ 〜EC2インスタンスを起動してdockerをインストールするまで〜
はじめに
ようやくDockerを学び始めたので自分の理解をまとめておく。
とはいえ、今回はほぼdocker関係ないです。
前回 => https://qiita.com/theFirstPenguin/items/b6d3e414e829e68e23ae
次回 => https://qiita.com/theFirstPenguin/items/bdaf0035e7b44cd33822
やったこと
- VPCにパブリックサブネットを設置
- 上記VPCにEC2インスタンスを設置
- EC2インスタンスにdockerとdocker-composeをインストール
これだけです。
図にして(無駄にめんどくさく)表すとこんな感じ。
VPCにパブリックサブネットを設置
まずはVPCコンソールにアクセス
自分はus-east-2
リージョンをいつも選択しています。特に意味はないです。
とりあえずVPCを作成
CIDRブロックは開発シーンではしっかりと考える必要があるが、ここでは適当に10.0.0.0/24
を指定。キリがいい/16
とか/24
がおすすめ。
テナンシーは、リソースを占有するかどうかだが、個人開発で気にする必要はないと思われる。
IGWを作成してVPCにアタッチ
サブネットを作成
先ほど作ったVPCの中にサブネットを作成。
CIDRブロックは/28
に設定。これでサブネットの中に2^(32-28)−5=11
個のIPアドレスを持つことができる。
また、AZはus-east-2a
に設定。
また、サブネットのパブリックIPv4アドレスの自動割り当てを有効化しておく。
ルートテーブルを作成
作成したルートテーブルを先ほど作ったサブネットに関連づける。
IGWへのルートを設定してインターネットに接続できるようにする。
上記VPCにEC2インスタンスを設置
EC2コンソールにアクセス
インスタンスの設定
AMIは無料枠のAmazon Linux2
を選択。
インスタンスタイプも無料枠のt2.micro
を選択。
インスタンスの詳細設定では、先ほど作ったVPCとサブネットを選択する。
また、自動割り当てパブリックIPを有効化しておく。
その他のオプションは今回設定しない。
セキュリティグループを設定する。
SSHとHTTPのインバウンド通信を全て許可し、アウトバウンドは全ての通信を許可する。
EC2インスタンスにdockerとdocker-composeをインストール
ローカルPCからEC2インスタンスに接続
EC2のコンソールで対象インスタンスを選んで「接続」ボタンを押すと下記画面になる。
基本的にはこれに従うだけ。
キーペアが~/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
の意味についてこちらの記事がとても参考になりました。ありがとうございました。
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
せっかくなので、AMIを保存しておく
dockerをインストール済みの全ての設定を含むイメージをAMIとして保存することができる。
これを使えば、次回にEC2インスタンスを起動するとき、dockerをインストールする必要はない。
インスタンスの設定画面からアクションでAMIを作成できる。
最後に
やっぱりdocker関係なかったです。
ほぼEC2の基礎の記事となってしまいました。
ありがとうございました。
Author And Source
この問題について(初学者によるDocker理解まとめ④ 〜EC2インスタンスを起動してdockerをインストールするまで〜), 我々は、より多くの情報をここで見つけました https://qiita.com/theFirstPenguin/items/b5f6ed253bed95fbec5a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .