の Node.js チュートリアル AWS Cloud9 - AWS Cloud9

AWS Cloud9 は、新しいお客様では利用できなくなりました。 AWS Cloud9 の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

の Node.js チュートリアル AWS Cloud9

このチュートリアルでは、 AWS Cloud9 開発環境でいくつかの Node.js スクリプトを実行できます。

このチュートリアルに従い、このサンプルを作成すると、 AWS アカウントに料金が発生する可能性があります。これらには、Amazon EC2や Amazon S3 などのサービスに対して発生する可能性のある料金が含まれます。詳細については、「Amazon EC2料金」およびAmazon S3料金」を参照してください。

前提条件

このサンプルを使用する前に、設定が次の要件を満たしていることを確認します。

  • 既存の AWS Cloud9 EC2開発環境が必要です。このサンプルは、EC2Amazon EC2 Linux または Ubuntu サーバー。別のタイプの環境またはオペレーティングシステムがある場合、このサンプルの指示を関連ツールを設定する必要がある場合があります。詳細については、「での環境の作成 AWS Cloud9」を参照してください。

  • 既存の環境の は既に開いています AWS Cloud9 IDE。環境を開くと、 はウェブブラウザでその環境IDEの AWS Cloud9 を開きます。詳細については、「AWS Cloud9 で環境を開く」を参照してください。

ステップ 1: 必要なツールをインストールする

このステップでは Node.js をインストールして設定します。このサンプルを実行するために必要なものです。

  1. のターミナルセッションで AWS Cloud9 IDE、 node --version コマンドを実行して Node.js が既にインストールされているかどうかを確認します。(新しいターミナルセッションを開始するには、メニューバーで、[Window (ウィンドウ)]、[New Termina](新しいターミナル)] の順に選択します。) 成功すると、出力に Node.js のバージョン番号が表示されます。Node.js がインストール済みである場合は、ステップ 2: コードを追加するに進んでください。

  2. (Amazon Linux の場合) yum update または (Ubuntu Server の場合) apt update コマンドを実行して、最新のセキュリティ更新プログラムおよびバグ修正がインストールされていることを確認します。

    Amazon Linux の場合:

    sudo yum -y update

    Ubuntu Server の場合:

    sudo apt update
  3. Node.js をインストールするには、このコマンドを実行して Node Version Manager (nvm) をダウンロードします。 (nvm は、Node.js バージョンのインストールと管理に役立つシンプルな Bash シェルスクリプトです。 詳細については、 GitHub ウェブサイトの「Node Version Manager」を参照してください。)

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
  4. nvm の使用を開始するには、ターミナルセッションを閉じてもう一度起動するか、nvm をロードするコマンドを含む ~/.bashrc ファイルを入手します。

    . ~/.bashrc
  5. このコマンドを実行して、Amazon Linux 2、Amazon Linux 1、および Ubuntu 18.04 に Node.js 16 をインストールします。Amazon Linux 1 インスタンスと Ubuntu 18.04 インスタンスは v16 までの Node.js のみをサポートします。

    nvm install 16

    このコマンドを実行して、Amazon Linux 2023 および Ubuntu 22.04 に最新バージョンの Node.js をインストールします。

    nvm install --lts && nvm alias default lts/*
    注記

    最新の AL2023 AWS Cloud9 image には Node.js 20 がインストールされ、最新の Amazon Linux 2 AWS Cloud9 image には Node.js 18 がインストールされています。Amazon Linux 2 に Node.js 18 AWS Cloud9 を手動でインストールする場合は、ターミナルで AWS Cloud9 IDE次のコマンドを実行します。

    C9_NODE_INSTALL_DIR=~/.nvm/versions/node/v18.17.1 C9_NODE_URL=https://d3kgj69l4ph6w4.cloudfront.net/static/node-amazon/node-v18.17.1-linux-x64.tar.gz mkdir -p $C9_NODE_INSTALL_DIR curl -fSsl $C9_NODE_URL | tar xz --strip-components=1 -C "$C9_NODE_INSTALL_DIR" nvm alias default v18.17.1 nvm use default echo -e 'nvm use default' >> ~/.bash_profile

ステップ 2: コードを追加する

で AWS Cloud9 IDE、このコンテンツを含むファイルを作成し、 という名前でファイルを保存しますhello.js。(メニューバーでファイルを作成するには、ファイルNew File (新しいファイル)を選択します。 ファイルを保存するには、ファイル保存を選択します。)

console.log('Hello, World!'); console.log('The sum of 2 and 3 is 5.'); var sum = parseInt(process.argv[2], 10) + parseInt(process.argv[3], 10); console.log('The sum of ' + process.argv[2] + ' and ' + process.argv[3] + ' is ' + sum + '.');

ステップ 3: コードを実行する

  1. AWS Cloud9 IDEで、メニューバーで、実行 設定の実行 新しい実行設定 を選択します。

  2. [New] - Id]e ([新規] - アイドル)] タブで、[Runner: Auto (ランナー: 自動)] を選択し、[Node.js] を選択します。

  3. Command (コマンド)] に「hello.js 5 9」と入力します。このコードで、5process.argv[2] を表し、9process.argv[3] を表します (process.argv[0] はランタイム (node) の名前、process.argv[1] はファイル (hello.js) の名前です)。

  4. Run (実行)] ボタンを選択して、出力を比較します。

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
でコードを実行した後の Node.js 出力 AWS Cloud9 IDE

ステップ 4: Node.js JavaScript で AWS SDKの をインストールして設定する

で Node.js スクリプトを実行する場合 AWS Cloud9、 JavaScript バージョン 3 (V3) では から、バージョン 2 (V2) JavaScript では AWS SDKから AWS SDK選択できます。V2, V3 では Amazon Web Services を簡単に操作できますが、 に TypeScript記述され、モジュール化されたパッケージなど、頻繁にリクエストされる機能が追加されています。

AWS SDK for JavaScript (V3)

このサンプルを強化して、Node.js JavaScript の for を使用して AWS SDK Amazon S3 バケットを作成し、使用可能なバケットを一覧表示し、作成したばかりのバケットを削除できます。

このステップでは、Node.js JavaScript の AWS SDK for の Amazon S3 サービスクライアントモジュールをインストールして設定します。これにより、 JavaScript コードから Amazon S3 AWS サービスとやり取りする便利な方法が提供されます。

他の AWS サービスを使用する場合は、個別にインストールする必要があります。 AWS モジュールのインストールの詳細については、AWS 「 デベロッパーガイド (V3)」の「」を参照してください。Node.js と AWS SDK for JavaScript (V3) の使用を開始する方法については、「 デベロッパーガイド (V3) の」の「Node.js の使用を開始する」を参照してください。 AWS SDK JavaScript

Node.js JavaScript に の AWS SDKをインストールしたら、 環境で認証情報管理を設定する必要があります。Node.js AWS SDK JavaScript の の では、 サービスとやり取り AWS するためにこれらの認証情報が必要です。

Node.js JavaScript に AWS SDKの をインストールするには

npm を使用して install コマンドを実行します。

npm install @aws-sdk/client-s3

詳細については、「 AWS SDK for JavaScript デベロッパーガイド」の「 SDKの のインストール JavaScript」を参照してください。

環境で認証情報管理を設定するには

Node.js JavaScript で AWS SDKの を使用して AWS サービスを呼び出すたびに、呼び出しで一連の認証情報を指定する必要があります。これらの認証情報は、Node.js JavaScript の AWS SDK の に、その呼び出しを行うための適切なアクセス許可があるかどうかを決定します。認証情報に適切なアクセス権限がない場合、呼び出しは失敗します。

このステップでは、環境内に認証情報を保存します。これを行うには、の環境 AWS のサービス からの呼び出し AWS Cloud9 の手順を実行してから、このトピックに戻ります。

詳細については、AWS SDK for JavaScript デベロッパーガイドの「Setting Credentials in Node.js (Noda.jp に認証情報を設定)」を参照してください。

AWS SDK for JavaScript (V2)

このサンプルを強化して、Node.js JavaScript の for を使用して AWS SDK Amazon S3 バケットを作成し、使用可能なバケットを一覧表示し、作成したばかりのバケットを削除できます。

このステップでは、Node.js JavaScript に AWS SDKの をインストールして設定します JavaScript。これにより、コードから Amazon S3 などの AWS サービスとやり取りする便利な方法が提供されます。Node.js JavaScript に for AWS SDK をインストールしたら、 環境で認証情報管理を設定する必要があります。Node.js AWS SDK JavaScript の の では、 サービスとやり取り AWS するためにこれらの認証情報が必要です。

Node.js JavaScript に AWS SDKの をインストールするには

npm を使用して install コマンドを実行します。

npm install aws-sdk

詳細については、「 AWS SDK for JavaScript デベロッパーガイド」の「 SDKの のインストール JavaScript」を参照してください。

環境で認証情報管理を設定するには

Node.js JavaScript で AWS SDKの を使用して AWS サービスを呼び出すたびに、呼び出しで一連の認証情報を指定する必要があります。これらの認証情報は、Node.js JavaScript の AWS SDK の に、その呼び出しを行うための適切なアクセス許可があるかどうかを決定します。認証情報に適切なアクセス権限がない場合、呼び出しは失敗します。

このステップでは、環境内に認証情報を保存します。これを行うには、の環境 AWS のサービス からの呼び出し AWS Cloud9 の手順を実行してから、このトピックに戻ります。

詳細については、AWS SDK for JavaScript デベロッパーガイドの「Setting Credentials in Node.js (Noda.jp に認証情報を設定)」を参照してください。

ステップ 5: コードを追加する AWS SDK

AWS SDK for JavaScript (V3)

このステップでは、今度は Amazon S3 を操作してバケットを作成し、利用できるバケットのリストを表示した後、作成したバケットを削除するコードをいくつか追加します。このコードは後で実行します。

で AWS Cloud9 IDE、このコンテンツを含むファイルを作成し、 という名前でファイルを保存しますs3.js

import { CreateBucketCommand, DeleteBucketCommand, ListBucketsCommand, S3Client, } from "@aws-sdk/client-s3"; const wait = async (milliseconds) => { return new Promise((resolve) => setTimeout(resolve, milliseconds)); }; export const main = async () => { const client = new S3Client({}); const now = Date.now(); const BUCKET_NAME = `easy-bucket-${now.toString()}`; const createBucketCommand = new CreateBucketCommand({ Bucket: BUCKET_NAME }); const listBucketsCommand = new ListBucketsCommand({}); const deleteBucketCommand = new DeleteBucketCommand({ Bucket: BUCKET_NAME }); try { console.log(`Creating bucket ${BUCKET_NAME}.`); await client.send(createBucketCommand); console.log(`${BUCKET_NAME} created`); await wait(2000); console.log(`Here are your buckets:`); const { Buckets } = await client.send(listBucketsCommand); Buckets.forEach((bucket) => { console.log(` • ${bucket.Name}`); }); await wait(2000); console.log(`Deleting bucket ${BUCKET_NAME}.`); await client.send(deleteBucketCommand); console.log(`${BUCKET_NAME} deleted`); } catch (err) { console.error(err); } }; main();
AWS SDK for JavaScript (V2)

このステップでは、今度は Amazon S3 を操作してバケットを作成し、利用できるバケットのリストを表示した後、作成したバケットを削除するコードをいくつか追加します。このコードは後で実行します。

で AWS Cloud9 IDE、このコンテンツを含むファイルを作成し、 という名前でファイルを保存しますs3.js

if (process.argv.length < 4) { console.log( "Usage: node s3.js <the bucket name> <the AWS Region to use>\n" + "Example: node s3.js my-test-bucket us-east-2" ); process.exit(1); } var AWS = require("aws-sdk"); // To set the AWS credentials and region. var async = require("async"); // To call AWS operations asynchronously. AWS.config.update({ region: region, }); var s3 = new AWS.S3({ apiVersion: "2006-03-01" }); var bucket_name = process.argv[2]; var region = process.argv[3]; var create_bucket_params = { Bucket: bucket_name, CreateBucketConfiguration: { LocationConstraint: region, }, }; var delete_bucket_params = { Bucket: bucket_name }; // List all of your available buckets in this AWS Region. function listMyBuckets(callback) { s3.listBuckets(function (err, data) { if (err) { } else { console.log("My buckets now are:\n"); for (var i = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } callback(err); }); } // Create a bucket in this AWS Region. function createMyBucket(callback) { console.log("\nCreating a bucket named " + bucket_name + "...\n"); s3.createBucket(create_bucket_params, function (err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Delete the bucket you just created. function deleteMyBucket(callback) { console.log("\nDeleting the bucket named " + bucket_name + "...\n"); s3.deleteBucket(delete_bucket_params, function (err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Call the AWS operations in the following order. async.series([ listMyBuckets, createMyBucket, listMyBuckets, deleteMyBucket, listMyBuckets, ]);

ステップ 6: コードを実行する AWS SDK

  1. npm を使用して install コマンドを実行すると、コードによる Amazon S3 オペレーションの非同期的に呼び出しが有効になります。

    npm install async
  2. AWS Cloud9 IDEで、メニューバーで、実行 設定の実行 新しい実行設定 を選択します。

  3. [New] - Id]e ([新規] - アイドル)] タブで、[Runner: Auto (ランナー: 自動)] を選択し、[Node.js] を選択します。

  4. ( JavaScript V3) に を使用している場合 AWS SDKは、 コマンドタイプ に を使用しますs3.js。Javascript (v2) に を使用している場合 AWS SDK、 コマンドタイプ の場合s3.js my-test-bucket us-east-2my-test-bucketは作成して削除するバケットの名前、 us-east-2はバケットを作成する AWS リージョンの ID です。詳細についてはIDs、「」の「Amazon Simple Storage Service (Amazon S3)」を参照してくださいAmazon Web Services 全般のリファレンス

    注記

    Amazon S3 バケット名は、アカウント AWS だけでなく AWS、全体で一意である必要があります。

  5. Run (実行)]ボタンを選択して、出力を比較します。

    My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

ステップ 7: クリーンアップする

このサンプルの使用が完了した後に AWS アカウントへの継続的な料金が発生するのを防ぐには、環境を削除する必要があります。手順については、AWS Cloud9 で環境を削除する を参照してください。