Server

Amazon EC2を使ってみる

投稿日:

はじめに

近々、開発中のサービスの本番環境をAWS上に構築します。
今回はその予行演習として、学習用のAWSアカウントを登録してEC2を使ってみました。

事前準備

アカウントの登録に関しては特に難しい箇所がないので省略します。

登録直後の状態だとルートアカウントがパスワード認証のみでセキュリティ上危険なので、アカウントの設定を行なっていきます。
設定を行う項目は下記の通りです。これらの設定は「サービス」の「IAM」で行います。

  • ルートアカウントのMFAを有効化
  • 個々のIAMユーザの作成(及びグループの作成)
  • IAMユーザのMFAを有効化
  • IAMパスワードポリシーの適用

ルートアカウントのMFAを有効化

ダッシュボードの「ルートアカウントのMFAを有効化」をクリックし、「MFA の管理」をクリックします。
「仮想 MFA デバイス」がデフォルトで選択されていると思いますので、次のステップを(2回)クリックします。
表示されたQRコードを対応アプリでスキャンします(今回はGoogle Authenticatorを使用します)
認証コード1に表示されているコードを入力します。その後、しばらく待ってコードの表示期限が過ぎたら認証コード2に新しいコードを入力します。
「仮想MFAの有効化」をクリックします。

個々のIAMユーザの作成(及びグループの作成)

IAM(Identity and Access Management)ベストプラクティスによると、ルートアカウントは極力使用せずに作業用のアカウントを作成することを推奨しています。

サイドメニューの「ユーザ」から新しいユーザを作成します。
ユーザ名を入力し、チェックボックスを両方ともチェックします。
コンソールのパスワードのカスタムパスワードを選択し、パスワードを入力します。
「パスワードのリセットが必要」のチェックボックスを外して「次のステップ」をクリックします。

「グループを作成」をクリックし、グループ名を入力後「AdministratorAccess」のチェックボックスをチェックして「グループを作成」をクリックします。
作成したグループのチェックボックスをチェックして「次のステップ」をクリックします。

ユーザを作成をクリックするとユーザが作成されます。今後はこのアカウントで作業を行います。

IAMユーザのMFAを有効化

「IAM ユーザ用のサインインリンク」を開き、作成したユーザでログインします。
サイドメニューの「ユーザ」から作成したユーザ名をクリックし、「認証情報」のタブの「MFA デバイスの割り当て」の右の鉛筆マークをクリックします。
ルートアカウントと同様にMFAを有効化します。

IAMパスワードポリシーの適用

ダッシュボードの「IAMパスワードポリシーの適用」をクリックし、「パスワードポリシーの管理」をクリックします。
任意の設定を行い「パスワードポリシーの適用」をクリックします。

EC2のインスタンスを使ってみる

アカウントの安全性が確保されたところで、早速EC2を使ってみます。

キーペアを作成する

キーペアはインスタンスに接続する際に使用する鍵です。

「サービス」から「EC2」を選び、サイドメニューの「キーペア」をクリックします。
「キーペアの作成」をクリックし、キーペア名を入力して「作成」をクリックします。
【キーペア名】.pem.txtファイルがダウンロードされると思いますので、ファイル名の.txtを削除します。

セキュリティグループを設定する

セキュリティグループはファイヤーウォールのようなものだと思うとイメージしやすいと思います。
基本的に外からの通信のポートは全て閉じられており、必要なポートのみ許可する仕組みになっています(外への通信のポートは全て空いています)

サイドメニューの「セキュリティグループ」をクリックします(この段階では一つだけ表示されると思います)
「セキュリティグループの作成」をクリックし、セキュリティグループ名を入力します。
「インバウンド」タブの「ルールの追加」をクリックし、タイプを「SSH」、ソースを「任意の場所」にします(本番環境では制限する)
「作成」をクリックします。

インスタンスを起動する

サイドメニューの「インスタンス」をクリックします。
「インスタンスの作成」をクリックし、「Amazon Linux AMI」の右の「選択」をクリックします。
「t2.micro」が選択されていると思いますので、そのまま「次の手順」をクリックします。
ステップ3とステップ4では設定を変更せずに「次の手順」をクリックします。
Nameタグを追加して「次の手順」をクリックします。
「既存のセキュリティグループを選択する」を選択して、作成したセキュリティグループを選択し、「確認と作成」をクリックします。
「作成」をクリックし、チェックボックスをクリックして「インスタンス作成」をクリックします。

EIP(Elastic IP)の設定

インスタンス作成時に付いているPublic IPアドレスはインスタンスを停止すると変わってしまうので、固定のPublic IPアドレスを取得して設定します。

サイドメニューの「Elastic IP」をクリックします。
「新しいアドレスの割り当て」をクリックし、「割り当て」をクリックします。
「アクション」の「アドレスの関連付け」をクリックし、「インスタンス」のプルダウンメニューから先ほど作成したインスタンスを選択します。
「再関連付け」のチェックボックスを選択し、「関連付け」をクリックします。

EC2のインスタンスにアクセスする

作成したインスタンスにアクセスしてみます。

作成したキーペアを使ってSSHでログインします(キーペアのパーミッションは600にしておきます)

IPアドレスは先ほどのEIPを指定します。
また、Amazon Linuxではデフォルトでec2-userというユーザがされています。

インスタンスを停止する

インスタンスの停止はサイドメニューの「インスタンス」から行えます。

停止したいインスタンスを選択した状態で「アクション」→「インスタンスの状態」→「停止」をクリックするとインスタンスを停止できます。
(稼働していないインスタンスに紐づいているEIPがあると課金の対象になるので注意が必要です)

再起動と停止&起動の違い

インスタンスを停止すると物理サーバ上からインスタンスが無くなります。
その後、起動すると別の物理サーバ上でインスタンスが起動します(再起動の場合は物理サーバが変わりません)

さいごに

今回は、AWSのアカウントを作成してEC2を使ってみました。
本番環境の構築のためには他にもRDS、VPC、ELBなどを設定する必要があるので、今後はそれらを使ってみます。

page_footer_300rect




page_footer_300rect




-Server
-

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

aws

Amazon Linux 2でLet’s Encryptが使えない

1 はじめに2 Amazon Linux 22.1 Amazon Linux Extras Library3 Let’s Encrypt4 本題5 さいごに はじめに 知人からタイトルのよ ...

CentOS6のLAMP環境でTLS1.2対応

1 はじめに2 業界団体レベルでのTLS1.2移行3 構成4 ssl.confを編集する5 ジェネレータ任せでOK6 設定変更の影響7 さいごに はじめに ものすごくひさしぶりにLAMP環境のSSL設 ...

配牌からアガれるかアガれないか予測する

1 はじめに1.1 趣旨1.2 筆者のスペック1.3 環境1.4 機能概要2 実装に関して2.1 教師データ2.2 前処理2.3 各ノードの重みの学習3 実際に使ってみた3.1 再テスト4 学習させた ...

CentOS7でwebサーバの初期設定

1 はじめに2 設定内容3 必要なパッケージをインストール3.1 まずはカーネルその他諸々アップデート3.2 dnf4 SSH設定4.1 ユーザー作成・設定4.2 ローカル側で鍵作成4.3 サーバにア ...

Python(bottle)をApacheで動かす

1 はじめに1.1 環境2 サーバーの立ち上げ3 Pythonのインストール3.1 IUS Community Project の yum リポジトリ3.2 インストール4 Apacheのインストール ...

フォロー

follow us in feedly

AppLink

英語

page_side_300rect

2017年8月
« 7月 9月 »
 12345
6789101112
13141516171819
20212223242526
2728293031 

アプリ情報

目標を達成したい方を応援する、TODOアプリもリリースしております。 下記のアイコンから無料でダウンロードできます。

Web版MyCoach

私たちはより広い方にコーチングを知ってもらいたいと考えています。 下記のサイトにて、コーチの方々を紹介しておりますので、よろしければご覧ください。