こんにちは。
エンジニアの西山です。

今回、初めてクリエイターズブログを書かせていただきます。

ところで、プログラミングを学び始めた人が最初につまずくのは
ifでもforのループでもなく開発環境の構築だと考えています。

プログラムを動かして楽しみたいと思っても
まずは動かすことが出来る環境を作らなければ始まりません。

XAMPP? Docker?
様々な選択肢があるとは思いますが
クラウドサーバーを使ってみる機会にもなると思いますし
AWS Cloud9を使った方法を紹介いたします。

私は以前、AWSに組み込まれる前のCloud9のサービスで
練習で関数の使い方等、簡単なプログラムを書いていました。

AWSに組み込まれてからは使ったことがなかったので、挑戦してみます。

プログラマもサーバーの事を知らなければいけない時代
私自身もAWSの使い方をもっと使って学んでいかなければ・・・。

AWSのアカウント作成は下記のページで詳細に説明しています。
https://aws.amazon.com/jp/register-flow/
※1年間の無料枠を使うことができます(使いすぎると費用も掛かってくるので気をつけてください)

アカウントが作成できましたら
AWS マネジメントコンソールへログインします。

早速Cloud9の開発環境作るぞ、と思いましたが
下記のページを見ると
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/setup-express.html

AWS アカウントのルートユーザーとして AWS Cloud9 を使用することは可能ですが、
これは AWS セキュリティのベストプラクティスではありません。
代わりに IAM ユーザーとして AWS Cloud9 を使用することをお勧めします。

rootは神 というのはサーバーで最初に学んだ事なので、何でもかんでもやらせたらよくないです。
神が乗っ取られたら破壊神になるし。

まずはチームとユーザーの追加を行なっていきます

AWS Cloud9 のチームセットアップ
「ステップ 2.1: コンソールで IAM グループを作成する」
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/setup.html#setup-create-iam-resources-group-console

  下記の動画も参考になります。
  https://www.youtube.com/watch?v=XMi5fXL2Hes

グループ「Cloud9Group」というのを作成しました。

その後は「ステップ 2.2: IAM ユーザーを作成して、コンソールでグループにユーザーを追加する」
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/setup.html#setup-create-iam-resources-user-console

ユーザー作成が完了したページで、下記の記載があるCSVがダウンロードできますので必ずダウンロードしてください。

  • アクセスキー ID
  • シークレットアクセスキー
  • パスワード
  • コンソールへのログインURL

ユーザー「Cloud9User」というのを作成しました。

そして「ステップ 3: グループに AWS Cloud9 アクセス権限を追加する」
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/setup.html#setup-give-user-access

権限をつけて使えるようにしたので
「ステップ 4: AWS Cloud9 コンソールへのサインイン」
https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/setup.html#setup-sign-in-ide

改めて作ったアカウントでサインインし直します。
https://console.aws.amazon.com/cloud9/

さあ、いよいよAWS Cloud9を使い始めます。

まだリージョンに東京がないので
アジアパシフィック (シンガポール)を選択しました。

f:id:seeds-std:20181211204323p:plain

「Create environment」ボタンを押して

f:id:seeds-std:20181211204355p:plain

「Name」に作業環境の名前をつけます「practice」とつけました。
「Next step」ボタンをクリック

f:id:seeds-std:20181211204415p:plain

「Environment type」は「Create a new instance for environment (EC2)」を選択

費用を抑える為、
「Instance type」は「t2.micro」
「Cost-saving setting」は「After 30 minutes」にします。

※Cloud9 が接続する新しい Amazon EC2 インスタンスを作成します
 IDE を開いたときに自動的に起動します。
 インスタンスは IDE を終了して 30 分後に停止する設定になります

「Next step」ボタンをクリックし
確認画面で「Create environment」をクリックして環境を作成

f:id:seeds-std:20181211204440p:plain

数分待てば環境が出来るので待ちます。

f:id:seeds-std:20181211204453p:plain

左側の「README.md」などのファイルが表示されているエリアを右クリックして
「New File」
index.php という名前で動作確認のファイルを作成します。

文字表示だけでなく、きちんと計算も出来ているか見る為
計算式も入れています。

f:id:seeds-std:20181211204509p:plain

グロナビ「run」をまず押してWebサーバーが動く状態にします。

f:id:seeds-std:20181211204620p:plain

その後で、グロナビ「Preview」
「Preview Running Application」をクリックして結果表示します。

文字列と計算結果が表示されていますのでOK

料金は実際に使用した分に対してのみ発生し、最低使用料金や前払費用はありません。(無料利用枠内でしたら無料)

無料枠を超えた時の使用例

t2.micro Linux インスタンス で
デフォルトの設定 (30分間の自動休止状態を設定して
1か月に 20日間、1日 4時間 IDE を実行) を使用する場合
90時間の使用となった時

月額料金 1.85 USD 約200円!

AWS Cloud9 料金
https://aws.amazon.com/jp/cloud9/pricing/

ビール1本控えて、クラウドサーバー触れって事ですね。

AWS Cloud9には環境を他の人と共有する機能もあるようで
チームや指導で使う時にも便利な機能かと思われます。

まずはプログラムもサーバーも、色々動かして触ってみるのが重要だと思うので
手を動かす事を意識して頑張ります。

打つべし。打つべし。(課金には気をつけて)

以上、西山でした。