はじめに
個人的な開発でEC2インスタンスを用いたコンテナ環境を構築する事になったのでまとめてみました
手順は少し長いですが思ってるより簡単なので是非やってみましょう
AWSのアカウントは既に持っている前提で書いていきます
EC2インスタンスの作成
AWSコンソールにアクセス
まずはAWSマネジメントコンソールにアクセスしましょう
EC2ダッシュボードにアクセス
EC2インスタンスを作成
マシンイメージの選択
マシンイメージを選択します
今回はCentOSでの構築なのでサイドバーのAWSMarketplaceを押下して
検索欄に centos と入力しイメージを選択します
今回はCentOS7系でいきます
インスタンスタイプの作成
実際に構築するインスタンスのタイプを選択します
今回はt2.microで構築します
キーペアの作成
インスタンスに接続する時に必要になる鍵を作成します
プルダウンから 新しいキーペアの作成 を押下して
お好きなキーペア名を入力します
入力したら キーペアのダウンロード からキーペアをダウンロードしてください
ダウンロードが終わったら インスタンスの作成 を押下します
インスタンスは現在作成中ですという緑のメッセージが出ていたらOKです
EC2ダッシュボードに戻りましょう
EC2ダッシュボードに戻ると作成したインスタンスのステータスチェック欄に「初期化しています」というメッセージが表示されていると思います
インスタンス名が空になっていると思うのでお好きな名前をつけてください
セキュリティグループの設定
セキュリティグループとはEC2インスタンスに適用可能なAWS標準のファイアウォール機能です
EC2インスタンスへのアクセスを許可しトラフィックを制御するファイアウォールとして動作します
作成したインスタンスのステータスチェックが「2/2のチェックに合格しました」と表示されたら左の□にチェックをいれてインスタンスを選択してください
説明タブの中にあるセキュリティグループというリンクを押下します
以下のように80番ポートを追加します
編集が終わったら保存ボタンを押下します
先程のインバウンドタブに作成した要素が追加されていたら完了です
SSHでアクセス
作成したEC2インスタンスにSSHを使ってアクセスしてみます
configファイルの作成
SSHアクセスする際に使用する configファイル
の作成方法については以前書いた記事のなかに書いてあるので参考にしてください
https://qiita.com/NishimuraRisuto/items/50b377167be4bdb4702a
エラー発生
configファイルを作成してアクセスしようとすると以下のようなエラーが発生しました
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
定番のパーミッションエラーですね
パーミッションを 600
に設定することで解決します
$ chmod 600 キーペアファイル名
これで無事にアクセス出来ると思います
CentOSの初期設定
インスタンスに無事入れたらCentOSの設定を行っていきます
パスワードの設定
まずはroot用パスワードを設定します
$ sudo su
$ passwd
パスワードを聞かれるので入力してください
これだけでは sudo
実行時にパスワードを聞かれないので vi
を使用して以下を設定します
$ sudo visudo -f /etc/sudoers.d/cloud-init
以下を vi
で記入
# centos ALL = NOPASSWD: ALL
centos ALL = (ALL) ALL
設定後再度ログインするとsudo時もパスワードを要求されるようになります
時刻設定
初期状態のままだとUTC時間が設定されていると思います
以下のコマンドで確認できます
$ date
JST時間に変更します
$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
これだけでは再起動時に設定が変わってしまうので vi
を使ってシステムに変更を記述します
$ sudo vi /etc/sysconfig/clock
以下を vi
で記入
ZONE="Asia/Tokyo"
UTC=false
言語設定
ついでにデフォルトの文字コードも設定しておきましょう
先程と同様に vi
を使ってシステムに変更を記述します
$ sudo vi /etc/sysconfig/i18n
以下を vi
で記入
# LANG=en_US.UTF-8
LANG="ja_JP.UTF-8"
SYSFONT=latarcyrheb-sun16
以上でCentOSの初期設定が完了です
Docker環境の構築
次にDockerの駆動環境を構築しましょう
yumで管理しているパッケージをアップデートする
$ yum update
$ yum upgrade
Dockerのインストール
公式の安定版 Yum リポジトリを設定します
$ yum install -y yum-utils device-mapper-persistent-data lvm2
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
DOCKER CE のインストール
Dockerには CE(コミュニティエディション) と EE(エンタープライズエディション) があります
簡単にいうと無償版と有償版ですね
以下コマンドで最新バージョンのDocker CEをインストールします
$ yum install -y docker-ce docker-ce-cli containerd.io
Dockerの起動
インストールしたDockerを起動しましょう
$ systemctl start docker
OS起動時に自動的に起動するように設定します
$ systemctl enable docker
以下コマンドを入力してバージョンが表示されたら完了です
$ docker --version
Docker Composeのインストール
Dockerだけでは物足りないのでDocker Composeも入れてしましましょう
ここから最新のバージョンを確認して以下コマンドを入力してください
$ curl -L https://github.com/docker/compose/releases/download/インストールするバージョン/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
バイナリ実行権限を付与します
$ chmod +x /usr/local/bin/docker-compose
先程と同様にバージョンを確認して完了です
$ docker-compose --version
※rootユーザーに昇格したままだと docker-compose
コマンドが実行できないので注意してください
gitのインストール
yumでインストールします
$ yum -y install git
バージョンを確認して完了です
$ git --version
yumでインストールされるのはgit1系です
今回は1系でも特に問題が無いので触れませんが2系がいい人はGoogle大先生に教えてもらいましょう
指摘事項等ありましたらコメントお願い致します