AWS Tools for Windows PowerShell でインスタンス作成

2019年3月20日水曜日

AWS EC2 PowerShell

t f B! P L
今日はコマンドラインでのインスタンス作成をしてみます。

大きな流れは以下になります。


  1. AWS Tools for Windows PowerShell の初期設定

  2. キーペアの作成

  3. セキュリティグループの作成

  4. 作成するインスタンスのOSイメージを検索

  5. インスタンスの作成

参考:http://docs.aws.amazon.com/powershell/latest/userguide/pstools-ec2-keypairs.html

AWS Tools for Windows PowerShell の初期設定


まずは前回作成したプロファイルをデフォルトで使用されるようセットします。

その後、デフォルトで使用されるリージョンをセットします。

us-west-2はオレゴンを指します。

Initialize-AWSDefaults -ProfileName psprofile -Region us-west-2

Set-DefaultAWSRegion -Region us-west-2

キーペアの作成


次にキーペアの作成すが、1行目でキーペアを作成し、2行目でファイルとして出力します。ファイルで出力されたものをインスタンスへのログイン時に使用するので、出力したファイルパスは覚えておきましょう。

$myPSKeyPair = New-EC2KeyPair -KeyName myPSKeyPair
$myPSKeyPair.KeyMaterial | Out-File -Encoding ascii myPSKeyPair.pem

セキュリティグループの作成


セキュリティグループを作成することで接続元IPや接続先ポート番号を制限することができます。以下の例は特定のIPアドレスからリモートデスクトップでの接続だけを許可した設定です。

New-EC2SecurityGroup -GroupName myPSSecurityGroup -GroupDescription "EC2-Classic from PowerShell"

#どのIPからどのポートでの通信を許可するか決める。
$cidrBlocks = New-Object 'System.Collections.Generic.List[string]'
$cidrBlocks.add("接続元IPアドレス")
$ipPermissions = New-Object Amazon.EC2.Model.IpPermission
$ipPermissions.IpProtocol = "tcp"
$ipPermissions.FromPort = 3389
$ipPermissions.ToPort = 3389
$ipPermissions.IpRanges = $cidrBlocks
Grant-EC2SecurityGroupIngress -GroupName myPSSecurityGroup -IpPermissions $ipPermissions

作成するインスタンスのOSイメージを検索


awsではかなり多くのOSイメージが登録されていますので、その中から使用したいイメージを探す必要があります。以下の例は1行目でオーナーがamazonのものを抽出しておき、2行目でさらに抽出条件を追加して、検索する例です。

#起動するOSイメージを探す
$amilist = Get-EC2Image -Owner amazon, self
$amilist | select -first 100 | where{$_.ImageOwnerAlias -eq "amazon" -and $_.Platform -eq "Windows" -and $_.name -like "*2012*Base*"} |select Name,ImageId

今回は以下のイメージを使用することにしました。

Windows_Server-2012-RTM-Japanese-64Bit-Base-2017.04.12             ami-02c65962

あとで気づきましたが2012R2ではなく、R2なし版だったので、スタートボタンがありませんでした。

インスタンスの作成


最後に以下のコマンドでインスタンスを作成します。

-ImageIdでは先ほど検索したOSイメージのImageIdを入力し、ほかにキーペア、セキュリティグループも指定します。

New-EC2Instance -ImageId ami-02c65962 -MinCount 1 -MaxCount 1 -KeyName myPSKeyPair -SecurityGroups myPSSecurityGroup -InstanceType t2.micro

上記実行してしばらくするとインスタンスの作成は完了です。作成が完了するしたかどうかはAWSのコンソール画面で確認しました。この辺もコマンドで確認できるようにしたいです。

作成が完了した後は、リモートデスクトップでの接続も無事成功しました。



PV

PVアクセスランキング にほんブログ村

ブログ村

このブログを検索

ブログ アーカイブ

自己紹介

システムエンジニアとして12年ほど勤めたあと、社内SEに転職しました。 2017年に転職して、2019年に中古マンションを買いました。

リモートデスクトップのプロキシ越え

社内ネットワークからクラウド上のサーバにリモートデスクトップしたい Azureなどのクラウド環境にWindowsOSを立ち上げると、インターネット経由でリモートデスクトップ接続することになります。会社のネットワークからインターネットにアクセスする場合はプロキシサーバーやファイ...

QooQ