BETA

AWS Cloud9のEC2環境をCloudFormationで構築する

投稿日:2020-02-12
最終更新:2020-02-12

EC2環境をCloudFormationで構築することも出来ます。

EC2環境の構築はマネージメントコンソール経由でも非常に簡単です。
なので、個人で使う分には、CloudFormationとマネージメントコンソール、どちらで構築しても時間の差はほとんどないでしょう。

CloudFormationのメリットは、CLIで構築できる点です。
複数環境を用意するときや、構築や破棄を短期間に繰り返す場合には、CloudFormationのメリットが活きるでしょう。

SSH環境はCloudFormationで構築出来ませんでした。
CloudFormationで作成したEC2インスタンスを使って、SSH環境を構築することは可能です。

[1] テンプレートファイルの書き方

[1-1] 最小限の構成

InstanceTypeのみを指定すれば、残りの項目はデフォルト値をセットしてくれます。
Logical IDはテンプレートファイル内で任意であれば、なんでも良いです。

{Logical ID}:  
  Type: AWS::Cloud9::EnvironmentEC2  
  Properties:  
    InstanceType: {インスタンスのタイプ}  

[1-2] 全ての項目

AWS::Cloud9::EnvironmentEC2に全項目の説明が載っていますが、項目の数は少ないです。

{Logical ID}:  
  Type: AWS::Cloud9::EnvironmentEC2  
  Properties:  
    InstanceType: {インスタンスのタイプ}  
    Name: {環境の名前}  
    Description: {環境の説明}  
    AutomaticStopTimeMinutes: {最後に使ってからシャットダウンされるまでの時間}  
    SubnetId: {インスタンスと通信するサブネットのID}  
    Repositories:  
      - RepositoryUrl: {CodeCommitリポジトリのURL}  
        PathComponent: {CodeCommitリポジトリの展開先}  

[1-3] 筆者の構成

パラメータで変更できるようにしています。

C9Environment:  
  Type: AWS::Cloud9::EnvironmentEC2  
  Properties:  
    Name: !Sub '${AWS::StackName}-Cloud9-IDE'  
    Description: !Sub '${AWS::AccountId}-${AWS::Region}-${AWS::StackName}'  
    AutomaticStopTimeMinutes: !Ref C9StopTime  
    InstanceType: !Ref C9InstanceType  
    SubnetId: !Ref Subnet  
    Repositories:  
      - RepositoryUrl: !Sub 'https://git-codecommit.${AWS::Region}.amazonaws.com/v1/repos/${RepositoryName}'  
        PathComponent: !Sub 'codecommit/${RepositoryName}'  

[2] テンプレートファイル全体の構成

最小限の構成であればわずか6行で、t3.microのEC2環境が作成できます。

AWSTemplateFormatVersion: 2010-09-09  
Resources:  
  C9Environment:  
    Type: AWS::Cloud9::EnvironmentEC2  
    Properties:  
      InstanceType: t3.micro  

参考文献

Create an AWS Cloud9 environment with AWS CloudFormation

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

役に立つことから立たないことまで日々のアウトプットを綴る

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう