Amazon EC2 を使用するようにセットアップする
Amazon EC2 インスタンスを初めて作成するための準備を整えるには、このセクションのタスクを完了します。
完了したら、Amazon EC2 の開始方法のチュートリアルに進むことができます。
AWS アカウントへのサインアップ
AWS アカウントがない場合は、以下のステップを実行して作成します。
サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。https://aws.amazon.com/ の アカウント をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。
管理ユーザーの作成
AWS アカウント にサインアップしたら、AWS アカウントのルートユーザー をセキュリティで保護し、AWS IAM Identity Center を有効にして管理ユーザーを作成します。日常的なタスクには、管理ユーザーを使用し、ルートユーザーを使用しないようにします。
キーペアを作成する
AWS では公開キー暗号化を使用して、お客様のインスタンスのログイン情報の安全性を保護します。インスタンスを起動するときにキーペアの名前を指定し、これにより、リモートデスクトッププロトコル (RDP) を使ってログインできるように、Windows インスタンスの管理者パスワードを取得します。
キーペアをまだ作成していない場合は、Amazon EC2 コンソールを使用して作成できます。複数の AWS リージョン でインスタンスを起動する予定がある場合は、各リージョンでキーペアを作成する必要があります。リージョンの詳細については、「リージョンとゾーン」を参照してください。
キーペアを作成するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインで、[キーペア] を選択します。
-
[キーペアの作成] を選択します。
-
[Name (名前)] に、キーペアのわかりやすい名前を入力します。Amazon EC2 は、キー名として指定した名前にパブリックキーを関連付けます。キー名には、最大 255 文字の ASCII 文字を含めることができます。先頭または末尾にスペースを含めることはできません。
-
[キーペアタイプ]を使用する場合には、[RSA]または[25519]を選択します。Windows インスタンスでは、ED25519 キーはサポートされていません。
-
[Private key ファイル形式] に、プライベートキーを保存する形式を選択します。OpenSSH で使用できる形式でプライベートキーを保存するには、[pem] を選択します。プライベートキーを PuTTY で使用できる形式で保存するには、[ppk] を選択します。
-
[キーペアの作成] を選択します。
-
ブラウザによって秘密キーファイルが自動的にダウンロードされます。ベースファイル名は、キーペアの名前として指定した名前で、ファイル名拡張子は選択したファイル形式によって決まります。プライベートキーファイルを安全な場所に保存します。
プライベートキーのファイルを保存できるのは、このタイミングだけです。
詳細については、Amazon EC2 のキーペアと Amazon EC2 インスタンス を参照してください。
セキュリティグループの作成
セキュリティグループは、関連付けられたインスタンスのファイアウォールとして動作し、インバウンドトラフィックとアウトバウンドトラフィックの両方をインスタンスレベルでコントロールします。 RDP を使用して、IP アドレスからインスタンスに接続できるようにするためのルールをセキュリティグループに追加します。さらに、任意の場所からのインバウンドおよびアウトバウンドの HTTP アクセスおよび HTTPS アクセスを可能にするルールを追加できます。
複数の AWS リージョン でインスタンスを起動する予定がある場合は、各リージョンでセキュリティグループを作成する必要があります。リージョンの詳細については、「リージョンとゾーン」を参照してください。
前提条件
ローカルコンピューターのパブリック IPv4 アドレスが必要です。Amazon EC2 コンソールのセキュリティグループエディタは、パブリック IPv4 アドレスを自動的に検出できます。別の方法として、インターネットブラウザで検索文字列として私の「 IP アドレスは何ですか?」を使用するか、次のサービス: Check IP を使用することもできます。インターネットサービスプロバイダー (ISP) 経由で、またはファイアウォールの内側から静的 IP アドレスなしで接続する場合は、クライアントコンピュータで使用されている IP アドレスの範囲を見つける必要があります。
カスタムのセキュリティグループは、次のいずれかの方法で作成できます。
- Console
-
最小限の権限でセキュリティグループを作成するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
上部のナビゲーションバーで、セキュリティグループの AWS リージョン を選択します。セキュリティグループはリージョンに固有であるため、キーペアを作成したリージョンと同じリージョンを選択する必要があります。
-
左のナビゲーションペインで セキュリティグループを選択します。
-
[セキュリティグループの作成] を選択します。
-
[基本的な詳細] で、次の操作を行います。
-
新しいセキュリティグループの名前と説明を入力します。覚えやすい名前 ( ユーザー名など) を使用し、その後に _SG_ を続け、さらにリージョン名を続けます。たとえば、me_SG_uswest2 などです。
-
[VPC] リストで、リージョンのデフォルト VPC を選択します。
-
[インバウンドルール] で、インスタンスに到達する特定のトラフィックを許可するルールを作成します。例えば、HTTP および HTTPS によるトラフィックを受け入れるウェブサーバーには、次のルールを使用します。その他の例については、「さまざまなユースケースのセキュリティグループのルール」を参照してください。
-
[Add rule] を選択します。タイプ] で HTTP] を選択します。[送信元] で、任意の IPv4 アドレスからの受信 HTTP トラフィックを許可するには [Anywhere-IPv4] を選択し、任意の IPv6 アドレスからの受信 HTTP トラフィックを許可するには [Anywhere-IPv6] を選択します。
-
[Add rule] を選択します。[Type] で、[HTTPS] を選択します。[送信元] で、任意の IPv4 アドレスからの受信 HTTPS トラフィックを許可するには [Anywhere-IPv4] を選択し、任意の IPv6 アドレスからの受信 HTTPS トラフィックを許可するには [Anywhere-IPv6] を選択します。
-
[Add rule] を選択します。[タイプ] で [RDP] を選択します。[送信元] で、次のいずれかの操作を行います。
-
ローカルコンピュータのパブリック IPv4 アドレスを自動的に追加するには、[My IP] を選択します。
-
[Custom] を選択して、コンピュータまたはネットワークのパブリック IPv4 アドレスを CIDR 表記で指定します。CIDR 表記で個々の IP アドレスを指定するには、ルーティングサフィックス /32
を追加します (203.0.113.25/32
など)。会社もしくはルーターにより、特定の範囲からアドレスを割り当てられている場合、その範囲全体 (203.0.113.0/24
など) を指定します。
セキュリティ上の理由から、[RDP] のルールを使用する場合は、[送信元] で [Anywhere-IPv4] または [Anywhere-IPv6] を選択しないでください。これを設定すると、インターネット上のすべての IP アドレスから、ご使用のインスタンスへのアクセスが可能になります。この状態は、テスト環境での短時間の使用であれば許容できますが、実稼働環境においては安全ではありません。
-
[アウトバウンドルール] では、デフォルトのルールをそのまま使用し、すべてのアウトバウンドトラフィックを許可します。
-
[セキュリティグループの作成] を選択します。
- AWS CLI
-
AWS CLI を使用してセキュリティグループを作成すると、すべてのアウトバウンドトラフィックを許可するアウトバウンドルールがセキュリティグループに自動的に追加されます。インバウンドルールは自動的に追加されないため、追加する必要があります。
この手順では、create-security-group および authorize-security-group-ingress AWS CLI コマンドを組み合わせてセキュリティグループを作成し、指定されたインバウンドトラフィックを許可するインバウンドルールを追加します。次の手順の代わりに、コマンドを個別に実行して最初にセキュリティグループを作成し、そのセキュリティグループにインバウンドルールを追加する方法があります。
セキュリティグループを作成し、そのセキュリティグループにインバウンドルールを追加するには
次のように create-security-group および authorize-security-group-ingress AWS CLI コマンドを使用します。
aws ec2 authorize-security-group-ingress \
--region us-west-2
\
--group-id $(aws ec2 create-security-group \
--group-name myname_SG_uswest2
\
--description "Security group description
" \
--vpc-id vpc-12345678
\
--output text \
--region us-west-2
) \
--ip-permissions \
IpProtocol=tcp,FromPort=80,ToPort=80,IpRanges='[{CidrIp=0.0.0.0/0,Description="HTTP from anywhere
"}]' \
IpProtocol=tcp,FromPort=443,ToPort=443,IpRanges='[{CidrIp=0.0.0.0/0,Description="HTTPS from anywhere
"}]' \
IpProtocol=tcp,FromPort=3389,ToPort=3389,IpRanges='[{CidrIp=172.31.0.0/16
,Description="RDP from private network
"}]' \
IpProtocol=tcp,FromPort=3389,ToPort=3389,IpRanges='[{CidrIp=203.0.113.25/32
,Description="RDP from public IP
"}]'
内容:
-
--region
— インバウンドルールを作成するリージョンを指定します。
-
--group-id
— create-security-group
コマンドと次のパラメータを指定して、セキュリティグループを作成します。
-
--group-name
— 新しいセキュリティグループの名前を指定します。覚えやすい名前 (ユーザー名など) を使用し、その後に _SG_
を続け、さらにリージョン名を続けます。例えば、myname_SG_uswest2
と指定します。
-
--description
— セキュリティグループが許可しているトラフィックについての説明を入力します。
-
--vpc-id
— リージョンのデフォルト VPC を指定します。
-
--output
— コマンドの出力形式として text
を指定します。
-
--region
— セキュリティグループを作成するリージョンを指定します。インバウンドルールで指定したリージョンと同じである必要があります。
-
--ip-permissions
— セキュリティグループに追加するインバウンドルールを指定します。この例のルールは、どこからでも HTTP および HTTPS トラフィックを受け入れるウェブサーバー、またはプライベートネットワーク (会社またはルーターが特定の範囲からアドレスを割り当てる場合) および指定されたパブリック IP アドレス (コンピューターまたはネットワークのパブリック IPv4 アドレスの CIDR 表記など) から RDP トラフィックを受け入れるウェブサーバーを対象としています。
セキュリティ上の理由から、RDP 用のルールで CidrIp
に 0.0.0.0/0
を指定しないでください。これを設定すると、インターネット上のすべての IP アドレスから、ご使用のインスタンスへのアクセスが可能になります。この状態は、テスト環境での短時間の使用であれば許容できますが、実稼働環境においては安全ではありません。
- PowerShell
-
AWS Tools for Windows PowerShell を使用してセキュリティグループを作成すると、すべてのアウトバウンドトラフィックを許可するアウトバウンドルールがセキュリティグループに自動的に追加されます。インバウンドルールは自動的に追加されないため、追加する必要があります。
この手順では、New-EC2SecurityGroup および Grant-EC2SecurityGroupIngress AWS Tools for Windows PowerShell コマンドを組み合わせてセキュリティグループを作成し、指定されたインバウンドトラフィックを許可するインバウンドルールを追加します。次の手順の代わりに、コマンドを個別に実行して最初にセキュリティグループを作成し、そのセキュリティグループにインバウンドルールを追加する方法があります。
セキュリティグループを作成するには
New-EC2SecurityGroup および Grant-EC2SecurityGroupIngress AWS Tools for Windows PowerShell コマンドを次のように使用します。
Import-Module AWS.Tools.EC2
New-EC2SecurityGroup -GroupName myname_SG_uswest2
-Description 'Security group description
' -VpcId vpc-12345678
-Region us-west-2
| `
Grant-EC2SecurityGroupIngress `
-GroupName $_ `
-Region us-west-2
`
-IpPermission @(
(New-Object -TypeName Amazon.EC2.Model.IpPermission -Property @{
IpProtocol = 'tcp';
FromPort = 80;
ToPort = 80;
Ipv4Ranges = @(@{CidrIp = '0.0.0.0/0'; Description = 'HTTP from anywhere
'})
}),
(New-Object -TypeName Amazon.EC2.Model.IpPermission -Property @{
IpProtocol = 'tcp';
FromPort = 443;
ToPort = 443;
Ipv4Ranges = @(@{CidrIp = '0.0.0.0/0'; Description = 'HTTPS from anywhere
'})
}),
(New-Object -TypeName Amazon.EC2.Model.IpPermission -Property @{
IpProtocol = 'tcp';
FromPort = 3389;
ToPort = 3389;
Ipv4Ranges = @(
@{CidrIp = '172.31.0.0/16
'; Description = 'RDP from private network
'},
@{CidrIp = '203.0.113.25/32
'; Description = 'RDP from public IP
'}
)
})
)
セキュリティグループの場合:
-
-GroupName
— 新しいセキュリティグループの名前を指定します。覚えやすい名前 (ユーザー名など) を使用し、その後に _SG_
を続け、さらにリージョン名を続けます。例えば、myname_SG_uswest2
と指定します。
-
-Description
— セキュリティグループが許可しているトラフィックについての説明を入力します。
-
-VpcId
— リージョンのデフォルト VPC を指定します。
-
-Region
— セキュリティグループを作成するリージョンを指定します。
インバウンドルールの場合:
-
-GroupName
— 作成するセキュリティグループを参照するように $_
を指定します。
-
-Region
— インバウンドルールを作成するリージョンを指定します。セキュリティルールで指定したリージョンと同じである必要があります。
-
-IpPermission
— セキュリティグループに追加するインバウンドルールを指定します。この例のルールは、どこからでも HTTP および HTTPS トラフィックを受け入れるウェブサーバー、またはプライベートネットワーク (会社またはルーターが特定の範囲からアドレスを割り当てる場合) および指定されたパブリック IP アドレス (コンピューターまたはネットワークのパブリック IPv4 アドレスの CIDR 表記など) から RDP トラフィックを受け入れるウェブサーバーを対象としています。
セキュリティ上の理由から、RDP 用のルールで CidrIp
に 0.0.0.0/0
を指定しないでください。これを設定すると、インターネット上のすべての IP アドレスから、ご使用のインスタンスへのアクセスが可能になります。この状態は、テスト環境での短時間の使用であれば許容できますが、実稼働環境においては安全ではありません。
詳細については、「Windows インスタンス用の Amazon EC2 Amazon セキュリティグループ」を参照してください。