Windows EC2を簡単に日本語化する方法を探したい
最近、同僚から「Windows EC2を簡単に日本語化する方法って知ってます?」という質問が来ました。ワークショップやる上で日本語の方が参加者も分かりやすいという観点で、「Windows EC2を簡単に日本語化する方法を探す」が課題になったようでした。
自分はこの課題をCloudFormationで解決方法を探そうと思います。
Keyword
- CloudFormation
- インフラストラクチャをコードとして扱うことで、AWS およびサードパーティーのリソースをモデル化、プロビジョニング、管理することができます。
- YAML
- 構造化データやオブジェクトを文字列にシリアライズ(直列化)するためのデータ形式の一種。テキストのため可読であることは特徴です。
いきなりまとめ
- CloudFormationで日本語化したWindows Instanceをデプロイできるテンプレートを作りました!
- 方法:CloudFormationテンプレートにWindows Instanceをデプロイするとこる、Community AMIsにある既に日本語化したAMIを指定すればOKです!
Community AMIsとは
EC2サービスのAMI Catalogから入れます。
ここに置いたAMIはAWSユーザーから作ってCommunityに共有したものですです。
誰でもこのコミュニティーにAMIを共有できるので、検証しなくて使うとセキュリティリスクもありますが、今回使うのAMIはVerified Providerというタグがあって、説明もちゃんと「provided by Amazon」がありますので、安心して使えると思います。
検索バーに「Windows_Server-2022-Japanese-Full-Base-2022.11.10」を入力して、AMI IDをメモしましょう!
次はCloudFormationテンプレートの作成です!
YMALコード
テンプレート詳細:パラメータの設定
Parameters:
InstanceName:
Description: Input your instance name.
Type: String
InstanceType:
Description: Select the instance type.
AllowedValues:
- t2.micro
- m5.large
- c5n.xlarge
- c5n.2xlarge
- c5n.9xlarge
- c5n.18xlarge
- r5n.8xlarge
- r5n.16xlarge
- r5n.24xlarge
Default: t2.micro
Type: String
KeyPair:
Type: AWS::EC2::KeyPair::KeyName
SubnetId:
Type: AWS::EC2::Subnet::Id
SecurityGroupId:
Type: AWS::EC2::SecurityGroup::Id
今回のテンプレートは最初に以下のパラメーターを入力できます:
- InstanceName
- Instanceの名前を設定します。
- InstanceType
- Windows Instanceを立ち上がる時のインスタンスタイプを選択します。
- デフォルトは一番安いのt2.microです。
- KeyPair
- 現在CloudFormationを実行するリージョンに使用可能なKeyPairを選択します。
- 選択できない場合、現在のリージョンにはKeyPairを作ってないことを示します。
- KeyPairの作成手順
- SubnetId
- 現在CloudFormationを実行するリージョンに使用可能なサブネットを選択します。
- 選択できない場合、現在のリージョンにはVPCとSubnetを作ってないのを示します。
- VPCとSubnetの作成手順
- SecurityGroupId
- 現在CloudFormationを実行するリージョンに使用可能なセキュリティーグループを選択します。
- 選択できない場合、現在のリージョンにはSecurityGroupを作ってないのを示します。
- SecurityGroupの作成手順
テンプレート詳細:リソース作成
Resources:
WindowsInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: ami-0610a81d45d7c9b1a
InstanceType: !Ref InstanceType
KeyName: !Ref KeyPair
Monitoring: true
Tags:
- Key: Name
Value: !Ref InstanceName
NetworkInterfaces:
- AssociatePublicIpAddress: "true"
DeviceIndex: "0"
GroupSet:
- !Ref SecurityGroupId
SubnetId: !Ref SubnetId
この部分はデプロイするインスタンスを定義します。
- InstanceName、Instance Type、Key Pair、SubnetId、SecurityGroupIdは最初パラメーター入力のところ指定しました。
- ImageIdのところにさっきCommunity AMIsでメモしたAMI IDを設定すれば、このテンプレートを実行する時は日本語したWindows Instance(Windows_Server-2022-Japanese-Full-Base-2022.11.10)をデプロイします。
- AssociatePublicIpAddressを設定しないと、作成されたInstanceはPublic IPがついてないので、必ずTrueを設定してください。