クラウド

ansible 2.4のAWS関連新規モジュールの紹介

遂にニンテンド〇スイッチを入手したSIOS Coati開発チームの沼野井です。SIOS Coatiの開発に深刻な影響が

 

前回まで、AnsibleによるAWS環境構築について説明しました。そこではAnsible 2.3を使用していたのですが、2017/9/19に新バージョンの2.4がリリースされました(10/25には早くも2.4.1がリリースされています)。

今回は、Ansible 2.3と2.4の、AWS関連モジュールの違いについて調べました。

以下が2.3と2.4のAWS関連モジュールの一覧です。

ansible 2.3 ansible 2.4
  aws_api_gateway – Manage AWS API Gateway APIs
  aws_direct_connect_connection – Creates, deletes, modifies a DirectConnect connection
  aws_direct_connect_link_aggregation_group – Manage Direct Connect LAG bundles.
aws_kms – Perform various KMS management tasks. aws_kms – Perform various KMS management tasks.
  aws_s3 – manage objects in S3.
  aws_s3_bucket_facts – Lists S3 buckets in AWS
  aws_waf_facts – Retrieve facts for WAF ACLs, Rule , Conditions and Filters.
cloudformation – Create or delete an AWS CloudFormation stack cloudformation – Create or delete an AWS CloudFormation stack
cloudformation_facts – Obtain facts about an AWS CloudFormation stack cloudformation_facts – Obtain facts about an AWS CloudFormation stack
cloudfront_facts – Obtain facts about an AWS CloudFront distribution cloudfront_facts – Obtain facts about an AWS CloudFront distribution
cloudtrail – manage CloudTrail creation and deletion cloudtrail – manage CloudTrail create, delete, update
cloudwatchevent_rule – Manage CloudWatch Event rules and targets cloudwatchevent_rule – Manage CloudWatch Event rules and targets
  data_pipeline – Create and manage AWS Datapipelines
dynamodb_table – Create, update or delete AWS Dynamo DB tables. dynamodb_table – Create, update or delete AWS Dynamo DB tables.
  dynamodb_ttl – set TTL for a given DynamoDB table.
ec2 – create, terminate, start or stop an instance in ec2 ec2 – create, terminate, start or stop an instance in ec2
ec2_ami – create or destroy an image in ec2 ec2_ami – create or destroy an image in ec2
ec2_ami_copy – copies AMI between AWS regions, return new image id ec2_ami_copy – copies AMI between AWS regions, return new image id
ec2_ami_find – Searches for AMIs to obtain the AMI ID and other information ec2_ami_find – Searches for AMIs to obtain the AMI ID and other information
ec2_ami_search (D) – Retrieve AWS AMI information for a given operating system. ec2_ami_search **(D)** – Retrieve AWS AMI information for a given operating system.
ec2_asg – Create or delete AWS Autoscaling Groups ec2_asg – Create or delete AWS Autoscaling Groups
ec2_asg_facts – Gather facts about ec2 Auto Scaling Groups (ASGs) in AWS ec2_asg_facts – Gather facts about ec2 Auto Scaling Groups (ASGs) in AWS
ec2_customer_gateway – Manage an AWS customer gateway ec2_customer_gateway – Manage an AWS customer gateway
ec2_eip – manages EC2 elastic IP (EIP) addresses. ec2_eip – manages EC2 elastic IP (EIP) addresses.
ec2_elb – De-registers or registers instances from EC2 ELBs ec2_elb – De-registers or registers instances from EC2 ELBs
ec2_elb_facts – Gather facts about EC2 Elastic Load Balancers in AWS ec2_elb_facts – Gather facts about EC2 Elastic Load Balancers in AWS
ec2_elb_lb – Creates or destroys Amazon ELB. ec2_elb_lb – Creates or destroys Amazon ELB.
ec2_eni – Create and optionally attach an Elastic Network Interface (ENI) to an instance ec2_eni – Create and optionally attach an Elastic Network Interface (ENI) to an instance
ec2_eni_facts – Gather facts about ec2 ENI interfaces in AWS ec2_eni_facts – Gather facts about ec2 ENI interfaces in AWS
ec2_facts – Gathers facts about remote hosts within ec2 (aws)
ec2_group – maintain an ec2 VPC security group. ec2_group – maintain an ec2 VPC security group.
ec2_group_facts – Gather facts about ec2 security groups in AWS. ec2_group_facts – Gather facts about ec2 security groups in AWS.
  ec2_instance_facts – Gather facts about ec2 instances in AWS
ec2_key – maintain an ec2 key pair. ec2_key – maintain an ec2 key pair.
ec2_lc – Create or delete AWS Autoscaling Launch Configurations ec2_lc – Create or delete AWS Autoscaling Launch Configurations
ec2_lc_facts – Gather facts about AWS Autoscaling Launch Configurations ec2_lc_facts – Gather facts about AWS Autoscaling Launch Configurations
ec2_lc_find – Find AWS Autoscaling Launch Configurations ec2_lc_find – Find AWS Autoscaling Launch Configurations
  ec2_metadata_facts – Gathers facts (instance metadata) about remote hosts within ec2
ec2_metric_alarm – Create/update or delete AWS Cloudwatch ‘metric alarms’ ec2_metric_alarm – Create/update or delete AWS Cloudwatch ‘metric alarms’
ec2_remote_facts – Gather facts about ec2 instances in AWS ec2_remote_facts **(D)** – Gather facts about ec2 instances in AWS
ec2_scaling_policy – Create or delete AWS scaling policies for Autoscaling groups ec2_scaling_policy – Create or delete AWS scaling policies for Autoscaling groups
ec2_snapshot – creates a snapshot from an existing volume ec2_snapshot – creates a snapshot from an existing volume
  ec2_snapshot_copy – copies an EC2 snapshot and returns the new Snapshot ID.
ec2_snapshot_facts – Gather facts about ec2 volume snapshots in AWS ec2_snapshot_facts – Gather facts about ec2 volume snapshots in AWS
ec2_tag – create and remove tag(s) to ec2 resources. ec2_tag – create and remove tag(s) to ec2 resources.
ec2_vol – create and attach a volume, return volume id and device map ec2_vol – create and attach a volume, return volume id and device map
ec2_vol_facts – Gather facts about ec2 volumes in AWS ec2_vol_facts – Gather facts about ec2 volumes in AWS
ec2_vpc (D) – configure AWS virtual private clouds ec2_vpc **(D)** – configure AWS virtual private clouds
ec2_vpc_dhcp_options – Manages DHCP Options, and can ensure the DHCP options for the given VPC match what’s requested ec2_vpc_dhcp_option – Manages DHCP Options, and can ensure the DHCP options for the given VPC match what’s requested
ec2_vpc_dhcp_options_facts – Gather facts about dhcp options sets in AWS ec2_vpc_dhcp_option_facts – Gather facts about dhcp options sets in AWS
  ec2_vpc_endpoint – Create and delete AWS VPC Endpoints.
  ec2_vpc_endpoint_facts – Retrieves AWS VPC endpoints details using AWS methods.
ec2_vpc_igw – Manage an AWS VPC Internet gateway ec2_vpc_igw – Manage an AWS VPC Internet gateway
ec2_vpc_igw_facts – Gather facts about internet gateways in AWS ec2_vpc_igw_facts – Gather facts about internet gateways in AWS
ec2_vpc_nacl – create and delete Network ACLs. ec2_vpc_nacl – create and delete Network ACLs.
ec2_vpc_nacl_facts – Gather facts about Network ACLs in an AWS VPC ec2_vpc_nacl_facts – Gather facts about Network ACLs in an AWS VPC
ec2_vpc_nat_gateway – Manage AWS VPC NAT Gateways. ec2_vpc_nat_gateway – Manage AWS VPC NAT Gateways.
ec2_vpc_nat_gateway_facts – Retrieves AWS VPC Managed Nat Gateway details using AWS methods. ec2_vpc_nat_gateway_facts – Retrieves AWS VPC Managed Nat Gateway details using AWS methods.
ec2_vpc_net – Configure AWS virtual private clouds ec2_vpc_net – Configure AWS virtual private clouds
ec2_vpc_net_facts – Gather facts about ec2 VPCs in AWS ec2_vpc_net_facts – Gather facts about ec2 VPCs in AWS
ec2_vpc_peer – create, delete, accept, and reject VPC peering connections between two VPCs. ec2_vpc_peer – create, delete, accept, and reject VPC peering connections between two VPCs.
  ec2_vpc_peering_facts – Retrieves AWS VPC Peering details using AWS methods.
ec2_vpc_route_table – Manage route tables for AWS virtual private clouds ec2_vpc_route_table – Manage route tables for AWS virtual private clouds
ec2_vpc_route_table_facts – Gather facts about ec2 VPC route tables in AWS ec2_vpc_route_table_facts – Gather facts about ec2 VPC route tables in AWS
ec2_vpc_subnet – Manage subnets in AWS virtual private clouds ec2_vpc_subnet – Manage subnets in AWS virtual private clouds
ec2_vpc_subnet_facts – Gather facts about ec2 VPC subnets in AWS ec2_vpc_subnet_facts – Gather facts about ec2 VPC subnets in AWS
ec2_vpc_vgw – Create and delete AWS VPN Virtual Gateways. ec2_vpc_vgw – Create and delete AWS VPN Virtual Gateways.
ec2_vpc_vgw_facts – Gather facts about virtual gateways in AWS ec2_vpc_vgw_facts – Gather facts about virtual gateways in AWS
  ec2_vpc_vpn – Create, modify, and delete EC2 VPN connections.
ec2_win_password – gets the default administrator password for ec2 windows instances ec2_win_password – gets the default administrator password for ec2 windows instances
  ecs_attribute – manage ecs attributes
ecs_cluster – create or terminate ecs clusters ecs_cluster – create or terminate ecs clusters
ecs_ecr – Manage Elastic Container Registry repositories ecs_ecr – Manage Elastic Container Registry repositories
ecs_service – create, terminate, start or stop a service in ecs ecs_service – create, terminate, start or stop a service in ecs
ecs_service_facts – list or describe services in ecs ecs_service_facts – list or describe services in ecs
ecs_task – run, start or stop a task in ecs ecs_task – run, start or stop a task in ecs
ecs_taskdefinition – register a task definition in ecs ecs_taskdefinition – register a task definition in ecs
efs – create and maintain EFS file systems efs – create and maintain EFS file systems
efs_facts – Get information about Amazon EFS file systems efs_facts – Get information about Amazon EFS file systems
elasticache – Manage cache clusters in Amazon Elasticache. elasticache – Manage cache clusters in Amazon Elasticache.
elasticache_parameter_group – Manage cache security groups in Amazon Elasticache. elasticache_parameter_group – Manage cache security groups in Amazon Elasticache.
elasticache_snapshot – Manage cache snapshots in Amazon Elasticache. elasticache_snapshot – Manage cache snapshots in Amazon Elasticache.
elasticache_subnet_group – manage Elasticache subnet groups elasticache_subnet_group – manage Elasticache subnet groups
  elb_application_lb – Manage an Application load balancer
  elb_application_lb_facts – Gather facts about application ELBs in AWS
  elb_classic_lb – Creates or destroys Amazon ELB.
  elb_classic_lb_facts – Gather facts about EC2 Elastic Load Balancers in AWS
  elb_instance – De-registers or registers instances from EC2 ELBs
  elb_target_group – Manage a target group for an Application load balancer
  elb_target_group_facts – Gather facts about ELB target groups in AWS
execute_lambda – Execute an AWS Lambda function execute_lambda – Execute an AWS Lambda function
iam – Manage IAM users, groups, roles and keys iam – Manage IAM users, groups, roles and keys
iam_cert – Manage server certificates for use on ELBs and CloudFront iam_cert – Manage server certificates for use on ELBs and CloudFront
  iam_group – Manage AWS IAM groups
  iam_managed_policy – Manage User Managed IAM policies
iam_mfa_device_facts – List the MFA (Multi-Factor Authentication) devices registered for a user iam_mfa_device_facts – List the MFA (Multi-Factor Authentication) devices registered for a user
iam_policy – Manage IAM policies for users, groups, and roles iam_policy – Manage IAM policies for users, groups, and roles
iam_role – Manage AWS IAM roles iam_role – Manage AWS IAM roles
iam_server_certificate_facts – Retrieve the facts of a server certificate iam_server_certificate_facts – Retrieve the facts of a server certificate
kinesis_stream – Manage a Kinesis Stream. kinesis_stream – Manage a Kinesis Stream.
lambda – Manage AWS Lambda functions lambda – Manage AWS Lambda functions
lambda_alias – Creates, updates or deletes AWS Lambda function aliases. lambda_alias – Creates, updates or deletes AWS Lambda function aliases.
lambda_event – Creates, updates or deletes AWS Lambda function event mappings. lambda_event – Creates, updates or deletes AWS Lambda function event mappings.
lambda_facts – Gathers AWS Lambda function details as Ansible facts lambda_facts – Gathers AWS Lambda function details as Ansible facts
  lambda_policy – Creates, updates or deletes AWS Lambda policy statements.
  lightsail – Create or delete a virtual machine instance in AWS Lightsail
rds – create, delete, or modify an Amazon rds instance rds – create, delete, or modify an Amazon rds instance
rds_param_group – manage RDS parameter groups rds_param_group – manage RDS parameter groups
rds_subnet_group – manage RDS database subnet groups rds_subnet_group – manage RDS database subnet groups
redshift – create, delete, or modify an Amazon Redshift instance redshift – create, delete, or modify an Amazon Redshift instance
  redshift_facts – Gather facts about Redshift cluster(s)
redshift_subnet_group – mange Redshift cluster subnet groups redshift_subnet_group – mange Redshift cluster subnet groups
route53 – add or delete entries in Amazons Route53 DNS service route53 – add or delete entries in Amazons Route53 DNS service
route53_facts – Retrieves route53 details using AWS methods route53_facts – Retrieves route53 details using AWS methods
route53_health_check – add or delete health-checks in Amazons Route53 DNS service route53_health_check – add or delete health-checks in Amazons Route53 DNS service
route53_zone – add or delete Route53 zones route53_zone – add or delete Route53 zones
s3 – manage objects in S3.  
s3_bucket – Manage S3 buckets in AWS, Ceph, Walrus and FakeS3 s3_bucket – Manage S3 buckets in AWS, Ceph, Walrus and FakeS3
s3_lifecycle – Manage s3 bucket lifecycle rules in AWS s3_lifecycle – Manage s3 bucket lifecycle rules in AWS
s3_logging – Manage logging facility of an s3 bucket in AWS s3_logging – Manage logging facility of an s3 bucket in AWS
s3_sync – Efficiently upload multiple files to S3 s3_sync – Efficiently upload multiple files to S3
s3_website – Configure an s3 bucket as a website s3_website – Configure an s3 bucket as a website
  sns – Send Amazon Simple Notification Service (SNS) messages
sns_topic – Manages AWS SNS topics and subscriptions sns_topic – Manages AWS SNS topics and subscriptions
sqs_queue – Creates or deletes AWS SQS queues. sqs_queue – Creates or deletes AWS SQS queues.
sts_assume_role – Assume a role using AWS Security Token Service and obtain temporary credentials sts_assume_role – Assume a role using AWS Security Token Service and obtain temporary credentials
sts_session_token – Obtain a session token from the AWS Security Token Service sts_session_token – Obtain a session token from the AWS Security Token Servicea

青字が2.4で新しくできたモジュール、赤字が2.4でなくなったモジュールです。

ec2_factsec2_metadata_factsに、s3aws_s3に名称が変更されたようです。移行する方はご注意を!

 

2.4では、API Gateway, Direct Connectなどのサービスのモジュールが新規追加されていますね。

 

あと、XXXX_factsというモジュールが増えています。前回ほんのちょっと記載したように、”facts”は情報を収集するためのモジュールです。

IDとかIPアドレスとか、既存のリソースの情報を取得したいケースは結構あるので、嬉しいですね。

 

EC2関連では, ec2_instance_factsというインスタンスの属性情報を収集するモジュールが登場していますが、これは、ec2_remote_factsの代わりです。

ec2_remote_factsは2.4でもまだ存在しますが、2.4からはDeprecated(非推奨)の扱いになりましたので、これもご注意ください。

 


 

さらに便利になったAnsibleに興味津々だけど、導入や運用にちょっと不安があるな・・という方は、ぜひ弊社テクニカルサービスをご検討ください!

 

Microsoft Tech Summit 2017 参加レポート #mstsjp17

初めまして。SIOS Coati 開発チームでProduct Ownerの任に就いている大野と申します。

普段本Blogでは、Coatiの開発エンジニアが記事を作成しておりますが、投稿は開発者に限定するというルールがあるわけでもありません。今回は私が、MicrosoftさんのTech Summit 2017 #mstsjp17@東京ウェスティンホテルに参加してきましたので、CoatiのPOの視点から、興味を引いたセッション等についてレポートしたいと思います。

※写真を撮らせていただいたものもありますが、色々な方が写っているので本記事は文字のみです。ご了承ください。

基調講演

なにはともあれ、基調講演です。「変化のとき、進化のとき ITイノベーションがもたらす価値」というタイトルでした。複数の方がご登壇されて、色々な革新的技術についてのサマリを紹介されておりました。ざっと(記憶にあるものを)挙げるとこんな感じです。

  • Microsoft 365 (M365というみたいですね)
    • Office 365 + Windows10 + Enterprise Mobility + Security
    • ホワイトボード共有とかできる
    • PowerPointのデザインとか提案してくれる
  • Azure Stack
    • 今回個人的に一番興味深かったです
    • Azureと(ほぼ)同じ機能を持ったアプライアンスサーバ
    • Public Azureと、オンプレ的に配置するAzure Stackの連携
  • SQL Server 2017
    • Windows & Linux & Docker
  • Cosmos DB + Azure Functions
    • ナビタイムがデモをやられておりました
      • Chatbot、文字や画像解析など
  • Mixed Reality
    • Hololensというヘッドマウント・ディスプレイの中で、多人数で共有できるVR(と言ってしまって良いのかな?)を実現
    • デモとして、橋を作っている工事現場と実際に繋いで、どういう形で橋がかかるのか、重機の類がどのように配置されるのかなどを視覚的に共有
    • 体験ブースもあり。私はセッションまわるのに忙しくて試せませんでしたが
  • AI
    • Chatbotや「りんな」の発展でキャラクター化
    • 自動翻訳、実際にいくつかのセッションでは、スピーカーの話(日本語)がリアルタイムに英語字幕なっていました
    • Cortana & Alexaで協力
    • Azure Machine Learning Workbench
      • 機械学習に取り込むデータ分類、整理を行うツール
  • Quantum Computing
    • 正直難しい(笑)
    • 量子コンピュータ用の言語をF#ベースで作成(名称未定)
    • Visual Studioで開発可能

特に興味深かったのは、Azure StackとMixed Reality(MR)です。Azure Stackは、SIOS Coatiを始めいくつかの製品において絡んでいけるかも知れません。MRについては、業務上の関連はほぼ無さそうですが、ユーザー視点では非常に面白そうです。大変デモ映えがします。あれはもうSFの世界ですね。

その他のセッションの感想

ひとつひとつのセッションについて感想を書いていくと、記事が膨大な長さになりそうです。今回私は、Azure Stack、コンテナ、インフラエンジニア向けセッションという内容を中心に回ってきました。それらについて包括的にレポートしたいと思います。

Azure Stack

これは、面白いですね。日本企業向けという感じがしました(完全にイメージだけの話ですけれど)。これが一体なにかと言うと、端的にはソフト+ハード+サポートのアプライアンス製品だとのことです。ソフトウェア部分に、マイクロソフトさんが提供するパブリッククラウドのAzureとほぼ同じ機能を備えたAzureが入っています。PaaSもマーケットプレイスも使えます。これを搭載するハードウェアは固定というか、Azureインストール済みのハードとして販売されます。適当なハードにインストールして使うようなことはできません。当然サポートもあります。

ユースケースとしては、「何らかの理由でパブリッククラウド上に置くことができないデータやアプリをオンプレミス環境的に取り扱いたい」、でも「クラウドの利便性も欲しい」というユーザーに最適とのことです。なるほどー、と思いましたね。日本企業のユーザーさんは、まだまだこういった会社も多いのではないでしょうか。

クラウドベンダーがどれだけのセキュリティ認証を取得していようと、またユーザーが自前でセキュリティを固めるよりもクラウドの方が遥かに強固だと解ってはいても、「このデータ外に出すべからず」の一文がどうしても破れない、という組織はまだまだ多いように思われます。そういった組織でもクラウドを導入しやすくなるでしょうね。

このAzure Stack (オンプレ) + Public Azure の構成を指して「Hybrid Cloud」と呼んでおられました。なんかこれはしっくりきますね。全然異なるアーキテクチャのものを混ぜている訳でもなく、ロケーションとしてはオンプレとクラウドで分離されている。結構いいとこ取りな構成なのではないでしょうか。

コンテナ

恥ずかしながら、私コンテナについてもあまり知識がなかったもので、今回は大変勉強になりました。いくつかのセッションでお伺いしたお話は、おそらくAzureだから特別にこうだ!というところはほぼ無かったようです。やはり、DockerにしてもWindowsは後発であり、先行するLinux上のDockerと比べて、ほぼ遜色無く使えます、という話が良く聞かれました。

Coatiは現状AWS上のAMI上で動作しており、1Coatiインスタンスは1AMIを専有しています。今後、可搬性などを考えると、Coatiをコンテナ上で動かせるようにして様々な環境で動作できるようにするというのもひとつの手かも知れませんね。(大変なのかな。大変なんだろうな(笑))

インフラ関連

インフラ関連と書いてしまうとあまりにざっくりですが、まあ「その他インフラ周りで気になったもの」と捉えていただければと思います。

ひとつ興味深かったのは、Azure上のDRとBCPの解説です。Azure上の災対サイト構築はこんなに簡単でお安くできますよという趣旨のセッションなのですが、その中で紹介されていたAzure Site Recovery (ASR)という機能がなかなか素敵です。Azure to Azure はもちろん、オンプレ to Azureにも対応するDataReplicationをサービスとして提供するもので、フェイルオーバー・フェイルバックが簡単に行えます。現在はPublic Previewとのことで、次の年末~年始くらいにはサービス開始のアナウンスがあるかも知れません。

また、「モダンなインフラ」をテーマにしたセッションでは、様々なトピックについてお話を伺いましたがその中で興味を引いた情報として、GUIが切り離されたWnidows Serverがリリースされるというものがありました。びっくりです。

ちょっとググったら情報ありました。もう入手可能みたいですね。
http://www.atmarkit.co.jp/ait/articles/1711/07/news012.html

また、個人的に本当に素晴らしいなと思ったのは、Microsoftのテクノロジーセンター長の澤さんのセッション「IT用語で語る!なぜIT屋の話は伝わらないのか~エンジニアのためのコミュニケーションスキルアップ~」です。著名な方なので、お名前は聞いたことはあったのですが、実際にプレゼンを聞いたのは今回が初めてでした。…凄いですね、プロっているんですね。感心を通り越して感動しました。ITエンジニアが非エンジニアとコミュニケーションを取る際に、注意するべきことについてまとめられた内容なのですが、その説明が極めて秀逸、会場中が笑いの渦でした。こんなセッションもあるのですね。

普段なかなか、Microsoftさんの製品、サービスについて勉強をする機会がありませんでしたので、今回の参加は非常に刺激になりました。あと、お弁当美味しかったです。ごちそうさまでした。

Windows Server 2016に対応しました

SIOS Coati開発チームの清水です。

先日のアップデートで、SIOS Coatiで監視できるOSとして Windows Server 2016 に対応しました!

すでにSIOS Coatiをご利用の方は、特別な対応をしていただく必要はございません。
これまでと同様にセットアップしていただくことで、すぐに監視をはじめることができます。

まだSIOS Coatiを使ったことのないお客様で、Windows Server 2016をご利用の方は、是非この機会に無料トライアルでお試しください。

無料トライアルは こちらの製品ページ から申し込むことができます!

ansibleによるEC2・VPC環境構築(その3)

食欲の秋に(体重的な意味で)危機感を覚える Coati開発チーム 沼野井です。
でも秋の味覚を食べないという選択肢はないですよね!

 

前回までのあらすじ

ansibleで、

 

VPCと、それに紐づく サブネットルートテーブルセキュリティグループを作ったCoatiだった・・・

 

というわけで、前回に続いて、ansibleでEC2・VPC環境を構築していこうと思います。

今回は、

  • 前回作成したSIOS VPC内に EC2インスタンスを作成
  • 前回作成したSIOS VPCとお客様VPCをPeeringで接続

します。

 

Playbookの内容

Coatiチームで使用している、環境デプロイ用のPlaybookのディレクトリ構成と、変数定義をしているall.ymlの内容をもう一回掲載します。

  • ディレクトリ構成

 

group_vars/all.yml

 

 

インスタンス作成

作成したVPC内にEC2インスタンスを作成するplaybook, setup_ec2.ymlの中身を見ていきます。

順にみていきます。

ec2_remote_factsはAWS内の(複数の)インスタンスの情報を集めるモジュールです。
IPアドレス・サブネット名など多種のFilterを設定して検索することができます。
今回は、SUBNET_IDのサブネット、EC2_PRIVATE_IPのIPアドレスのインスタンスが、環境内に既に存在しているかどうかをチェックしています。

続いて、AMIの検索です。
Coati開発チームでは、Coati Manager用のAMIをあらかじめ用意していて、タグ Role=CoatiManager をつけています。ec2_ami_findモジュールを利用して、タグをキーにしてAMIのIDを取得します。

いよいよ、インスタンスの作成です。そのものズバリな ec2モジュールを使います。
パラメータはAWS Management ConsoleでEC2インスタンスを作成する際にお馴染みな面々を指定していきます。imageには、さきほど検索したAMIのIDを指定しています。

instance_tags: で Name=名前, Role=CoatiManager、というタグ付けもしています。

最後の

は、ec2.instancesがある場合にはインスタンスの作成をしない、という条件判定です。
一番最初に ec2_remote_factモジュールで同じIPアドレスとサブネットのインスタンスを検索したときに、もし既に存在している場合には変数ec2.instancesなんらかの値が入っているはずですので、その場合にはインスタンスの作成は行わないようにしています。

 

VPCピアリング接続

VPCピアリングを行うplaybook, vpc_peering.ymlです。

 

ec2_vpc_peerモジュールを使い、接続するVPCをそれぞれ指定して、VPCピアリング接続を行います。
このplaybookを実行したあと、お客様に接続を承認していただくと、晴れて両VPCがピアリング接続されることになります。

ここまでの結果

ついに、Coati環境が完成しました!

いかがでしたでしょうか?
今後も、役に立ちそうなplaybookを紹介していく予定ですので、よろしくお願いします。

 

名古屋に続き「AWS Cloud Roadshow 2017 福岡」にも出展します!

皆様、こんにちは、SIOS Coatiのマーケティング担当をしております吉岡です。

先日ご案内しましたAWS Cloud Roadshow 2017 名古屋はブースに数多くの方にお越しいただき、大盛況のもと終わりました!

さて、ちょっと告知が遅くなってしまいましたが、

2017年10月31日(火)に、アマゾン ウェブ サービス ジャパン株式会社主催の無料クラウドカンファレンスであるAWS Cloud Roadshow 2017 福岡に出展いたします。

このイベントもここで最後となりますが、多くの方にSIOS Coatiを知っていただければと思います。

展示ブースでは、Amazon EC2上で稼働するアプリケーションを自動復旧するクラウドサービスSIOS Coatiをご紹介します。ぜひ、お立ち寄りください。

概要

AWS Cloud Roadshow 2017 福岡

日時:2017年10月27日(水) 10:00~20:00(開場:9:30)
会場:ANA クラウンプラザホテル福岡 
(〒812-0011 福岡県福岡市博多区博多駅前3丁目3−3)

本イベントの詳細、お申込みはこちらのサイトをご覧ください。