手順1: Amazon マシンイメージ(AMI)
クイックスタートの中の「Amazon Linux 2 AMI(HVM),SSD Volume Type」を選択すると良いでしょう。理由としては下記です。
- AWSによってメンテナンスされているLinuxのため
- AWSの各サービスと連携するためのツールやライブラリが入っているため
手順2:インスタンスタイプの選択
学習用に使うのであれば
無料で利用可能なt2.microが良いでしょう。
手順3:インスタンスの詳細の設定
インスタンス数
起動するインスタンスの数です。基本は「1」を選びます。
購入のオプション
スポットインスタンスのリクエスト
サーバーを使わない時は自動で切れるインスタンスになり安価に利用することが可能です。常時動かしたいサーバの場合はチェックをつけません。
ネットワーク
作成したVPCを指定します。
サブネット
指定したVPC内のどのサブネットにサーバーを置くか設定できます。
自動割り当てパブリックIP
インターネット経由でアクセス可能なグローバルIPをつけるかどうか決めれます。インターネットからアクセスをさせたい場合は「有効」にします。
配置グループ
複数のEC2インスタンス間で通信を高速化するかどうかのグループです。インスタンスを一つしか作らない場合はチェックはなしで良いでしょう。
キャパシティの予約
アベイラビリティゾーンごとにリソースの上限が決まっています。それを超えるとEC2インスタンスの起動ができなくなります。事前に予約をしておくことでそうした問題の影響を受けなくなります。ただ、EC2インスタンスの実行有無にかかわらず料金は発生してしまうので注意です。
IAMロール
EC2インスタンスが他のAWSインスタンスと連携する際の権限を設定できます。
シャットダウン動作
インスタンスをシャットダウンした際の動作です。停止したままにするか削除(終了)するか選べます。
削除保護の有効化
誤って削除されることを防ぐオプションです。本番環境ではチェックすることが多いです。
モニタリング
インスタンスの監視が通常は5分間隔で行われますが、1分間隔で行うか指定できます。より厳密にチェックを行いたい場合はチェックをすると良いでしょう。
テナンシー
ハードウェアを占有するか、共有するか設定します。
Elastic Inference
機械学習でGPUを使用する際にコスト効率をよくするための物です。機械学習を使用することが目的でないのであればチェックをしなくて良いでしょう。
T2/T3 無制限
T2/T3系のインスタンスタイプで設定します。T系のインスタンスタイプはCPUクレジットと言って普段はあまりCPUを使わず負荷が集中した際にCPUを開放する「バーストモード」というモードがあります。これを設定するとバーストモードを無制限にすることができます。その分料金がかかってしまいます。
ネットワークインターフェイス
EC2サーバーにプライベートIPアドレスを設定することが可能です。サブネットのIPアドレスの範囲にあるIPの中から選ぶようにしましょう。
高度な詳細
インスタンスの起動時に実行されるスクリプトを設定できます。
ステップ4:ストレージの追加
ボリュームタイプ
ルート
OSが入っているストレージになります。ルートの場合はAMIの選択時にEBSが自動で選択されます。
追加する場合
EBSかインスタンスストアかを選択します。
デバイス
OSから見えるデバイス名を設定します。ルートの場合は最初から決まっています。
スナップショット
ストレージの中身となるスナップショットを指定します。ルートの場合は自動で設定されます。
サイズ(GiB)
ボリュームタイプ
ルートかEBSの場合に選択可能です。
種類 | 説明 |
---|---|
汎用SSD(gp2) | 価格とパフォーマンスのバランスが良い。よく使われます。 |
プロビジョンド IOPS SSD(lo1) | DB等、高いIO(デバイスへの入出力)が必要になる場合に選択します。 |
マグネティック(standard) | 低いIOでも問題ない場合に使用します。 |
IOPS
ボリュームタイプがプロビジョンド IOPSの場合に選択できます。
スループット(MB/秒)
1秒間のデータ転送速度です。
合わせて削除
インスタンスを削除した場合にEBSも削除するか指定できます。勉強等で消し忘れによる課金を防ぎたい場合はチェックしておきます。
暗号化
EBSボリュームの暗号化の設定です。
ステップ5:タグの追加
インスタンスに付与するタグを設定できます。インスタンスの名前等を設定すると良いでしょう。
ステップ6:セキュリティグループの設定
インスタンスへのセキュリティを設定できます。デフォルトのタイプは「SSH」になっていてどこからでも接続できるので危険だよと警告がでます。
キーペアの作成
インスタンスにログインするためにはキーペアを作成する必要があります。「新しいキーペアを作成」をしてダウンロードしましょう。
SSH設定
1.ダウンロードしたキーペア(秘密鍵)に対して権限を設定
EC2インスタンスを作成した際に作成したキーペア(秘密鍵)を下記コマンドでオーナー以外が使えないようにします。これをしないとAWSのEC2にはSSHログインできないようになっています。
1 |
chmod 600 キーペア名.pem |
2.作成したEC2のインスタンスのIPv4パブリックIPをコピーする。
作成したEC2インスタンスのダッシュボードに言ってIPv4バブリックIPをコピーしましょう。
3.ssh接続する。
「ec2-user」というのがサーバーにログインするためのユーザー名になります。
1 |
ssh -i キーペア名.pem ec2-user@コピーしたパブリックIPアドレス |
4.ログインする
初めてログインするサーバーであれば下記のように聞かれます。yesを入力してログインをしましょう。
1 |
Are you sure you want to continue connecting (yes/no/[fingerprint])? |
一度ログインをするとお使いのMac端末はこのサーバーのことを覚えてくれて次回以降は何も聞かれずにログインすることが可能になります。
5.ログアウトする。
下記コマンドを実行することでサーバーからログアウトすることができます。
1 |
exit |
プライベートサブネットにEC2を構築する。
流れ
パブリックサブネットにあるEC2にSSHでログイン後に、それを踏み台にしてプライベートサブネットにあるEC2にログインします。
パブリックサブネットのEC2にプライベートサブネットのEC2のキーペアを送る。
なお、ubuntuの場合は「ec2-user」ではなく、「ubuntu」になるので注意。
1 |
scp キーペア名.pem ec2-user@パブリックサブネットのEC2のパブリックIP:/配置先ディレクトリ/ |
パブリックサブネットEC2にいきます。
1 |
ssh -i キーペア名.pem ec2-user@コピーしたパブリックIPアドレス |
キーペアが配置されていることを確認します。
1 |
ls /配置先ディレクトリ/ |
プライベートサブネットのEC2に接続する。
なお、ubuntuの場合は「ec2-user」ではなく、「ubuntu」になるので注意。
1 |
ssh -i キーペア名.pem ec2-user@プライベートEC2のプライベートIPアドレス |
インターネットに接続させる。
NATゲートウェイを作成する。
サブネット
パブリックサブネットを指定します。
Elastic IP
NATゲートウェイ自体にもパブリックIPを設定する必要があります。
ルートテーブルの設定をする。
先ほど作成したNATゲートウェイをターゲットに追加します。
どのIPアドレスでインターネットに接続することになるか?
これはNATゲートウェイのIPアドレスでインターネットに接続することになります。
この記事へのコメントはありません。