若井くんと出来先輩の検証環境

みなさん、こんにちは。前回から始めた新人若井くんと先輩社員の出来さんにより、アマゾン ウェブ サービス(以下AWS)を使ったOracle検証環境構築ですが、今回はEC2と言うサービスを利用して、仮想サーバーの構築を行って行きます。

前回まででアカウント作成は完了しているので、今回はその続きから!それでは、どうぞ!!

  • 若井 あらた (わかいあらた)
    新人エンジニアで、今回データベース課に配属となった。本物語の主人公。



  • 出来 益代 (でき ますよ)
    中堅エンジニアで、データベース課に所属する。年齢は不詳。仕事熱心で、比較的後輩の面倒見もよいお姉さまタイプ。



※ この物語はフィクションであり、登場する団体・人物などの名称はすべて架空のものです

セキュリティグループ

若井 「出来さん。アカウントできましたが、次は何をやるのでしょうか。」
出来 「そうね。じゃあ次は、仮想サーバーを作ってみましょう。AWS Management Consoleって言うAWSの管理コンソールから、EC2と言うサービスを使って、仮想サーバーを作るのよ。」
若井 「わかりました!やってみます!」

若井 「AWS Management Console?とりあえず開いてみるか。」

若井がブラウザでhttps://console.aws.amazon.com/console/homeを入力。

AWS Web Consoleの画面

若井 「おー。英語だー。」
出来 「そう、AWSの管理コンソールは基本的には英語なのよ。若井くん英語は?」
若井 「僕、あまり英語は得意な方ではありません。」
出来 「そう。英語、頑張らないといけないね。」
若井 「はい。」

若井 「ところで、AWS Management Consoleっと何ですか?」
出来 「なるほど、そう言う所が気になるのね。AWSを操作する時には、大きく分けて2つの操作方法があるの。1つはAPI(application programming interface)なんかを使って、プログラムから操作する方法。もう一つがこのAWS Management Consoleを使って、Webブラウザー上から操作する方法。サーバーを作ったり、停止させたりはもちろん。AWS上のサービスの様々な操作がこのブラウザー上からGUI(graphical user interface)で可能なのよ。運用ではプログラムから操作する方法が重要になるけど、最初の入口としては、GUIを使った操作から入ったほうが、わかりやすいと思うわ。」

出来 「じゃあ、早速、仮サーバーEC2を作ってみましょうか。でも、その前に、セキュリティグループの設定をしないとね。」
若井 「セキュリティグループ?」
出来 「そう、セキュリティグループは、通信を制御するファイアーウォールのような物なの。EC2を起動する時に、必ず、紐付けなければならないのよ。本当はVPC(vertual private cloud)とかVPNの設定とか色々設定した方がいいんだけど、今回は、若井くんが検証する為だけに作る環境だから、一旦設定は省きましょう。実際の案件では、セキュリティ面を考慮して、きっちりとネットワーク設計してね。」

若井 「うーん。分かりました。」
出来 「じゃあ、管理コンソールから、EC2を選択、左にある項目から、Security Groupsを選択して。」

AWS Web Consoleの画面

若井 「あら、defaultというSecurity Groupが既にある。」
出来 「そう。そのSecurity Groupを使っても良いけど、せっかくだから自分で作りましょう。『Create Security Group』を選択して、適当な名前と説明を入れるの。今回は名前も説明も両方共『test-sec-gr』でどうかな?」
若井 「『test-sec-gr』っと。」
出来 「できたら、『YES Create』をクリック。」

AWS Web Consoleの画面

若井 「はい。できました!!それでは、仮想サーバーを作りましょう!」
出来 「まだよ。」
若井 「え。」
出来 「このままでは、ただSecurity Groupを作っただけ。これじゃ、通信できないわよ。通信する為に、ポートを開放してやる必要があるの。AWSでは、全てのポートが閉じられている状態となっているから、必要なポートを開放する必要があるの。今回はSSHで接続するから、22番ポートを開放しましょう。」
若井 「なるほど。」
出来 「作ったSecurity Groupを選択して、下部分にある、『Inbound』タブを選択。『Create new rule』でsshを選択したら、『Apply Rule Changes』でOKよ。」

AWS Web Consoleの画面

若井 「はい。完了です。」
出来 「よし、これでようやく、仮想サーバーEC2の作成よ。」

EC2仮想サーバーの構築

若井 「次は仮想サーバーEC2の作成ですね。」
出来 「そうね。管理コンソールからEC2を選択して、『Launch Instance』をクリックするの。」
若井 「『Launch Instance』をクリックしてっと。おっ、『Step1:Choose an Amazon Machine Image(以下AMI) 』と出たな。今回は、Redhatって言ってたらか、Redhatを選べばいいですか?」

AWS Web Consoleの画面

出来 「ちょっとまって。若井くん、AMIってわかる?」
若井 「んー。。。Amazon Machine Imageという事しかわかりません。」
出来 「そうね。それは今画面に出ているものね。」
若井 「ばれましたか。」
出来 「AMIは、OSがインストールされている状態のディスクイメージのような物なの。これはコミュニティーを通じて、一般のユーザーが公開しているものなど様々なものがあるけど、今回は、Amazonが提供している、Quick Startに記述されているAMIを使いましょう。Red Hat Enterprise Linux 6.4の64bit版を選択して。」
若井 「やっぱり。このAMIを選択すればいいんですね。」
出来 「まぁ、結果的にそういう事になるわね。」
若井 「次の画面では、『Step 2:Choose an Instance Type』とでてきました!」
出来 「ここでは、起動させるEC2のインスタンスのタイプを選択するの。AWSのEC2では処理能力や、メモリの量なんかで、様々なタイプを用意しているの。例えば、『m1. large』って言うタイプだと、CPUが2vCPU、メモリが7.5GBとか、『m3.xlarge』だと、CPUが4vCPU、メモリが15GBとかいう感じで選択が自由なの。これは、あとから変更することもできるから、今回は一番小さな、『t1.micro』って言うのでまずは作成しましょう。選択できたら、『Next: Configuration Instance Details』をクリックして。」

AWS Web Consoleの画面

若井 「『Step 3: Configure Instance Details』と出てきました。」

AWS Web Consoleの画面

出来 「Step3では、ネットワークの設定や、サーバーをシャットダウンしたときの動作を指定できるの。今回はこの画面は何も設定せずに、『Next: Add Storage』を選択して、ストレージの設定に進みましょう。」

AWS Web Consoleの画面

出来 「Step4では、今回作成するEC2サーバーのディスクの設定を行うことが出来るの。これも後からディスクの追加とかは可能だから、一旦何も設定せずに、『Next:Tag Instance』を選択すれば問題ないわ。」
若井 「分かりました。」

AWS Web Consoleの画面

出来 「ここでは、作成するサーバーにKeyと呼ばれる名前をつけたり、Valueのところに簡単な説明を記述出来たりするの。わかり易いものを入力しておくと、今後、たくさんEC2を作った時に、どんな用途で作ったかとかが見ただけでわかるようになっているの。」
若井 「じゃあ、keyに『Oracletestserver』とでも入力して、valueにも同じにように『Oracletestserver』と入力しておきますね。」
若井 「次は、STEP6ですね。お!『Configure Security Group』とでました!さっき作った『Security Group』を使うんですか?」

AWS Web Consoleの画面

出来 「そう。ここで、さっき作ったSecurity Groupの『test-sec-gr』を選択するの。『Select an existing security group』を選択すると、さっき作った『test-sec-gr』が表示されるから、選択して、『Review and Launch』を選択して。」
若井 「了解です。」

AWS Web Consoleの画面

出来 「STEP7では今まで設定した事項が表示されるわ。今回は若井くんの検証の為のサーバーだから、必要最小限の部分で設定したけど、本当のプロジェクトでは、今までの項目はしっかり、お客さんと詰めて設定しなければいけないわよ。最後に『Launch』をクリックして。」
若井 「これで、ようやく、僕の検証マシンは完成ですね!『Launch』をクリックしてっと、うわ、また何か出てきました。」
出来 「そう、最後に指定する事になるのが、公開鍵と秘密鍵がペアになっている、key pairなの。」
若井 「公開鍵?秘密鍵?」
出来 「公開鍵と秘密鍵に関しては自分で後で、調べておいてね。これは宿題。話は戻るけど、この管理コンソールからインスタンスを作成して起動する時も、このkey pairを使って起動させてるの。だから、最後にはどのkey pairを使うのかを指定する必要があるのね。でも若井くんはまだ、key pairは作ってないよね。だから、ここで作ってしまいましょう。」
若井 「宿題も含めて、わかりました。」
出来 「じゃあ、『create new key pair』を選択して、『key pair name』に適当な名前を入力して。」
若井 「『key pair name』には『test_key』を入力しよう。」
出来 「入力が完了したら、『Download key pair』をクリックするの。そうすると、「.pem」って言う拡張子のファイルがダウンロード出来るから、それは大事に保存しておいてね。今後、作ったEC2にログインするような時に使うから。」
若井 「はい。わかりました。あ!『Launch Instance』が選択できるようになりました!」
出来 「そう『Launch Instance』をクリックしてすれば、ようやく、Amazon上にEC2のインスタンスと言う仮想サーバーが完成、若井くん専用の検証マシンが完成ね。」

AWS Web Consoleの画面

若井 「ようやく、これで、僕の検証生活がスタートできるわけですね。」
出来 「まだ、サーバーを立てただけだから、Oracleデータベースも何も入ってないけどね。」
若井 「そうか。。。先は長そうだな。」

こうしてようやくAWSのEC2を使った、仮想サーバーこう作成が完了しました。次回は、実際に作成したEC2の仮想サーバーに接続して、Oracleデータベースのインストール前のOSの準備を行いたいと思います。

執筆者紹介

山口 正寛(YAMAGUCHI Masahiro)

株式会社システムサポート 東京支社インフラソリューション事業部所属。

同社が得意とするOracleデータベースのエンジニアで、大規模DWHのDB管理者、DBコンサルタントなどを経験。また、同社の無料セミナーの企画にも携わる。

今回、機器がなくても気軽に環境を構築し検証したいというかた向けに AWS上でOracleデータベースを構築することをストーリー調で記載する。 尚、同社はAWSを用いたクラウド工房 powered by AWSというプロダクトがあり、産学官連携でも活用している。