最近、大きな仕事が一つ終わったせいか、燃え尽き症候群になりかけているゆきとです。なんとかブログを書いたりプログラムを書いたりして燃え尽きないように日々行動を続けて自分を騙しています笑
本日はAWS EC2でWindows環境を作り、そのWindows環境にDocker環境を入れる方法を紹介したいと思います。
EC2インスタンス設定内容
下記の4点以外はデフォルトの設定のまま利用可能
- リージョン : 東京リージョン(ap-northeast-1)
- AMI : Microsoft Windows Server 2019 Base
- インスタンスタイプ : t2.large (t2.microでもいける?)
- セキュリティグループ: 3389番ポートのみを開放していればよい
* 東京リージョン選定理由 : 海外にデータセンターを起きたくないため
* インスタンスタイプt2.large選定理由 :
EC2上に仮想環境を作るときに2 vcpu 数、8 GB メモリ程度のスペックが必要になるため( https://teratail.com/questions/159118 ) => 私は先にこちらの記事を見ていたので、最初からt2.largeにしてしまいましたが、みなさんが設定される時は、t2.microで試してみてください。
EC2でDocker in WindowsOS環境作成する
それでは作成していきます。手順はふたつです。
一つずつ説明していきます。
1. AWS EC2インスタンスをWindows環境で作成
EC2インスタンス設定内容で記述した条件で、EC2を作成する。(ここはそんなに難しくないので割愛します)
*EC2インスタンスを設定するときに作成したEC2へのアクセスキーは控えておいてください。(.pem形式のファイルです)手順2で使用します。
手順2を詳しく解説します。
2. 作成したEC2インスタンスにRDP接続を行い、Docker環境を構築する
まず、EC2インスタンスへRDPする前準備として、EC2インスタンスへRDP ( RemoteDesktopProtocol ) 接続(インスタンスを選択 > ヘッダー付近にある接続)を行クリックします。
こちらの画面まで遷移した後、下記2点を行います。
①リモートデスクトップファイルのダウンロード
②パスワードの発行(EC2へのアクセスキーを使って、パスワードを発行します。このパスワードは、リモートデスクトップのログイン時に利用します)
ここまで行えば、EC2インスタンスへRDPする前準備は完了です。
次に、EC2へのRDP接続を行っていきます。
やり方はシンプルで、先程①リモートデスクトップファイルのダウンロードでダウンロードした.rdpファイルをダブルクリックして実行。
その後、何度か許可を求められたりする画面に全て許可をいれ、パスワード入力画面に移行。
そのパスワード入力画面で、先程②パスワード発行で作成したパスワードを入力して、接続すれば無事EC2にアクセスできます。
ここまでくれば、あと一息です。コマンドをぽちぽちしてDockerをインストールしていきましょう。(2021/04/06現在はこのコマンドで実行できますが、一年後同じ様にできるとは限りません)
Qiitaの記事(https://qiita.com/Targityen/items/c4ed5ed9b9227e2f573d )を参考にしつつ、設定を進めていきます。(記事の内容が古いので、適宜コマンドに変更を加えています)
1. RDP接続したEC2内で、PowerShellを起動
(右クリック => Personalize => powershellで検索 => PowerShell Developer Settings => PowerShell => Show settings)
2. Hyper-Vをインストール
3. コンテナ機能をインストール
4. ここまで設定できれば一度、再起動を行う
* EC2への接続が削除されるはずなので、再度RDP接続を行っておく
5. DockerEEをインストールするためのプロバイダをインストール
6. DockerEEのインストール
7. ここまで設定できれば一度、再起動を行う
*ここでもEC2への接続が削除されるはずなので、再度RDP接続を行っておく
以上でDockerのインストールは完了です。7. で再接続したEC2でDockerがインストールされているかをdocker --versionコマンドで確認して、無事確認できればdockerがインストールは完了です。
*もし今までの流れの中でうまくいかない部分があれば、エラー文を一つ一つgoogle先生で調べてみてください。(エラー文でググるとたいていなんとかなります)
以上、今日もブログを読んでくださり、本当にありがとうございます。
それではまた後日!